Módulo: Obrigações SPED - EFD ICMS IPI
Funcionalidade: Relatório Informações Complementares ICMS ST - NF
Data/Hora da Publicação: 08/11/2021 17:03:05
Data/Hora Última Alteração: 09/11/2021 10:49:10
Descrição da Nota: Tratamentos e melhorias realizadas no Relatório Informações Complementares do ICMS-ST.
Sintoma
1 – Ocorria erro na geração do relatório, quando o parâmetro calculo_vl_rest_compl da condição de negócio 'REL_INF_COMPL_ICMS_ST_SAIDA', era igual ‘Guia prático da EFD ICMS IPI’, pois o parâmetro período_vl_medio_estoque não deve ser utilizado para essa opção de geração.
(Erro ao vincular NF Saida (id item 8194836) e Entrada (id item 8194699). Erro: Valor não pode ser nulo.
Nome do parâmetro: key) em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.VinculaNFsEntradaSaida(Int32 busId, Int32 idUF, DateTime dtIniProcesso, DateTime dtFinProcesso, Dictionary`2 dicEstoqueProd, Decimal& vlrUnitBaseIcmsSt, Decimal& vlrUnitBaseIcms, Decimal& vlrUnitLimBase, Decimal& vlrUnitImposto, Decimal& vlrUnitRessarc, Decimal& vlrAjCreditoT, Decimal& vlrAjRessarcT, Decimal& quantEnt, Decimal& quantSai, Dictionary`2 dadosProdEnt, List`1 listaEntradasTemp, List`1 dadosCompICMSSTTemp, NotaFiscal nfSaida, Decimal quantConvSaida, Boolean& addNFSemEnt, String unidadeConv, List`1 lstAliqInterna, Dictionary`2 dicPMPF, List`1 notasSaida, Dictionary`2 _dicProdQtdeEstoquePeriodo, List`1 dadosCompICMSST)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.ExecutaCalculoRessarcimento(Int32 diasConsiderar, Int32 busId, Int32 idUF, DateTime dtIniProcesso, DateTime dtFinProcesso, List`1 notasSaida, List`1 notasEntrada, List`1 pProdutosCorrespondentes, List`1& dadosCompICMSST, Dictionary`2 dicEstoqueProd, List`1 lstAliqInterna, Dictionary`2 dicPMPF)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.ExecutaRelatorio(String sessionID, ContextoExecucao contexto)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.IniciarExecucao(ContextoExecucao contexto, String sessionID)
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecuteInternalProcess(ContextoExecucao contexto, IExecutorProcesso objBO) na C:\Sonda\201308\MAIN\SIT.Comply\Main\Modules\PROC\Servers\CoordenadorProcesso\CoordenadorProcessoController.cs:linha 641
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecutePrincipalProcess(ContextoExecucao contexto, IExecutorProcesso objBO) na C:\Sonda\201308\MAIN\SIT.Comply\Main\Modules\PROC\Servers\CoordenadorProcesso\CoordenadorProcessoController.cs:linha 732
2 – Ocorria o erro abaixo, quando o parâmetro 'periodo_vl_medio_estoque' da condição de negócio 'REL_INF_COMPL_ICMS_ST_SAIDA' estava vazio.
Erro ocorre somente quando a opção de geração for igual a 'Legislação Especifica da UF'.
(Erro ao vincular NF Saida (id item 8194833) e Entrada (id item 8194834). Erro: Tentativa de divisão por zero.) em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.VinculaNFsEntradaSaida(Int32 busId, Int32 idUF, DateTime dtIniProcesso, DateTime dtFinProcesso, Dictionary`2 dicEstoqueProd, Decimal& vlrUnitBaseIcmsSt, Decimal& vlrUnitBaseIcms, Decimal& vlrUnitLimBase, Decimal& vlrUnitImposto, Decimal& vlrUnitRessarc, Decimal& vlrAjCreditoT, Decimal& vlrAjRessarcT, Decimal& quantEnt, Decimal& quantSai, Dictionary`2 dadosProdEnt, List`1 listaEntradasTemp, List`1 dadosCompICMSSTTemp, NotaFiscal nfSaida, Decimal quantConvSaida, Boolean& addNFSemEnt, String unidadeConv, List`1 lstAliqInterna, Dictionary`2 dicPMPF, List`1 notasSaida, Dictionary`2 _dicProdQtdeEstoquePeriodo, List`1 dadosCompICMSST)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.ExecutaCalculoRessarcimento(Int32 diasConsiderar, Int32 busId, Int32 idUF, DateTime dtIniProcesso, DateTime dtFinProcesso, List`1 notasSaida, List`1 notasEntrada, List`1 pProdutosCorrespondentes, List`1& dadosCompICMSST, Dictionary`2 dicEstoqueProd, List`1 lstAliqInterna, Dictionary`2 dicPMPF)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.ExecutaRelatorio(String sessionID, ContextoExecucao contexto)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.IniciarExecucao(ContextoExecucao contexto, String sessionID)
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecuteInternalProcess(ContextoExecucao contexto, IExecutorProcesso objBO)
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecutePrincipalProcess(ContextoExecucao contexto, IExecutorProcesso objBO)
3 – Quando tem mais de uma condição de negócio com parametrizações iguais não previstas na Legislação da UF ou do Guia Prático, as notas fiscais eram duplicadas e ocorria o erro de UK conforme demonstrado abaixo:
(Error ao gravar dados. Erro: ORA-00001: unique constraint (SATI.UK_SFC_RESS_ICMS_ST_001) violated) em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.GravaDados(List`1 lstCompICMSST, ContextoExecucao contexto, ConfigRelatorio configuracao, List`1 lstAjusteNF)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.ExecutaRelatorio(String sessionID, ContextoExecucao contexto)
em Procwork.Software.AGSPED.FSC.Servers.RelInfCompICMSST.RelInfCompICMSSTController.IniciarExecucao(ContextoExecucao contexto, String sessionID)
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecuteInternalProcess(ContextoExecucao contexto, IExecutorProcesso objBO)
em Procwork.Software.SATI.PROC.Servers.CoordenadorProcesso.CoordenadorProcessoController.ExecutePrincipalProcess(ContextoExecucao contexto, IExecutorProcesso objBO)
4 – O vínculo das notas fiscais de saídas com as notas fiscais de entradas estavam em ordem crescente.
5 – Os campos Vl. Unit. ICMS e Vl. Unit. ICMS ST da aba ESTOQUE, estavam fazendo a divisão (Vl.Qte. Media_Estoque) pela quantidade real da nota fiscal e não pela quantidade convertida.
6 - Campo Vl. Unit. ICMS ST da aba ESTOQUE estava considerando a quantidade de saídas na multiplicação para o cálculo do valor.
7 – O valor dos campos ICMS Unit. Prop. e Vl. Unit. ICMS da aba de ENTRADA estavam sendo calculados errados, quando o cadastro do produto tem mais de uma vigência dentro do período de pesquisa das notas fiscais de entradas.
8 – No momento de definir se o resultado é a Restituir ou Complementar algumas notas fiscais de entradas não estavam sendo informadas no relatório.
Solução
1 – Tratamento na geração do relatório, para não ocorrer erro quando o parâmetro calculo_vl_rest_compl da condição de negócio 'REL_INF_COMPL_ICMS_ST_SAIDA', for igual ‘Guia prático da EFD ICMS IPI’.
2 – Tratamento para não ocorrer erro na geração do relatório quando o parâmetro 'periodo_vl_medio_estoque' da 'condição de negócio 'REL_INF_COMPL_ICMS_ST_SAIDA' estiver vazio.
3 – Tratado para não ocorrer erro de UK, quando tem mais de uma condição de negócio com parametrizações iguais não previstas na Legislação da UF ou do Guia Prático.
4 – Efetuado tratamento para realizar a busca das notas fiscais de entradas, utilizadas para compor a quantidade de saídas, em ordem decrescente.
5 – Efetuado tratamento nos campos Vl. Unit. ICMS e Vl. Unit. ICMS ST da aba ESTOQUE do relatório, para realizar a divisão (Vl.Qte. Media_Estoque) pela quantidade convertida.
6 - Tratamento no campo Vl. Unit. ICMS ST da aba ESTOQUE para considerar a Qtde. Util na multiplicação para o cálculo do valor.
7 – Efetuado tratamento nos campos ICMS Unit. Prop. e Vl. Unit. ICMS da aba de ENTRADA para efetuar o cálculo corretamente, quando o cadastro do produto tem mais de uma vigência dentro do período de pesquisa das notas fiscal de entradas.
8 – Tratamento para informar todas as notas fiscais de entradas no relatório conforme as parametrizações realizadas.
EVOLUÇÕES
Esta nota possui a(s) seguinte(s) melhoria(s):
Melhorias realizadas no “Relatório de Informações Complementares do ICMS ST“
1 - Inclusão das informações demonstradas abaixo, para facilitar a análise.
Tipo de identificação da quantidade de saídas: Será informado o Valor do parâmetro periodo_vl_medio_estoque da Condição de Negócio REL_INF_COMPL_ICMS_ST_SAIDAS.
Campo Qtde.Vl. Médio na aba ESTOQUE: Será informada a quantidade total das saídas utilizadas na divisão do cálculo dos campos Vl. Unit. ICMS e Vl. Unit. ICMS ST conforme o parâmetro periodo_vl_medio_estoque.
Diario:
Mensal:
Nota a Nota:
2 – Criação de um log para demonstrar as notas fiscais duplicadas no relatório, devido a parametrizações iguais em Condições de Negócio diferentes e não previstas na Legislação da UF ou Guia Prático.
O log foi disponibilizado para as opções de Geração Legislação Especifica da UF e Guia prático da EFD ICMS IPI.
A geração do relatório será concluída com sucesso, porém os dados não serão gravados na tabela para não ocorrer erro no processamento.
Exemplo:
Condição de Negócio RS100 (Prevista para Legislação Especifica da UF)
Condição de Negócio RS200 (Não Prevista para Legislação Especifica da UF)
Condição de Negócio RS100 (Prevista para Guia prático da EFD ICMS IPI)
Condição de Negócio RS200 (Não Prevista para Guia prático da EFD ICMS IPI)
4.00.00.0000
Produto:
Nota
Descrição
Ordem
Pacote - (Requisição)