Línea de producto: | Microsiga Protheus® |
---|---|
Segmento: | Backoficce |
Módulo: | Fiscal |
Punto de entrada utilizado para generación del Registro A110 y/o Registro C110 de forma alternativa las reglas existentes en el parámetro MV_SPDIFC, automáticamente se generará un registro 0450 referente al código de Información complementaria utilizado y para la generación del TXT_COMPL del 0450 se considerará el contenido del campo CCE_ utilizado
Para la composición del campo 03-TXT_COMPL, tanto para el registro A110 como para el registro C110, se utiliza la configuración del parámetro MV_SPDIFC de acuerdo con lo siguiente: 0 – Utiliza el contenido del campo Texto complementario (CCE_DESCR) correspondiente (mismo texto del campo 03 del registro 0450). 1 – Utiliza el contenido del campo Desc. Compl. (CDT_DCCOMP) del registro de Informaciones complementarias (texto variable) o del campo Desc. Compl. (CDC_DCCOMP) si el campo CDT_DCCOMP no estuviera completado. 2 – Utiliza el contenido del campo completado en el encabezado de la factura (para entrada F1_MENNOTA; para salida F2_MENNOTA). |
Nombre | Tipo | Descripción |
PARAMIXB | Array of Record | Array con los datos de procesamiento con elementos [2] - FT_SERIE [3] - FT_CLIEFOR [4] - FT_LOJA [5] - FT_ENTRADA [6] - Indica si la operación es de Entrada (1) o de Salida (2) |
Nombre | Tipo | Descripción |
Array of Record | Posición 1 - Código de la información complementaria Posición 2 - Descripción de la información complementaria Posición 3 - Registro que se procesará A110 / C110 |
Si no se hubiera informado la posición 3 de devolución, por estándar se considerará C110. |
El siguiente ejemplo es para ejemplificar la cumplimentación del Registro A110 - Informaciones de complemento de las facturas de servicio y Registro C110 - Informaciones de complemento de las facturas (Modelo 01, 1B, 04 y 55).
El Punto de entrada se activará cuando existan Facturas de servicio (RPS) y Facturas (Modelo 01, 1B, 04 y 55), siendo su comportamiento y responsabilidad, determinado por las reglas de negocio definidas por el cliente.
#Include "Totvs.ch" User Function SPDPISIC() Local cDoc := PARAMIXB[1] //FT_NFISCAL Local cSerie := PARAMIXB[2] //FT_SERIE Local cFornec := PARAMIXB[3] //FT_CLIEFOR Local cLoja := PARAMIXB[4] //FT_LOJA Local dEntr := PARAMIXB[5] //FT_ENTRADA Local cEntSai := PARAMIXB[6] //Entrada (1) /Salida (2) Local cChave := "" Local nX := 0 Local aRetorno := {} // Devolución del Punto de entrada Local aAreaSFT := SFT->(GetArea()) SFT->(dbSetOrder(2)) If cEntSai == "1" //1 = Entrada cChave := xFilial("SFT")+"E"+DTOS(dEntr)+cSerie+cDoc+cFornec+cLoja Else cChave := xFilial("SFT")+"S"+DTOS(dEntr)+cSerie+cDoc+cFornec+cLoja Endif If SFT->(DbSeek(cChave)) For nX := 1 To 2 If nX == 1 If IsInCallStack("SPEDFISCAL") // Para el SPED Fiscal solamente devuelve 2 posiciones en el array: aAdd(aRetorno,{ "000001",; //02 - COD_INF "INFORMACIONES COMPLEMENTARIAS - PE - Docto Fiscal " + SFT->FT_NFISCAL }) //03 - TXT_COMPL Else //EFD Aportes, devuelve con 3 posiciones aAdd(aRetorno,{ "00A110",; //02 - COD_INF "INFORMACIONES COMPLEMENTARIAS - PE - Docto Fiscal " + SFT->FT_NFISCAL ,; //03 - TXT_COMPL "A110"}) // Registro que se procesará Endif Elseif nX == 2 If IsInCallStack("SPEDFISCAL") // Para el SPED Fiscal solamente devuelve 2 posiciones en el array: aAdd(aRetorno,{ "000001",; //02 - COD_INF "INFORMACIONES COMPLEMENTARIAS - PE - Docto Fiscal " + SFT->FT_NFISCAL }) //03 - TXT_COMPL Else //EFD Aportes, devuelve con 3 posiciones aAdd(aRetorno,{ "00C110",; //02 - COD_INF "INFORMACIONES COMPLEMENTARIAS - PE - Docto Fiscal " + SFT->FT_NFISCAL ,; //03 - TXT_COMPL "C110"}) // Registro que se procesará Endif Endif Next nX Endif RestArea(aAreaSFT) Return aRetorno |