Linha de Produto: | Microsiga Protheus® |
---|---|
Segmento: | Serviços |
Módulo: | Fiscal |
Inclusão do ponto de entrada FSA231UND na rotina FISA230 - Apuração do Ressarcimento, da Restituição e da Complementação do ICMS-ST para o Estado de Santa Catarina, a DRCST.
Esse ponto de entrada tem por finalidade permitir que, para cada documento fiscal processado, seja informada a unidade que constou no documento fiscal e a respectiva quantidade nesta unidade. Por padrão, quantidades e unidades consideradas são as de controle do estoque (primeira unidade de medida da tabela SB1).
O ponto de entrada é acionado durante a apuração do ressarcimento, para cada documento fiscal, e a tabela F1M, ao fim do processamento, deverá armazenar os valores retornados pelo ponto nos campos F1M_QTDMOV, F1M_UNIDAD, F1M_FATCON. O campo F1M_QTDCON será resultado da multiplicação dos campos F1M_QTDMOV e F1M_FATCON. Tais valores serão posteriormente utilizados na geração do arquivo a ser transmitido.
Programa | FISA231.PRW FISA230A.PRW |
---|---|
Sintaxe | FSA231UND- Unidade de medida e quantidade do item informadas no documento fiscal ( [cAlias] ) --> aRet |
Nome | Tipo | Descrição |
---|---|---|
PARAMIXB[1] | Caracter | Alias posicionado (será o alias da query utilizada no processamento do movimento). |
O ponto de entrada deverá retornar um array de 4 posições:
Nome | Tipo | Descrição |
---|---|---|
aRet[1] | Caracter | Unidade de medida informada no documento fiscal. |
aRet[2] | Número | Quantidade na unidade de medida informada no documento fiscal. |
aRet[3] | Número | Fator de Conversão da unidade informada no documento fiscal para a unidade de controle do estoque, informada no registro 0200. |
aRet[4] | Caracter | Tipo de Conversão, podendo ser: M (Multiplicação) ou D (Divisão). |
|
Segundo disposições da Portaria SEF N° 378/2018, o campos FAT_CONV dos Registros 2112, 2113 e 2130 devem possuir 6 casas decimais. Na rotina FISA230, tais campos são representados pelos campos F1K_FATCON e F1M_FATCON, que originalmente possuem apenas 2 decimais. Neste caso, quando o retorno do ponto de entrada indicar um fator de conversão com mais decimais, é recomendada a alteração dos decimais dos campos campos F1K_FATCON e F1M_FATCON conforme abaixo, via Configurador:
|
O exemplo abaixo considera a utilização da segunda unidade de medida da tabela SB1:
#INCLUDE "PROTHEUS.CH" #INCLUDE "RWMAKE.CH" User Function FSA231UND() Local cAlsMov := PARAMIXB[1] //---Alias posicionado---// Local aRetorno := {} Local aAreaAnt := GetArea() If (cAlsMov)->FT_TIPOMOV == 'E' DbSelectArea('SD1') SD1->(DbSetOrder(1)) //---D1_FILIAL+D1_DOC+D1_SERIE+D1_FORNECE+D1_LOJA+D1_COD+D1_ITEM---// If SD1->(DbSeek(xFilial("SD1") + (cAlsMov)->(FT_NFISCAL+FT_SERIE+FT_CLIEFOR+FT_LOJA+FT_PRODUTO+FT_ITEM))) If !Empty(SD1->D1_QTSEGUM) .And. !Empty(SD1->D1_SEGUM) Aadd(aRetorno, SD1->D1_SEGUM) //---Unidade de medida do item no Documento Fiscal---// Aadd(aRetorno, SD1->D1_QTSEGUM) //---Quantidade do item no Documento Fiscal---// Aadd(aRetorno, (1/(cAlsMov)->B1_CONV)) //---Fator de Conversão para a unidade de medida constante no Registro 0200---// Aadd(aRetorno, (cAlsMov)->B1_TIPCONV) //---Tipo de Conversão: M-Multiplicação / D-Divisão---// EndIf EndIf EndIf RestArea(aAreaAnt) Return aRetorno |
Não há.
<style> div.theme-default .ia-splitter #main { margin-left: 0px; } .ia-fixed-sidebar, .ia-splitter-left { display: none; } #main { padding-left: 10px; padding-right: 10px; overflow-x: hidden; } .aui-header-primary .aui-nav, .aui-page-panel { margin-left: 0px !important; } .aui-header-primary .aui-nav { margin-left: 0px !important; } </style> |