Jump to content
Notícias do ACBr

click.png

click.png

click.png

logos

Texto.png

p200

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

click.png

Erro ao inutilizar Nfe


Go to solution Solved by Juliomar Marchetti,
  • Este tópico foi criado há 157 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui

Recommended Posts

  • Fundadores

Aparentemente você não está ligando o componente de impressão com o componente ACBrNFe...

Consegue debugar o momento exato do A.V. ?

  • Like 1
Consultor SAC ACBr

Daniel Simões de Almeida
O melhor TEF, é com o Projeto ACBr - Clique e Conheça
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Link to post
Share on other sites
  • Usuários SAC

Não consigo debugar, mas segue o trecho completo abaixo:

 

var
 iID_Inutilizacao : Integer;
 sXML, sArq : string;
begin
  if length(Memo1.Text) <= 15 then
  begin
   iMessageBox(handle,'Favor preencher no mínimo 15 caracteres!','Inutilizar',MB_OK);
   Exit;
  end;


 if iMessageBox(Handle,'Deseja realmente inutilizar a numeração?','Inutilizar Numeração',MB_YESNO) <> IDYES then
  Exit;

 dmAcbr.ACBrNFe1.WebServices.Inutiliza(  sApenasNumeros(dmConexao.TFILIALCNPJ.AsString),
                                         Memo1.Text,
                                         edtAno.Value,
                                         55,
                                         edtSerie.Value,
                                         edtNumInicial.Value,
                                         edtNumFinal.Value);

 if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat = 102 then
 begin
  fInutilizacao.TInutilizacaoID_INUTILIZACAO.Required := False;
  fInutilizacao.TInutilizacao.Insert;
  fInutilizacao.TInutilizacaoID_INUTILIZACAO.IsNull;
  fInutilizacao.TInutilizacaoID_FILIAL.AsInteger      := iID_FILIAL;
  fInutilizacao.TInutilizacaoANO.AsInteger            := edtAno.Value;
  fInutilizacao.TInutilizacaoMODELO.AsInteger         := 55;
  fInutilizacao.TInutilizacaoSERIE.AsInteger          := edtSerie.Value;
  fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger := edtNumInicial.Value;
  fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger   := edtNumFinal.Value;
  fInutilizacao.TInutilizacaoJUSTIFICATIVA.AsString   := Memo1.Text;
  fInutilizacao.TInutilizacaoPROTOCOLO.AsString       := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.Protocolo;
  fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime     := dmAcbr.ACBrNFe1.WebServices.Inutilizacao.dhRecbto;

  if dmAcbr.ACBrNFe1.WebServices.Inutilizacao.tpAmb = taProducao then
   fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Produção'
  else
   fInutilizacao.TInutilizacaoAMBIENTE.AsString := 'Homologação';

  //retorna proximo id do generator
  iID_Inutilizacao := iRetornarID('GEN_INUTILIZACAO_ID');

  fInutilizacao.TInutilizacao.Post;
  dmConexao.IBTCONEXAO.CommitRetaining;

  sArq := dmConexao.TFILIALCODIGO_ESTADO.AsString +
         Copy(IntToStrZero(fInutilizacao.TInutilizacaoANO.AsInteger, 4), 3, 2) +
         sApenasNumeros(dmConexao.TFILIALCNPJ.AsString) +
         IntToStrZero(fInutilizacao.TInutilizacaoMODELO.AsInteger, 2) +
         IntToStrZero(fInutilizacao.TInutilizacaoSERIE.AsInteger, 3) +
         IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_INICIAL.AsInteger, 9) +
         IntToStrZero(fInutilizacao.TInutilizacaoNUMERO_FINAL.AsInteger, 9);

  bInserirXMLDB('INUTILIZACAO',
                'INUTILIZACAO',
                IntToStr(iID_Inutilizacao),
                fInutilizacao.TInutilizacaoPROTOCOLO.AsString,
                'Inutilizada',
                dmACBr.ACBrNFe1.WebServices.Inutilizacao.XML_ProcInutNFe,
                sArq+'-procInutNFe.xml',
                fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime,
                0);
 // dmAcbr.ACBrNFe1.NotasFiscais.Clear;
  sXML := sVerificaArquivo('Inutilizada', 'INUTILIZACAO',
                           ExtractFileDir(Application.ExeName)+'\XML_NFE\Inu\'+FormatDateTime('YYYYMM',
                           fInutilizacao.TInutilizacaoDATA_HORA.AsDateTime)+'\'+sArq+'-procInutNFe.xml', iID_Inutilizacao ,
                           0);

  if not FileExists(sXML) then
  begin
   iMessageBox(handle,pchar('Não foi possível imprimir!'+#13+#13+'XML não encontrato em: '+sXML),'Imprimir',MB_OK+MB_ICONWARNING);
   Exit;
  end;

  dmAcbr.ACBrNFe1.DANFE:=dmAcbr.ACBrNFeDANFEFR1;
  dmAcbr.ACBrNFe1.InutNFe.XML:='';
  dmAcbr.ACBrNFe1.InutNFe.LerXML( sXML );
  dmAcbr.ACBrNFe1.ImprimirInutilizacao;

  fInutilizacao.TInutilizacao.Close;
  fInutilizacao.TInutilizacao.ParamByName('ID_FILIAL').AsInteger := iID_FILIAL;
  fInutilizacao.TInutilizacao.Open;

  iMessageBox(handle,'Numeração inutilizada com sucesso! Favor excluir as notas fiscais que foram inutilizadas (caso houver)!','Inutilizar Numeração',MB_OK);
  Close;
 end
 else
 begin
  iMessageBox(handle,pchar('Não foi possível inutilizar a numeração!'+#13+IntToStr(dmAcbr.ACBrNFe1.WebServices.Inutilizacao.cStat)+' - '+dmAcbr.ACBrNFe1.WebServices.Inutilizacao.xMotivo),'Inutilizar Numeração',MB_OK);
 end;


 

Link to post
Share on other sites
37 minutos atrás, zemarcio disse:

Não consigo debugar, mas segue o trecho completo abaixo:

porque não consegue?

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
  • Usuários SAC

o erro ocorre na máquina do cliente, por isso não consigo debugar, já coloquei uns showmessage e descobri que o erro ocorre na linha dmAcbr.ACBrNFe1.ImprimirInutilizacao e mesmo assim não é toda hora que acontece.

Edited by zemarcio
Link to post
Share on other sites

Hum creio que esteja destruindo algo que não é necessário no meio do caminho e assim ocorre o erro

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
18 horas atrás, zemarcio disse:

o erro ocorre na máquina do cliente, por isso não consigo debugar, já coloquei uns showmessage e descobri que o erro ocorre na linha dmAcbr.ACBrNFe1.ImprimirInutilizacao e mesmo assim não é toda hora que acontece.

Outra possível causa, se você utilizar ClientDatasets, é a Midasdll.

[]'s

Consultor SAC ACBr

Elton
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link to post
Share on other sites
  • Solution

Melhor faz o seguinte vai na uses de algum form de sua aplicação e declara midaslib e compila seu executável e testa

Consultor SAC ACBr Juliomar Marchetti
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

skype: juliomar
telegram: juliomar
http://www.juliomarmarchetti.com.br
Embarcadero MVP
Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil
Link to post
Share on other sites
×
×
  • Create New...