Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

  • Membros Pro
Postado

Bom dia,

Amigos, estou com um grande problema, 3 clientes meus só ontem compraram uma impressora Elgin i9, bem usando o PosPrinter configurado(Modelo=ppEscElgin, Porta=Compartilhamento\Impressora, CortarPapel=true, PaginaCodigo=pc850). Não sai o QRCode e não corta o papel.

Alguém ai está usando o PosPrinter com esta impressora? Se sim, o que devo fazer para sair o QRCode e cortar o papal?

Para apaziguar as coisas, estou usando nestes clientes os DANFeRL, mais não está cortando o papel, sei que neste caso o corte fica por conta do próprio dispositivo configurando na painel de controle "Dispositivos e impressoras" já foi fui lá, existe estas opção "Guilhotina, Cortar, Destacar", nenhuma destas a impressora corta o papel até imprimindo página de teste.

Se poderem me ajudem.

  • Membros Pro
Postado
16 horas atrás, Daniel Simoes disse:

Elgin I9 usa ppEscPosEpson

Boa noite, Muito obrigado Daniel, deu certinho, imprimiu tudo, QRCode, Cortou o papel, enviando comando para compartilhamento.

  • 1 mês depois ...
Postado

Olá pessoal, estou usando uma impressora epson tm t20 não fiscal, Modelo=ppEscEpson, para nfc-e, estar imprimindo normalmente, o detalhe é

cortar o papel, não executa quando tento informar pelo componente

ACBrNFeDANFeESCPOS1.PosPrinter.CortarPapel               :=True;

não aceita, conforme CortarPapel, existe parcial e total, mas como informar?

Obrigado,

Leão

 

 

Postado

Olá Daniel, coloquei no botão Imprimir Danfe  funcionou.    (NFC-e) impressora TM T20 Epson não fiscal. Assim:

             if TabGlobal.DConf_nfce.CORTA_PAPEL.Conteudo='S' then
             ACBrPosPrinter1.ImprimirLinha('</corte_total>');


Mas quando for botão Criar\Enviar, onde coloco esse código?

Obrigado,

Leão

Postado

Olá Daniel, coloquei o código no botão Imprimir Danfer, e funcionou certinho, mas se for quando usar o botão Criar\Enviar, porque o retorno já começa

imprimir,  onde inserir o código:

procedure TFormNFC_gerar.btnImprimirClick(Sender: TObject);
begin

  OpenDialog1.Title := 'Selecione a NFC-e';
  OpenDialog1.DefaultExt := '*-nfe.XML';
  OpenDialog1.Filter := 'Arquivos NFE (*-nfe.XML)|*-nfe.XML|Arquivos XML (*.XML)|*.XML|Todos os Arquivos (*.*)|*.*';
  OpenDialog1.InitialDir :=TabGlobal.DConf_nfce.PATH_NFC.Conteudo;

  if OpenDialog1.Execute then
  begin
    ACBrNFe1.NotasFiscais.Clear;
    ACBrNFe1.NotasFiscais.LoadFromFile(OpenDialog1.FileName,False);
    ACBrNFe1.NotasFiscais.Imprimir;

       if (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='0') or //não fiscal
          (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='1') or  //não fiscal
          (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='2') or  //não fiscal
          (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='3') or  //não fiscal
          (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='4') or  //não fiscal
          (TabGlobal.DConf_nfce.IMPRESSORAS_SUPORTADAS.Conteudo='5') then  //não fiscal
        begin
             if TabGlobal.DConf_nfce.CORTA_PAPEL.Conteudo='S' then
             ACBrPosPrinter1.ImprimirLinha('</corte_total>');
       end;
    
  end;


end;

No botão Criar\Enviar, não tem a função Imprimir

Obrigado,

Leão

 

Postado

Olá Daniel, talvez não tenha me expressado corretamente, no exemplo precisamente no botão Criar\Enviar da NFC-e do demo, estar assim:

procedure TForm1.btnCriarEnviarNFCeClick(Sender: TObject);
var
 vAux, vNumLote, vSincrono : String;
 Sincrono : boolean;
begin
  if not(InputQuery('WebServices Enviar', 'Numero da Nota', vAux)) then
    exit;

  if not(InputQuery('WebServices Enviar', 'Numero do Lote', vNumLote)) then
    exit;

  vSincrono := '1';
  if not(InputQuery('WebServices Enviar', 'Envio Síncrono(1=Sim, 0=Não)', vSincrono)) then
    exit;

  vNumLote := OnlyNumber(vNumLote);

  if Trim(vNumLote) = '' then
   begin
     MessageDlg('Número do Lote inválido.',mtError,[mbok],0);
     exit;
   end;

  if (Trim(vSincrono) <> '1') and
     (Trim(vSincrono) <> '0') then
   begin
     MessageDlg('Valor Inválido.',mtError,[mbok],0);
     exit;
   end;

  if (Trim(vSincrono) = '1') then
    Sincrono := True
  else
    Sincrono := False;  

  ACBrNFe1.NotasFiscais.Clear;

  ACBrNFe1.Configuracoes.Geral.ModeloDF := moNFCe;
  ACBrNFe1.Configuracoes.Geral.VersaoDF := ve310;
  GerarNFCe(vAux);

  ACBrNFe1.Enviar(vNumLote,True,Sincrono);

  if not Sincrono then
  begin
    MemoResp.Lines.Text := ACBrNFe1.WebServices.Retorno.RetWS;
    memoRespWS.Lines.Text := ACBrNFe1.WebServices.Retorno.RetornoWS;
    LoadXML(ACBrNFe1.WebServices.Retorno.RetWS, WBResposta);

    MemoDados.Lines.Add('');
    MemoDados.Lines.Add('Envio NFCe');
    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);
  end
  else
  begin
    MemoResp.Lines.Text := ACBrNFe1.WebServices.Enviar.RetWS;
    memoRespWS.Lines.Text := ACBrNFe1.WebServices.Enviar.RetornoWS;
    LoadXML(ACBrNFe1.WebServices.Enviar.RetWS, WBResposta);

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

  ACBrNFe1.NotasFiscais.Clear;
end;


nesse exemplo onde colocaria o código?

Leão

Postado

Olá Daniel, na verdade não utilizo Monitor, mas valeu a dica, agora estar dando certo, estou informando assim:

           if TabGlobal.DConf_nfce.CORTA_PAPEL.Conteudo='S' then
           ACBrNFeDANFeESCPOS1.PosPrinter.CortaPapel                :=True
           else
           ACBrNFeDANFeESCPOS1.PosPrinter.CortaPapel                :=False;


porém existe também o CortarPapel, com esse não deu certo.

Mas estar funcionando com a de cima, agradeço muito

e

Obrigado,

Leão

  • Este tópico foi criado há 3220 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.