Árvore de páginas

01. DADOS GERAIS

Linha de Produto:Microsiga Protheus®
Segmento:Serviços
Módulo:Fiscal

02. DESCRIÇÃO

Ponto de entrada para alteração do ponto de entrada SPDPISTR, para possibilitar a geração dos registros

  • D350 - Resumo Diário de Cupom Fiscal Emitido por ECF (Códigos 2E, 13,14, 15 e 16)
  • D359 - Processo Referenciado
  • 1010 - Processo Referenciado – Ação Judicial 
  • 1020 - Processo Referenciado – Processo Administrativo 

O mecanismo deste ponto de entrada é parecido com o SPDPIS09 utilizado no SPED PIS COFINS, retornando as informações a ser geradas em arrays.

03. ESPECIFICAÇÃO

Parâmetros do ponto de entrada:

Parâmetro

Descrição

Tipo

Descrição

PARAMIXB[1]cFilialCaractercAlias = Alias
PARAMIXB[2]dDataDeDataData inicio do processamento
PARAMIXB[3]dDataAteDataData final do processamento


Retorno:

NomeTipoDescriçãoEscopoPode Alterar
aRegD350Array of Record

O retorno deve retornar valor Nulo.

GlobalNão
aRegD359Array of Record

O retorno deve retornar valor Nulo.

GlobalNão
aReg1010Array of Record

O retorno deve retornar valor Nulo.

GlobalNão
aReg1020Array of Record

O retorno deve retornar valor Nulo.

GlobalNão



04. EXEMPLO DE UTILIZAÇÃO

SPEDREGD
#include "rwmake.ch"
#include "Topconn.ch"
#include "protheus.ch"

User Function SPDPisTr()		
Local cFilial	:= ParamIXB[1]                                           	
Local dDataDe	:= ParamIXB[2]	
Local dDataAte	:= ParamIXB[3]	
Local aRegD350 	:= {}    	
Local nPosD350  :=  0
Local aRegD359	:= {} 	
Local nPosD359  :=  0
Local aConta	:= {} 	
Local aReg1010	:= {}
Local nPos1010  :=  0 
Local aReg1020 	:= {}	
Local nPos1020  :=  0  
Local l400 		:= .F. 


// Preenchimento do Registro D350 - Resumo Diário de Cupom Fiscal Emitido Por ECF - (Código: 2E, 13, 14, 15 e 16)
nPosD350 :=	1
aAdd(aRegD350, {})	
nPos :=	Len(aRegD350)	
aAdd (aRegD350[nPosD350], "D350"					)	 	//01 - REG	
aAdd (aRegD350[nPosD350], "2E"						)	 	//02 - COD_MOD	
aAdd (aRegD350[nPosD350], "BM MP20"					)	 	//03 - ECF_MOD	
aAdd (aRegD350[nPosD350], "BE050975610005005601"	)	 	//04 - ECF_FAB	
aAdd (aRegD350[nPosD350], dDataBase					)	 	//05 - DT_DOC	
aAdd (aRegD350[nPosD350], "010"						)	 	//06 - CRO	
aAdd (aRegD350[nPosD350], "000056" 					)	 	//07 - CRZ	
aAdd (aRegD350[nPosD350], "000999"					)	 	//08 - NUM_COO_FIN	
aAdd (aRegD350[nPosD350], 100						)	 	//09 - GT_FIN	
aAdd (aRegD350[nPosD350], 100						)	 	//10 - VL_BRT	
aAdd (aRegD350[nPosD350], "01"						)	 	//11 - CST_PIS	
aAdd (aRegD350[nPosD350], 100						)	 	//12 - VL_BC_PIS	
aAdd (aRegD350[nPosD350], 1.65						)	 	//13 - ALIQ_PIS	
aAdd (aRegD350[nPosD350], ""						)	 	//14 - QUANT_BC_PIS	
aAdd (aRegD350[nPosD350], ""						)	 	//15 - ALIQ_PIS_QUANT	
aAdd (aRegD350[nPosD350], 1.65						)	 	//16 - VL_PIS	
aAdd (aRegD350[nPosD350], "01"						)	 	//17 - CST_COFINS	
aAdd (aRegD350[nPosD350], 100						)	 	//18 - VL_BC_COFINS	
aAdd (aRegD350[nPosD350], 7.60						)	 	//19 - ALIQ_COFINS	
aAdd (aRegD350[nPosD350], ""						)	 	//20 - QUANT_BC_COFINS	
aAdd (aRegD350[nPosD350], ""						)	 	//21 - ALIQ_COFINS_QUANT	
aAdd (aRegD350[nPosD350], 7.60						)	 	//22 - VL_COFINS
aAdd (aRegD350[nPosD350], "000101"					)       //23 - COD. CONTA.  // *** Neste campo deve ser informado cod. da conta (Gera o registro 0500 com base na CT1) ou
                                                                                // Criar um array, contendo informações do plano de conta para gerar 0500 com base nestas informações
                                                                                // aConta := {	"0500",dDataBase,"09","S",00001,"1234567","CONTA CONTABIL",	"",0}
                                                                                // aAdd (aRegD350[nPos], aConta	)	//23 - COD_CTA   	                	

If l400 		
	aAdd (aRegD350[nPos], "4311"				    )	 	//24 - Tab. Cod. Nat. Rec.  		
	aAdd (aRegD350[nPos], "101"					    )	 	//25 - Cod. Nat. Rec.  		
	aAdd (aRegD350[nPos], ""					    )	 	//26 - Grupo  		
	aAdd (aRegD350[nPos], ""					    )	 	//27 - Data Fim     	
EndIf   


// Preenchimento do Registro D359 - Processo Referenciado

aAdd(aRegD359, {})
nPosD359 :=	0 
aAdd(aRegD359, {}) 
nPosD359 :=	Len(aRegD359)                                  	// *** ATENCAO - A primeira posicao deste array deve ser a referencia do registro Pai D350  	
aAdd (aRegD359[nPosD359], Len(aRegD350)				)	 	// REFERENCIA REGISTRO PAI D350 - NUMERICO                         	
aAdd (aRegD359[nPosD359], "D359"					)	 	//01 - REG 	
aAdd (aRegD359[nPosD359], "11234567"				) 		//02 - NUM_PROC        	
aAdd (aRegD359[nPosD359], "9"						)	 	//03 - IND_PROC	


// Preenchimento do Registro 1010 - Processo Referenciado – Ação Judicial

aAdd (aReg1010, {})	
nPos1010 := Len(aReg1010)		
aAdd (aReg1010[nPos1010], "1010"                   )    	//01 - REG	
aAdd (aReg1010[nPos1010], "101"                    )		//02 - NUM_PROC	
aAdd (aReg1010[nPos1010], "001"                    )	    //03 - IND_SEC_JUD	
aAdd (aReg1010[nPos1010], "AB"                     )		//04 - IND_VARA	
aAdd (aReg1010[nPos1010], "99"                     )	    //05 - IND_NAT_ACAO	
aAdd (aReg1010[nPos1010], "Teste "                 )        //06 - DESC_DEC_JUD	
aAdd (aReg1010[nPos1010], dDataBase                )   	    //07 - DT_SENT_JUD 			  


// Preenchimento do Registro 1020 - Processo Referenciado – Processo Administrativo

aAdd (aReg1020, {})	
nPos1020 := Len(aReg1020)		
aAdd (aReg1020[nPos1020], "1020")			   	   			//01 - REG	
aAdd (aReg1020[nPos1020], "012")							//02 - NUM_PROC	
aAdd (aReg1020[nPos1020], "99")						   		//03 - IND_SEC_JUD	
aAdd (aReg1020[nPos1020], dDataBase)   	       			    //04 - DT_SENT_JUD        

//RETORNO DO PONTO DE ENTRADA:	
// O Retorno deve ser um Array[4] sendo:
// [1] - Array contendo movimentos D350	
// [2] - Array contendo movimentos D359	
// [3] - Array contendo movimentos 1010	
// [4] - Array contendo movimentos 1020

Return {aRegD350,aRegD359,aReg1010,aReg1020}  


05. DEMAIS INFORMAÇÕES

Sem mais informações.