Histórico da Página
...
Aviso | ||
---|---|---|
| ||
Para atender uma a legislação específica do estado do Rio Grande do Sul - RS (IN 45/98,), onde em casos em que é necessário gerar mais de 1 H020 parao mesmo H010 agrupando as informações de acordo com o Código de Situação Tributária - CST de acordo com o CST constante na movimentação fiscal. Esse Ponto de Entrada também foi adaptado, portanto é possível gerar mais de 1 H020. |
...
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
#include "totvs.ch" User Function SPEDH020() Local aRet := {} Local nPos := 0 Local cProduto := PARAMIXB[1] dbSelectArea("SB1") SB1->(dbSetOrder(1)) If SB1->(MsSeek( xFilial("SB1") + cProduto)) aAdd(aRet,{}) nPos := Len(aRet) aAdd(aRet[nPos], "010" ) // CST ICMS aAdd(aRet[nPos], 10.00 ) // Base de cálculo do ICMS (Unitário) aAdd(aRet[nPos], 1.80 ) // Valor do ICMS (Unitário) EndIf Return aRet |
Código de exemplo gerando mais de 1 H020 para cada H010 (Estado do Rio Grande do Sul - RS).
...
Bloco de código | ||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|
| ||||||||||||
#Include "PROTHEUS.CH" User Function SPEDH020() Local aRet := {} Local nPos := 0 Local nI := 1 Local cProduto := PARAMIXB[1] Local cMotInv := PARAMIXB[2] dbSelectArea("SB1") SB1->(dbSetOrder(1)) For nI = 1 To 2 // Será enviado 2 H020 para cada H010, mudando o CST do primeiro para 010 e do segundo para 000 If SB1->(MsSeek( xFilial("SB1") + cProduto)) Aadd(aRet,{}) nPos := Len(aRet) Aadd(aRet[nPos], IIF(nI == 1,"010","000")) // CST ICMS Aadd(aRet[nPos], 100.00) // Base de cálculo do ICMS (Unitário) Aadd(aRet[nPos], 18.00) // VAlorValor do ICMS (Unitário) If cMotInv == "01" // Deve possuir esse código para garantir que não será gerado mais de 1 H020 para o Motivo = 01 - No Final do Período, pois causa problemas no validador da GIA-RS Exit EndIfEndif EndIFEndiF Next Return aRet |
05. DEMAIS INFORMAÇÕES
...
Visão Geral
Import HTML Content
Conteúdo das Ferramentas