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] | cFilial | Caracter | cAlias = Alias |
PARAMIXB[2] | dDataDe | Data | Data inicio do processamento |
PARAMIXB[3] | dDataAte | Data | Data final do processamento |
Retorno:
Nome | Tipo | Descrição | Escopo | Pode Alterar |
---|---|---|---|---|
aRegD350 | Array of Record | O retorno deve retornar valor Nulo. | Global | Não |
aRegD359 | Array of Record | O retorno deve retornar valor Nulo. | Global | Não |
aReg1010 | Array of Record | O retorno deve retornar valor Nulo. | Global | Não |
aReg1020 | Array of Record | O retorno deve retornar valor Nulo. | Global | Nã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.
Visão Geral
Import HTML Content
Conteúdo das Ferramentas