01. DADOS GERAIS
Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Programa: | SPEDFISCAL.PRW |
Módulo: | Fiscal |
02. DESCRIÇÃO
Criação do ponto de entrada no SPED Fiscal para que seja possível manipular a escrituração do código da conta contábil.
Com este ponto de entrada é possível alterar a escrituração do código da conta contábil dos registros de nota C170,C300,C350,D100,D500 e D300 do SPEDFISCAL.
Também é possível manipular a escrituração do código da conta contábil do registro de CADASTRO DE BENS OU COMPONENTES DO ATIVO IMOBILIZADO 0300 e por consequência a mesma conta será considerada na geração do PLANO DE CONTAS CONTÁBEIS registro 0500.
03. ESPECIFICAÇÃO
Parâmetros do ponto de entrada:
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB | Array of Record | Array com dados de processamento [1] = O registro que está sendo processado no momento Ex: C170,C300,C350,D100,D500 ou D300 O restante das informações são referentes a nota fiscal que está sendo processada no momento, looping na SFT [2] = FT_FILIAL [3] = FT_TIPOMOV [4] = FT_SERIE [5] = FT_NFISCAL [6] = FT_CLIEFOR [7] = FT_LOJA [8] = FT_ITEM [9] = FT_PRODUTO Para o 0300 será retornado na variável PARAMIXB as informações da tabela de Estorno Mensal CIAP - SFA e diferente dos registros anteriores, a variável PARAMIXB terá apenas 5 posições, sendo: [1] - "0300" [2] - FA_FILIAL [3] - FA_CODIGO [4] - FA_DATA [5] - FA_TIPO Com as informações acima, é possível encontrar o bem na tabela SF9 e rastrear a nota com as informações da própria SF9. |
Retorno:
Nome | Tipo | Descrição |
---|---|---|
cRetorno | Caracter | Código da conta contábil |
04. EXEMPLO DE UTILIZAÇÃO
#INCLUDE "PROTHEUS.CH" User Function SPDFIS27() Local cConta := "" Local cReg := PARAMIXB[1] Local cFilial := "" // Filial // Para registros de nota Local cTpMovto := "" //Entrada ou saída? Local cSerie := "" //Série da nota fiscal Local cNotaFisc := "" //Código da nota fiscal Local cClieFor := "" //Código do Cliente/Fornecedor Local cLoja := "" //Código da Loja Local cItem := "" //Item da nota Local cProduto := "" //Produto // Para os registros cadastro de bem e plano de contas Local cSFACod := "" // Código do ativo na tabela SFA Local dSFAData := "" // Data da movimentação que está sendo processada Local cTipoBem := "" // Tipo do bem If cReg $ "C170|C300|C350|D100|D500|D300" // Neste momento a variável PARAMIXB possui 9 posições, sendo elas informações da tabela SFT cFilial := PARAMIXB[2]// Filial cTpMovto := PARAMIXB[3] cSerie := PARAMIXB[4] cNotaFisc := PARAMIXB[5] cClieFor := PARAMIXB[6] cLoja := PARAMIXB[7] cItem := PARAMIXB[8] cProduto := PARAMIXB[9] //Estou posicionando em uma tabela própria, para retorno do codigo da conta contábil cConta := POSICIONE("XXX",1,cFilial+cTpMovto+cSerie+cNotaFisc+cClieFor+cLoja+cItem+cProduto,"XXX_COD_CTA") ElseIf cReg == "0300" cFilial := PARAMIXB[2] cSFACod := PARAMIXB[3] dSFAData := PARAMIXB[4] cTipoBem := PARAMIXB[5] // Estou posicionando na SF9 e retornando um campo customizado, criado manualmente via configurador. cConta := POSICIONE("SF9",1,cFilial+ccSFACod,"F9_COD_CTA") EndIf Return cConta
05. INFORMAÇÕES ADICIONAIS
- Não há.