Ir para conteúdo
  • Cadastre-se

dev botao

Sistema não respondendo Imprimir NFC-e


  • Este tópico foi criado há 187 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Membros Pro

Olá, Estou passando por uma situação diferente nas impressões da NFC-e, em um cliente que tem uma mega loja e com varios pontos de venda trabalhando localmente, esta ocorrendo no momento da impressão quando é chamado a rotina (ACBrNFe1.NotasFiscais.Imprimir; ) de ficar não respondendo e fechar todo o PDV.  Isso esta ocorrendo constantemente de passar 3 a 5 vendas e repetir o erro e indeferente da maquina. 

A rotina do sistema hoje é emitir a NFCe e em seguida sair a impressao, para teste comentei a chamada da impressão e funcionou normalmente sem trava e fechamento do sistema.

Atualizeis os fontes e reinstalei o Fortes report e ACBR porem continua ocorrendo o travamento e fechando o PDV.

procedure TFrmNFE.ImprimirNotas(arqnfe, Tipo, TipoImp, DirPdf:String);
var I, J :Integer;
begin
  try
    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(edtPathLogs.Text + arqnfe);
    ACBrNFe1.DANFE.Impressora := frmPDV.sPrinterNFCEACBR;

    DMPDV.AdicionarLinhaLogs('Carregou o XML da nota para imprimir');
    if Tipo = 'NFCE' then
    begin
      ACBrNFeDANFCeFortes.vTroco := DMPDV.QComprovantePEDF_VLR_TROCO.AsFloat;

      if ACBrNFeDANFCeFortes.vTroco > 0 then
      begin
        for i := 0 to ACBrNFe1.NotasFiscais.Items[0].NFe.pag.Count - 1 do
        begin
          if ACBrNFe1.NotasFiscais.Items[0].NFe.pag.Items[I].tPag = fpDinheiro then
          begin
            ACBrNFe1.NotasFiscais.Items[0].NFe.pag.Items[I].vPag := ACBrNFe1.NotasFiscais.Items[0].NFe.pag.Items[I].vPag +
            ACBrNFeDANFCeFortes.vTroco;
            Break;
          end;
        end;
      end;

      if (BuscaParametroGenerico('PDV_OCULTA_DESCNFCE') = 'N') then
         ACBrNFeDANFCeFortes.ImprimeDescAcrescItem := False
      else
         ACBrNFeDANFCeFortes.ImprimeDescAcrescItem := True;

      if (BuscaParametroGenerico('PDV_IMP_DESCPRODNFCE') = 'S') then
         ACBrNFeDANFCeFortes.ImprimeemUmaLinha := False
      else
         ACBrNFeDANFCeFortes.ImprimeemUmaLinha := True;

      if (BuscaParametroGenerico('PDV_QRCODE_SEP') = 'N') then
         ACBrNFeDANFCeFortes.ImprimeQRCodeLateral := True
      else
        ACBrNFeDANFCeFortes.ImprimeQRCodeLateral := False;

      if (BuscaParametroGenerico('PDV_IMP_TAM_BOBINA') <> '') then
         ACBrNFeDANFCeFortes.LarguraBobina :=  StrToInt(BuscaParametroGenerico('PDV_IMP_TAM_BOBINA'))
      else
         ACBrNFeDANFCeFortes.LarguraBobina := 280;

      try
        frmPDV.sChegouImp := 'S';

        if (TipoImp = 'Normal') then
        begin
          DMPDV.AdicionarLinhaLogs('Chamando a impressão da Nota');
          if StrToInt(frmPDV.sTipoImpQtd) > 1 then
          begin
            // ACBrNFe1.DANFE.NumCopias := StrToInt(frmPDV.sTipoImpQtd);
            j := 0;
            while j < StrToInt(frmPDV.sTipoImpQtd) do
            begin
               ACBrNFe1.NotasFiscais.Imprimir;
               inc(j);
            end;
          end
          else
          begin
            try
              DMPDV.AdicionarLinhaLogs('Inicializando a Impressão da NFSE');
              ACBrNFe1.NotasFiscais.Imprimir;  => "Aqui esta travando o sistema"
            except
              on E: Exception do
              begin
                DMPDV.AdicionarLinhaLogs('Erro na impressão: ' + E.Message);
              end;
            end;
          end;
        end
        else
        begin
          ACBrNFe1.DANFE.PathPDF := DirPdf;
          ACBrNFe1.NotasFiscais.ImprimirPDF;
        end;
      except
        on E:Exception do
        begin
          DMPDV.AdicionarLinhaLogs('Falha na impressão da NFCE. Verifique o motivo do erro ' + e.Message);
          Abort;
        end;
      end;
    end
    else
    begin
      frmPDV.sChegouImp := 'S';
      if (TipoImp = 'Normal') then
      begin
        ACBrNFe1.DANFE.TipoDANFE := tiSimplificado;
        ACBrNFe1.NotasFiscais.Imprimir;
      end
      else
      begin
        ACBrNFe1.DANFE.TipoDANFE := tiSimplificado;
        ACBrNFe1.DANFE.PathPDF := DirPdf;
        ACBrNFe1.NotasFiscais.ImprimirPDF;
      end;
    end;
  except
    on E:Exception do
    begin
      DMPDV.AdicionarLinhaLogs('Falha geral na impressão da NFCE. Verifique o motivo do erro ' + e.Message);
    end;
  end;
end;

 

Link para o comentário
Compartilhar em outros sites

  • Consultores

@BSSOFT
boa noite!
a impressão está configurada para fortes ou escpos ?
Se estiver em escpos (AcbrPosPrinter) veja se o ArqLog esta habilitado e nos anexe o arquivo log.
Vc envia algum logo para impressão no cupom ? se sim, testou sem enviar o logo?
Ele fica parado na fila de impressão ?
Só acontece em um determinado cliente ?
Se vc executar o programa exemplo carregar o xml e imprimir neste computador ele funciona ou trava tbm? pergunto pq o programa exemplo é o que usamos como base de teste para identificar possíveis erros.
Consegue fazer estes testes por favor?
Abr

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

@Daniel InfoCotidiano

estamos usando o fortes e não usamos logo, utilizamos como esta no ACBR, nos casos que acompanhei ele não chega a enviar para spool de impressão do windows.

No momento esta acontecendo neste cliente especifico, porem em pc diferentes.

Quanto executar o programa do acbr e imprimir ele funciona sim, tanto que depois que trava e fecha o sistema, o usuario reabre o sistema e manda reimprimir a nota com sucesso, e continua utilizando normalmente, até passar um determinado numero de vendas e acontece o erro. 

Aqui usamos o Delphi e nos parece que falta liberar a memoria de algo, que vai empilhando até estourar.  Mas pelo que analisei na impressão não tem nada que fica alocando a memória ou não estou encontrando.

Link para o comentário
Compartilhar em outros sites

  • Consultores

@BSSOFT Bom dia !
Se puder nos enviar um xml para nosso email [email protected] no corpo do email favor colocar o link deste post.
Cupom o ideal é usar ACBrPosPrinter/EscPos comunida direto com a impressora, vc tem controle de sensores, etc.
tente verificar nas propriedades da sua impressora  ou formulario continuo para testes.
Screenshot_470.png

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Consultores

@BSSOFT
Recebi os arquivos, ambos estão carregando e imprimindo normalmente.
Fiz mais q um teste utilizando o ACBNFeDEMO, não apresentou problemas na minha i9.
Percebi que tem poucos itens, mesmo assim com poucos itens trava na sua impressora?
Por favor, teste com o programa exemplo, clicar em imprimir (ele vai carregar o xml) e imprimir, veja se o comportamento é o mesmo.
Tentou ver o firmware da impressora?
Se executar testes com o bloco de notas por exemplo em sequencia ela trava?

Consultor SAC ACBr

Daniel de Morais (Infocotidiano)
Ajude o Projeto ACBr crescer - Assine o SAC

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

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

@Daniel InfoCotidiano  as notas são pequenas de quantidades mesmo,  pelo programa do ACBR imprimindo e carregando não trava, fiz o mesmo teste no sistema de gerar a nota e por outra tela fazer a chamada da impressão, nesse caso funciona normalmente.


Na parte de firmaware não alterei. 

Estou estudando o Demo ACBrPosPrinter/EscPos para implementar no sistema e verificar se consigo sanar o problema

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 187 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.