01. DATOS GENERALES

Línea de producto:

Microsiga Protheus®

Segmento:

Backoficce

Módulo:

Fiscal

02. DESCRIPCIÓN

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 

Importante

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).

03. ESPECIFICACIÓN

Parámetros del punto de entrada

Nombre

Tipo

Descripción

PARAMIXB

Array of Record

Array con los datos de procesamiento con elementos 

[1] - FT_NFISCAL

[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)

Devolución

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

Importante

Si no se hubiera informado la posición 3 de devolución, por estándar se considerará C110.

04. EJEMPLO DE UTILIZACIÓN

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.


SPDPISIC
#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


05. OTRAS INFORMACIONESS

  • No hay.

06. ASUNTOS RELACIONADOS