Ir para conteúdo
  • Cadastre-se

felipenapa

Membros
  • Total de ítens

    84
  • Registro em

  • Última visita

Posts postados por felipenapa

  1. Boa tarde Ítalo, muito obrigado!

     

    Vamos lá:

    1) Estou utilizando o ACBrDANFCeFortesFr

     

    2) OK. Na verdade, eu estava alimentando na linha de cima (que não copiei aqui) a propriedade  "ACBrNFe1.WebServices.Enviar.Lote" com o número do lote de desejado,

     mas vou fazer da forma que você sugeriu, fica melhor.

     

    Quanto ao retorno, é possível que o webservice não me dê um retorno e eu tenha que executar uma consulta manual?

    Se sim, utilizo o ACBrNFe1.Consultar para puxar o retorno depois? E pego o retorno igual ao código que postei acima.

     

    3) Outra dúvida sobre o envio Assíncrono: como faço para o componente ou o delphi "cair fora", ou seja, nao ficar travado aguardando o retorno do webservice?

     

     

    Muito obrigado! Desculpe tantas dúvidas mas nunca trabalhei com "processos" assíncronos e faz tempo que trabalhei com NF-e, só voltei a mexer mesmo no componente por conta da NFC-e. Estou tirando a ferrugem.

  2. Boa tarde, estou com duas dúvidas na implementação do módulo de NFC-e utilizando o componente Acbr.

     

    Podem me ajudar?

     

    1) DANFE Offline

    Estou gerando a NFC-e no modo offline, mas não consigo adicionar uma mensagem na impressão do DANFE, para indicar que o DANFE foi emitido offline.

    Estou fazendo desta forma e no DANFE a mensagem não é impressa. Ambiente de Homologação.

     

          Ide.modelo    := 65;     
          Ide.tpImp     := tiNFCe;
          Ide.indFinal  := cfConsumidorFinal;
          Ide.indPres   := pcPresencial;

          Ide.tpEmis := teOffLine;
          Ide.dhCont := Ide.dEmi;
          Ide.xJust := 'DANFE EM CONTINGÊNCIA OFFLINE. SUA CONSULTA ESTARÁ DISPONÍVEL EM ALGUMAS HORAS.';


     
    2) Envio da NFC-e no modo assíncrono
    2-A - Posso enviar apenas uma NF no modo assíncrono ou devo enviar no modo síncrono?
    Fiz um teste, enviando apenas uma NF no modo assíncrono e funcionou, retornou em 20 segundos, mas fico em dúvida é se é o correto, por conta da dúvida 2B.

     
    2-B - A forma que estou fazendo, abaixo, é a mais correta para o modo assíncrono?
    Me baseei no exemplo do componente.
    Minha dúvida é se isso pode demorar muito tempo e o sistema ficar travado (mais de 5 minutos), como já ocorreu, e acabei finalizando a aplicação.
     
    Estou utilizando o Webservice do Amazonas.
     
    Existe outra forma?

                ACBrNFe1.Enviar(ACBrNFe1.WebServices.Enviar.Lote
                               ,False    //Imprimir = False
                               ,False); //Assincrono


              MemoResp.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetWS);
              memoRespWS.Lines.Text := UTF8Encode(ACBrNFe1.WebServices.Retorno.RetornoWS);
              LoadXMLRetorno(MemoResp, WBResposta, ACBrNFe1.WebServices.Enviar.Lote);

              MemoDados.Lines.Add('');
              MemoDados.Lines.Add('Envio NFe');
              MemoDados.Lines.Add('tpAmb: '+ TpAmbToStr(ACBrNFe1.WebServices.Retorno.TpAmb));
              MemoDados.Lines.Add('verAplic: '+ ACBrNFe1.WebServices.Retorno.verAplic);
              MemoDados.Lines.Add('cStat: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cStat));
              MemoDados.Lines.Add('cUF: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cUF));
              MemoDados.Lines.Add('xMotivo: '+ ACBrNFe1.WebServices.Retorno.xMotivo);
              MemoDados.Lines.Add('cMsg: '+ IntToStr(ACBrNFe1.WebServices.Retorno.cMsg));
              MemoDados.Lines.Add('xMsg: '+ ACBrNFe1.WebServices.Retorno.xMsg);
              MemoDados.Lines.Add('Recibo: '+ ACBrNFe1.WebServices.Retorno.Recibo);
              MemoDados.Lines.Add('Protocolo: '+ ACBrNFe1.WebServices.Retorno.Protocolo);



    // E utilizo os campos abaixo para pegar o retorno de cada NF.
              AcbrNFe1.NotasFiscais.Items[nCt].NFe.procNFe.cStat
             ACBrNFe1.WebServices.Enviar.Lote,
             ACBrNFe1.WebServices.Retorno.Recibo,
             AcbrNFe1.NotasFiscais.Items[nCt].NFe.procNFe.nProt,              //ACBrNFe1.WebServices.Retorno.NFeRetorno.ProtNFe.Items[nCt].nProt,
             AcbrNFe1.NotasFiscais.Items[nCt].NFe.procNFe.digVal

     
     
     
    Obrigado!
     

     

  3. Caros, bom dia!

     

    Uso o componente Acbr para emissão de NF-e de Mercadorias há anos  (com Delphi 7 e Quick Report 3).

    Fazia alguns meses (ou mais de 1 ano) que eu não atualizava.

     

    Fui atualizar hoje, para atender aos requisitos da versão 3.10, e ao compilar o pacote  AcbrNFeDanfeQR começou a dar erro

    [Fatal Error] AcbrNFeDanfeQR.dpk(47): Required package 'QR5RunD7' not found

     

    Verifiquei no fórum algumas soluções, mas não funcionou.

    Fiz o procedimento abaixo, baseado nessas soluções e algums suposições minhas.

    Gostaria de saber se posso seguir por esse caminho (se sim, pode até ficar documentado para caso alguém tenha o mesmo problema:

     

    No pacote AcbrNFeDanfeQR, no requires:

    Troquei de:

    {$IFDEF VER150} QR5RunD7, vcljpg, visualclx, {$ENDIF} // D7

    Troquei para:

    {$IFDEF VER150} qrpt70, vcljpg, visualclx; {$ENDIF} // D7

     

     

    Ao compilar começou a dar erro nas units abaixo (dando falta da unit QRPDFFilt):

    ACBrNFeDANFeQRNFCe.pas, ACBrNFeDANFeQR.pas, ACBrNFeDAInutQR.pas, ACBrNFeDANFeQRSimplificado, ACBrNFeDANFeQRPaisagem, ACBrNFeDANFeQRRetrato

     

    Nessas units, eu comentei tudo o que fazia referência ao QrPDFFilt, eu comentei.

     

    =================================

      {$IFDEF QReport_PDF}
         //QRPDFFilt,
      {$ENDIF

    =================================

    var
    //  qf : TQRPDFDocumentFilter;

    =================================

           // qf := TQRPDFDocumentFilter.Create(AFile);
          //  qf.CompressionOn := False;
         //  QRNFe.QRPrinter.ExportToFilter( qf );
          //  qf.Free;

    =================================

     

    Feito isso, compilei o pacote AcbrNFeDanfeQR sem erros.

    Abri minha aplicação, dei build, abri e fiz consulta de status de serviço, emiti NF-e, imprimi Danfe, fiz cancelamento e carta de correção, tudo sem erros, utilizando a versão 3.10 do Schema.

     

    Posso assumir que está tudo OK, certo?

     

     

    Obrigado e parabéns pelo projeto e fórum.

  4. Ao utilizar o comando ImprimiEvento ou ImprimirEventoPDF recebo o erro "Imprimir" ou então "ImprimirPDF".

     

    Alguém sabe como devo proceder para corrigir?

     

    A rotina de envio da carta e obtenção do XML de retorno estão OK..

    Uso Delphi 7.

     

     

    Segue o código:

     

       ACBrNFe1.NotasFiscais.Clear;
       vNFArq := ACBrNFE1.Configuracoes.Arquivos.PathNFe + '\' + v_ChaveNFe + '-nfe.XML';
       ACBrNFe1.NotasFiscais.LoadFromFile(vNFArq);


       ACBrNFe1.EventoNFe.Evento.Clear;
       ACBrNFe1.EventoNFe.LerXML(ACBrNFE1.Configuracoes.Arquivos.PathNFe + '\' + v_NomeArqXMLRetorno);
       ACBrNFe1.ImprimirEventoPDF;

    //ou
       ACBrNFe1.ImprimirEvento;

     

     

    Consigo imprimir a nota fiscal normalmente (imprimir ou gerar PDF), só não consigo imprimir a carta de correção.

     

     

     

    Debugando, percebo que ele entra aqui:

     

    procedure TACBrNFe.ImprimirEventoPDF;
    begin
      if not Assigned( DANFE ) then
         raise EACBrNFeException.Create('Componente DANFE não associado.')
      else
         DANFE.ImprimirEVENTOPDF(nil);
    end;

     

    e depois

     

    procedure TACBrNFeDANFEClass.ImprimirEVENTOPDF(NFE: TNFe);
    begin
      ErroAbstract('ImprimirPDF');
    end;

     

     

×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.