Já foi emitida fatura: Tipo X, Número: XXXX, Emissão em 0000-00-00. At procedure 'PR_VENDA_FINALIZAR'

2 Respostas

0 votos
respondida por sergio
Deve ser acionado o suporte da franqueadora para que possa verificar e acertar.
0 votos
respondida por sergio
editado por sergio

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.

...