Informações sobre a contabilização de impostos no Documento de Saída
Produto: | Microsiga Protheus® |
Ambiente: | Faturamento (SIGAFAT) |
Ocorrência: | Como contabilizar os Impostos através no Documento de Saída? |
Passo a passo: | Os LPs 610 e 620 são destinados a contabilização de itens do Documento de Saída (SD2) e do cabeçalho do Documento de Saída (SF2), logo os ponteiros de tabelas estarão nestes registros, assim, o ponteiramento de qualquer outra tabela deve ser feito através de uma sintaxe. Os Lançamento Padronizados podem ser ajustados de acordo com a regra necessária para a contabilização, podendo inclusive serem utilizadas funções em seus campos macro executáveis, logo podem ser consultados registros de outras tabelas através de funções como a "Posicione", que retorna o dado desejado, ou através de uma "Função de usuário" que em seu retorno devolva a informação a ser processada. Apontando para outras tabelas (On Line / Off Line) Para apontamento de outras tabelas (ex. SF3 e SFT), quando a execução for Off Line, no momento da execução da contabilização On Line, as tabelas podem não estar gravadas ainda, impedindo que a regra do Lançamento Padronizado colete as informações. Portanto, para cada uso (on line e off line) pode existir a necessidade de criar sintaxes diferentes.
O LP do item da NF é o 610, que posiciona a tabela SD2. A tabela equivalente na parte fiscal é a tabela SFT. A função MAFISRET() está preparada para receber dois parâmetros em sua chamada, sendo: 1. O número da linha da nota que está sendo processada; 2. O identificador do campo/imposto que estaria sendo processado, neste caso a referência do Credito Presumido é LF_CRDPRES.
Exemplo
MaFisRet(Val(SD2->D2_ITEM), "LF_CRDPRES") Importante O campo "Item" (D2_ITEM) é um campo caractere de tamanho 2, logo para pedidos com mais de 99 itens o conteúdo desse se torna alfanumérico e a conversão fornecida pela função VAL() não irá atender. Neste caso teria que ser realizada a lógica reversa do processo de SOMA1() ou configurado o parâmetro MV_NUMITEM com o limite de 99 itens por nota. Na exclusão do documento de saída (LP 620), devemos adotar outra forma de trabalho, isso por que neste ponto, os tributos não estão sendo calculados e a linha SFT do documento que está sendo excluído já existe. Neste caso como vamos buscar um dado da SFT, um exemplo de Sintaxe que podemos utilizar é:
Exemplo
Posicione('SFT', 1, xFilial('SFT') + 'S' + SD2->D2_SERIE + SD2->D2_DOC + SD2->D2_CLIENTE + SD2->D2_LOJA + SD2->D2_ITEM + ' ' + SD2->D2_COD, 'FT_CRDPRES') Onde, cada parâmetro, detalhados abaixo, respectiva de um dos quatro a serem usados no posicione (na sintaxe são separadas por vírgula): Importante Importante observar que na ‘expressão identificadora da linha desejada’ (parâmetro 3) existem dois dados pré-definidos: Sobre o tamanho do campo, é possível usar também a sintaxe abaixo (já alterada para o tamanho do campo)
Exemplo
Posicione('SFT', 1, xFilial('SFT') + 'S' + SD2->D2_SERIE + SD2->D2_DOC + SD2->D2_CLIENTE + SD2->D2_LOJA + SD2->D2_ITEM + ' ' + ' ' + SD2->D2_COD, 'FT_CRDPRES') A chamada da MAFISRET somente funciona na execução online, pois os processos de cálculo devem estar iniciados, o que não ocorre na contabilização offline, já que lá não ocorre cálculo de imposto.
Exemplo
Posicione('SFT', 1, xFilial('SFT') + 'S' + SD2->D2_SERIE + SD2->D2_DOC + SD2->D2_CLIENTE + SD2->D2_LOJA + SD2->D2_ITEM + ' ' + ' ' + SD2->D2_COD, 'FT_CRDPRES') Se não houver tratamento, será gerado error.log, uma vez que na Contabilização On Line não poderá usar na sintaxe a tabela SFT e na OFF line a função MAFISRET porque a NF já está gravada.
Exemplo
Iif(IsInCallStack("CTBANFS"),POSICIONE(),MAFISRET())
Para realizar a contabilização de Tributos Genéricos, basta criar um índice na tabela F2D.
Exemplo:
F2D_FILIAL + F2D_IDREL + F2D_TRIB
Exemplo:
{{POSICIONE("F2D",7,xfilial("F2D"){+}SD2->D2_IDTRIB{+}"TESTE","F2D_VALOR")}} {{}} Com o novo índice, o sistema retornou para o posicione o valor do tributo "TESTE" corretamente. Este processo pode ser no modo on-line e off-line. Importante
|
Pode lhe interessar: |