Clase de uso interno de TOTVS |
Clase que permite la integración nativa del Módulo Financiero con el Totvs Automatización Fiscal (TAF).
Nombre de la clase: totvs.protheus.backoffice.fin.taf.integration. TafIntegration
Documentación del proyecto: Integración con TAF / TGI ( uso interno)
Documentación del informe generada a partir de esta clase: Informe de Verificación Financiera vs. TAF
Se requiere FINA989 con fecha igual o superior al 01/04/2024 y FINXREINF con fecha igual o superior al 15/09/2023.
Define los parámetros de la consulta a los datos del Financiero.
Parámetros:
Nombre | Tipo | Descripción | Obligatorio | Valor Estándar |
jParameters | json | json con los parámetros de la consulta, según lo siguiente. | Sí |
Estructura esperada en el parámetro json
Nombre | Tipo | Descripción | Obligatorio | Valor estándar |
branch | character | Sucursal del Protheus que se consultará (informe el código completo) | Sí | |
initialDate | date | Fecha inicial | Sí | |
finalDate | date | Fecha final | Sí | |
typeDatePayable | character | Fecha que debe tenerse en cuenta para las cuentas por pagar (1 = contabilización, 2 = emisión) | Sí | |
typeDateReceivable | character | Fecha que debe tenerse en cuenta para las cuentas por cobrar (1 = contabilización, 2 = emisión) | Sí | |
event4020 | character | REINF: Define si la consulta debe devolver el registro del bloque 40 o del bloque 20 (informe "40" o "20") | No | "40" |
pageSize | numeric | Número de registros por página | No | 100 |
Respuesta: no hay
Devuelve un json en el estándar oData con los datos de los títulos financieros según los parámetros definidos previamente.
Parámetros:
Nombre | Tipo | Descripción | Obligatorio | Valor estándar |
nPage | numeric | Página que se está consultando | No | 1 |
Respuesta:
Propiedad | Tipo | Descripción |
hasNext | logical | Indica si hay más páginas para consulta |
remainingRecords | numeric | Número de registros restantes |
items[] | JSON[] | Lista de títulos |
items[].branch | character | Sucursal del título financiero |
items[].billPrefix | character | Prefijo del título financiero |
items[].billNumber | character | Número del título financiero. Si tiene múltiples cuotas y no proviene de una factura, recibirá la cuota como un sufijo separado por un guión. Ejemplo: "123456-A" |
items[].billDate | character | Fecha de emisión o contabilización del título (según los parámetros typeDatePayable y typeDateReceivable) |
items[].billOriginType | character | Origen del documento (1 = Propio de factura, 2 = Título suelto) |
items[].participatingCode | character | Código del cliente/proveedor (igual regla del extractor) |
items[].operationType | character | Operación (0 = Por pagar; 1 = Por cobrar) |
items[].finSentTaf | character | Situación de integración con el TAF( 1 = enviado al TAF; 2 = no enviado) - FKF_Reinf |
items[].modelIdentificationCode | character | Código del modelo del documento fiscal de origen del título |
items[].documentNumber | character | Número de la factura |
items[].documentSeries | character | Serie de la factura |
items[].documentValue | numeric | Valor bruto de la factura |
items[].natureOfIncome | JSON | Naturalezas de rendimiento |
items[].natureOfIncome.code | character | Código de la naturaleza de los ingresos |
items[].natureOfIncome.grossValue | numeric | Valor bruto por naturaleza de los ingresos |
Devuelve un json en el estándar oData con los datos de las Bajas financieras de acuerdo con los parámetros definidos previamente.
Parámetros:
Nombre | Tipo | Descripción | Obligatorio | Valor estándar |
nPage | numeric | Página que se está consultando | No | 1 |
Respuesta:
Propiedad | Tipo | Descripción |
hasNext | logical | Indica si hay más páginas para consulta |
remainingRecords | numeric | Número de registros restantes |
items[] | JSON[] | Lista de bajas |
items[].branch | character | Sucursal del título financiero |
items[].billPrefix | character | Prefijo del título financiero |
items[].billNumber | character | Número del título financiero |
items[].billInstallment | character | Cuota del título financiero |
items[].paymentDate | character | Fecha de la baja |
items[].paymentSequence | character | Secuencia de la baja |
items[].finSentTaf | character | Situación de integración con TAF( 1 = enviado al TAF; 2 = no enviado) - FK2_REINF |
items[].participatingCode | character | Código del cliente/proveedor (igual regla del extractor) |
items[].operationType | character | Operación (0 = Por pagar; 1 = Por cobrar) |
items[].natureOfIncome | JSON | Naturalezas de rendimiento |
items[].natureOfIncome.code | character | Código de la naturaleza de los ingresos |
items[].natureOfIncome.grossValue | numeric | Valor bruto por naturaleza de los ingresos |
{ "items": [ { "branch": "D MG 01", "billNumber": "F989CT014", "billPrefix": "RNF", "billInstallment": "", "paymentDate": "2023-1-5", "paymentSequence": "01", "finSentTaf": "2", "participatingCode": "RNF01501F", "operationType": "0", "natureOfIncome": [{ "code": "15010", "grossValue": 10000 }] } ], "hasNext": false, "remainingRecords": 0 } |
method loadData() class MyIntegration local oFin as object local jParameters := JsonObject():new() as Json local lHasNext := .T. as logical local jResponse as json local nPage := 1 as numeric local cFili := 'D MG 01' as character local cPathBills := 'C:\TEMP\Json_TAF\json_bills'+FWUUIDV4()+'.json' as character local cPathWriteOff := 'C:\TEMP\Json_TAF\json_WriteOff'+FWUUIDV4()+'.json' as character oFin := totvs.protheus.backoffice.fin.taf.integration.TafIntegration():new() jParameters['branch'] := "D MG 01 " jParameters['initialDate'] := cToD("01/03/2024") jParameters['finalDate'] := cToD("31/03/2024") jParameters['typeDatePayable'] := "2" jParameters['typeDateReceivable'] := "2" oFin:setParameters(jParameters) nPage := 1 lHasNext := .T. while lHasNext jResponse := oFin:getBills(nPage++) if jResponse:hasProperty('hasNext') lHasNext := jResponse['hasNext'] //Tratamiento de los datos recibidos else //Tratamiento de falla endIf endDo nPage := 1 lHasNext := .T. while lHasNext jResponse := oFin:getWriteOff(nPage++) if jResponse:hasProperty('hasNext') lHasNext := jResponse['hasNext'] //Tratamiento de los datos recibidos else //Tratamiento de falla endIf endDo Return |
SE2 - Títulos por pagar
FK7 - Tabla auxiliar
FKF - Complemento del título
FKW - Impuestos vs. Naturaleza del ingreso
FKY - Impuestos vs. Naturaleza del ingreso vs. bajas