Esse erro acontece porque foi gerado uma nota anteriormente que gerou uma fatura a receber com o número apresentado, mas por algum motivo essa nota não foi finalizada; ou, foi excluída e a fatura não foi excluída corretamente.
Então é necessário excluir manualmente essa fatura, para que o sistema volte a Funcionar.
Siga os seguintes passos.
- Faça um backup da base do cliente.
- Rode os scripts abaixo :
Esse primeiro script vai listar se existe uma uma nota fiscal com o código informado na mensagem de erro.
select
nf.*
from
notas_fiscais nf
where
nf.cod_empresa = X and /* ( Informar o código da empresa que o cliente utiliza ) */
nf.NUMERO_NF = XXXX and /* ( Informar o numero da nota fiscal que deu erro, pegue na mensagem de erro em Número da Fatura ) */
nf.SERIE_NF = 'X'
Em 'X' Informar a série da nota fiscal que deu erro, pegue na mensagem de erro em Tipo da Fatura.
O SELECT acima precisa retornar vazio. Caso retorne vazio siga para os próximos passos, senão chame um desenvolvedor para olhar.
Próximos Passos.
- Deve ser trocados em todos os SELECTs os parâmetros pelos dados do cliente, conforme informação abaixo:
pEmpresa = Informar o código da empresa que o cliente utiliza.
pTipoFatura = Informar a série da nota fiscal que deu erro, pegue na mensagem de erro em Tipo da Fatura.
pCod_Fatura = Informar o numero da nota fiscal que deu erro, pegue na mensagem de erro em Número da Fatura.
Após substituir todos os parâmetros deve ser rodado um a um na ordem que estão. Se aparecer dados devem ser excluidos, comitado e passe para o próximo select, até chegar no último.
select
fr.*
from
faturas_receber_rateio fr
where
fr.cod_empresa = pEmpresa and
fr.tipo_fatura = 'pTipoFatura' and
fr.cod_fatura = pCod_Fatura
select fr.*
from
faturas_receber_parcelas_bx fr
where
fr.cod_empresa = pEmpresa and
fr.tipo_fatura = 'pTipoFatura' and
fr.cod_fatura = pCod_Fatura
==> Se aparecer dados e tentar excluir e aparecer a mensagem abaixo, vá antes no IbExpert executive e rode: EXECUTE procedure PR_LOGAR('ADMIN') ;
possivel erro: "Não é possível realizar essa operação. Usuário inválido!".
=>> depois do acima, ao tentar excluir o registro se ocorrer:
violation of FOREIGN KEY constraint "FK_CONTAS_CORRENTES_RATEIOS_REC" on table "CONTAS_CORRENTES_RATEIOS".
Foreign key references are present for the record.
Então, terá que fazer (no ibexpert executive):
EXECUTE procedure PR_LOGAR('ADMIN') ;
delete from CONTAS_CORRENTES_RATEIOS rat
where
rat.ano_mes = 'AAAAMM' and
rat.lancamento = '9999';
commit;
(os dados necessário acima podem ser pegos, no select anterior. Depois de executado, não esqueça de voltar ao select anterior e fazer novamente)
select
fr.*
from
faturas_receber_parcelas fr
where
fr.cod_empresa = pEmpresa and
fr.tipo_fatura = 'pTipoFatura' and
fr.cod_fatura = pCod_Fatura
select
vf.*
from
vendas_faturas vf
where
vf.fat_cod_empresa = pEmpresa and
vf.fat_tipo_fatura = 'pTipoFatura' and
vf.fat_cod_fatura = pCod_Fatura
select
fr.*
from
faturas_receber fr
where
fr.cod_empresa = pEmpresa and
fr.tipo_fatura = 'pTipoFatura' and
fr.cod_fatura = pCod_Fatura
Após rodar todos os selects acima e apagar os registros mostrados nos selects, abra o GigaERP e fale para o cliente fazer outra venda com nota fiscal.