Duda
¿Existe punto de entrada para agregar campos en el asiento contable de Ajuste por Inflación?
Ambiente
Cross Segmentos - TOTVS BackOffice (Línea Protheus) - MI - Contabilidad de Gestión (SIGACTB) - A partir de la versión 11
Solución
El punto de entrada CT175GRV fue habilitado con la finalidad de permitir al usuario agregar campos de la tabla CT2 en la generación del asiento contable de ajuste por inflación.
Este punto de entrada recibe dos parámetros:
- Paramixb[1] = Variable del tipo Array con los campos del encabezado del asiento contable.
- Paramixb[2] = Variable del tipo Array con los campos del ítem del asiento contable.
El punto de entrada retorna una variable del tipo array (aRetorno) con los valores de los campos del encabezado y ítems.
Por funcionalidad padrón, la rutina únicamente considera los campos:
- CT2_LINHA
- CT2_DC
- CT2_DEBITO
- CT2_CREDIT
- CT2_VALOR
- CT2_ORIGEM
- CT2_HP
- CT2_TPSALD
- CT2_HIST
Si la cuenta contable está configurada para obligar el uso de algún ente contable (centro de costo, clase valor, ítem contable), será necesario usar este punto de entrada para definir el ente contable a utilizar en este tipo de asiento contable.
Nota: El ente contable debe estar registrado previamente en el sistema.
Ejemplo de función de usuario:
#Include 'Protheus.ch'
User Function CT175GRV()
Local aRetorno := {}
Local aCab := Paramixb[1]
Local aTotItem := Paramixb[2]
Local aAreaCT1 := CT1->(GetArea())
dbSelectArea("CT1")
CT1->(dbSetOrder(1))
For nItemCTB := 1 To Len(aTotItem)
If !Empty(aTotItem[nItemCTB][3][2]) // Debito
If CT1->(msSeek(xFilial("CT1") + aTotItem[nItemCTB][3][2]))
If CT1->CT1_CCOBRG == "1" //Centro de Costo Debito
aAdd(aTotItem[nItemCTB], {"CT2_CCD", "100010010", Nil})
EndIf
If CT1->CT1_ITOBRG == "1" //Item Contable Debito
aAdd(aTotItem[nItemCTB], {"CT2_ITEMD", "ITCD", Nil})
EndIf
If CT1->CT1_CLOBRG == "1" //Clase Valor Debito
aAdd(aTotItem[nItemCTB], {"CT2_CLVLDB", "CLVLD", Nil})
EndIf
EndIf
EndIf
If !Empty(aTotItem[nItemCTB][4][2]) // Credito
If CT1->(msSeek(xFilial("CT1") + aTotItem[nItemCTB][4][2]))
If CT1->CT1_CCOBRG == "1" //Centro de Costo
aAdd(aTotItem[nItemCTB], {"CT2_CCC", "200020020", Nil})
EndIf
If CT1->CT1_ITOBRG == "1" //Item Contable Credito
aAdd(aTotItem[nItemCTB], {"CT2_ITEMC", "ITCC", Nil})
EndIf
If CT1->CT1_CLOBRG == "1" //Clase Valor Debito
aAdd(aTotItem[nItemCTB], {"CT2_CLVLCR", "CLVLC", Nil})
EndIf
EndIf
EndIf
Next nItemCTB
aAdd(aRetorno, aCab)
aAdd(aRetorno, aTotItem)
RestArea(aAreaCT1)
Return aRetorno
Para agregar un campo se debe utilizar una expresión similar a la siguiente:
aAdd(aTotItem[1], { "CT2_CCC", "200020020", Nil })
- Posición 1: Nombre del campo
- Posición 2: Valor
- Posición 3: Informar el valor NIL
Conozca más sobre la configuración para el Cálculo del Ajuste por Inflación:
0 Comentarios