A792-Itens apresentando várias vezes na Escrituração após integração do Analisador Fiscal

Sumário

Sistema: Gerenciador de Aplicativos Prosoft (GAP)

Contexto: Após a integração de notas do Analisador Fiscal para o Fiscal existem notas que apresentam os itens em duplicidade e ao salvar a nota manualmente ocorre btrieve error 5 na tabela notaitemEEEEAA.

Informações Adicionais: Não se aplica.

Resolução

Esta falha ocorre devido a opção do integrity enforced estar desativa nas DSNs das empresas no Pervasive, com isso ao realizar a remoção de notas fiscais ficam gravadas na tabela lfs_nota_item_fcpAA registros sem vínculos com a tabela notaitemEEEEAA.

Para correção da falha deverá ser executados os seguintes procedimentos:

1- Ative o Integrity Enforced para as DSNS das Empresas.

2- Realize o acesso na base da empresa para verificar os registros na tabela lfs_nota_item_fcpAA (AA é o ano de movimento) que estão sem vínculos com a tabela notaitemEEEEAA.

Exibe os registros na tabela lfs_nota_item_fcpAA que não possuem vínculo com a notaitemEEEEAA

select ni.id, nifcp.*
from notaitemEEEEAA ni
right join lfs_nota_item_fcpAA nifcp on nifcp.nif_fk_nota_item = ni.id
where ni.id is null;

3- Identificando que existem registros na consulta acima é necessário realizar a remoção dos mesmos conforme script abaixo:

Remove os registros da tabela lfs_nota_item_fcp18 que não possuem vínculo com a notaitem017718

delete nifcp from notaitemEEEEAA ni
right join lfs_nota_item_fcpAA nifcp on nifcp.nif_fk_nota_item = ni.id
where ni.id is null;

Caso o problema persista mesmo executando os procedimentos acima pode ser outra tabela que apresente registros que não possuem vínculo com a tabela notaitemEEEEAA.

1- Acesse a tabela notaitem_icmsst_AA e verifique se ela possui a Constraint cnit_nis_fk_notaitAA criada, abaixo segue o comando de criação:

Cria a Constraint na tabela notaitem_icmsst_AA

alter table notaitem_icmsst_aa add constraint cnit_nis_fk_notait19
foreign key ("nis_fk_notaitem") references notaitemeeeeaa on update restrict  on delete cascade;

2- Verifique se há registros sem vínculos na tabela notaitem_icmsst_AA com relação aos registros da tabela notaitemEEEEAA

Exibe os registros sem vínculos

select ni.id, nis.*
from notaitemEEEEAA ni
right join notaitem_icmsst_AA nis on nis.nis_fk_notaitem = ni.id
where ni.id is null;

3- Caso existam registros sem vínculos na tabela notaitem_icmsst_AA realize a remoção deles:

Remove os registros sem vinculos

delete nis from notaitemEEEEAA ni
right join notaitem_icmsst_AA nis on nis.nis_fk_notaitem = ni.id
where ni.id is null; 

4- Após a execução dos procedimentos acima realize a exclusão das notas que apresentaram os itens repetidos e faça a escrituração/importação/integração novamente dessas notas.

5- Caso o problema persista mesmo executando os procedimentos acima pode ser devido a ausência da Constraint na tabela notaitem_icmsst_AA:

(AA - Ano de movimento em uso / EEEE - Código da Empresa)

--Abaixo o script de criação da Constraint na tabela notaitem_icmsst_AA
ALTER TABLE notaitem_icmsst_AA ADD CONSTRAINT cnit_nis_fk_notaitAA FOREIGN KEY ("nis_fk_notaitem") REFERENCES notaitemEEEEAA ON UPDATE RESTRICT ON DELETE CASCADE;

6- Caso problema persista mesmo executando os procedimentos acima. Verifique se há registros sem vínculos na tabela lfs_nota_item_compl com relação aos registros da tabela notaitemEEEEAA

select ni.id, ntic.*

from notaitemEEEEAA ni

right join lfs_nota_item_compl ntic on ntic.ntic_fk_nota_item = ni.id

where ni.id is null;

7- Caso existam registros sem vínculos na tabela lfs_nota_item_compl realize a remoção deles:

Remove os registros sem vínculos

delete ntic from notaitemEEEEAA ni 

 right join lfs_nota_item_compl ntic on ntic.ntic_fk_nota_item = ni.id 

 where ni.id is null;


  • Sem rótulos