ERP – Operações e Cálculos Fiscais – Não foi possível gravar as informações da apuração, o seguinte erro foi gerado: Não foi possível gravar as origens das notas fiscais de saída, o seguinte erro foi gerado: Violação de chave
Incidente
No módulo Gestão de Tributos, ao tentar apurar o imposto do PIS ou COFINS, é apresentada a mensagem: Não foi possível gravar as informações da apuração, o seguinte erro foi gerado: Não foi possível gravar as origens das notas fiscais de saída, o seguinte erro foi gerado: Violação de chave.
Ou ainda a mensagem: Não foi possível gravar as informações da apuração, o seguinte erro foi gerado: Não foi possível gravar as origens das notas fiscais de entrada, o seguinte erro foi gerado: Violação de chave.
Causa
Este incidente ocorre, pois o conteúdo da tabela E900NXV campo LstVal está com uma numeração inferior ao da tabela E662INV (Itens da Nota Fiscal de Saída) ou da tabela E662INC (Itens da Nota Fiscal de Entrada) campo IdeUni, assim o sistema atribui o próximo número que já existe na tabela E662INV ou E662INC.
Conteúdo dos campos:
E900NXV.LSTVAL= 8
E662INV.IDEUNI = 9 ou
E662INC.IDEUNI = 9
Durante a integração, é feito a leitura do campo E900NXV.LstVal CodPky E662INC e/ou E662INV e passado o próximo número, como o 9 já existe ocorre a violação de chave.
Solução
Para que esse incidente não ocorra, realize os passos a seguir:
1. Em uma ferramenta de banco, faça o select abaixo e verifique qual o último registro:
1.1. Se nota de Entrada:
SELECT MAX (IDEUNI) FROM E662INC WHERE CODEMP = X
1.2. Se nota de Saída:
SELECT MAX (IDEUNI) FROM E662INV WHERE CODEMP = X
2. Execute um segundo select abaixo:
2.1. Se nota de Entrada:
SELECT * FROM R900NXV WHERE CODPKY='E662INC'
2.2. Se nota de Saída:
SELECT * FROM R900NXV WHERE CODPKY='E662INV'
3. Como essas duas informações precisam ser iguais é necessário fazer o UPDATE abaixo:
3.1. Se nota de Entrada:
UPDATE R900NXV SET LSTVAL = (informar o número obtido no primeiro select) WHERE CODPKY='E662INC'
3.2. Se nota de Saída:
UPDATE R900NXV SET LSTVAL = (informar o número obtido no primeiro select) WHERE CODPKY='E662INV'
4. Após essa alteração, execute novamente a apuração do imposto pela tela F661PAI - Controladoria / Gestão de Tributos / Operações e Cálculos Fiscais / Cálculos / Apuração (Apuração dos Impostos).
Importante
Utilize o log do SQLMon para confirmar se o problema ocorre nas tabelas E660INV e/ou E660INC.
Essa tabela da tecnologia é controlada automaticamente pelo ERP, portanto, será necessário verificar se existe alguma regra customizada que esteja inserindo ou alterando uma informação nesta tabela, encontrando-a será necessário ajustar.
Atenção! Antes de realizar qualquer alteração, analise o impacto que poderá ter em outros lançamentos/processos do sistema.