Ir para conteúdo
  • Cadastre-se

dev botao

SAT PostPrinter não libera impressora


klipvirtual
Ver Solução Respondido por Sérgio Assunção,
  • Este tópico foi criado há 2823 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Pessoal,

Estou com o seguinte problema: Na tela de vendas do SAT tenho um botão de SANGRIA que sempre usaram numa boa na impressora fiscal, é uma tela simples, aparece a forma da sangria (dinheiro, cheque) e o valor e em seguida sai um cupom impresso com essas informações.

O problema é que agora com o SAT (uso Delphi XE2, trunk2, PosPrinter no cupom, Dimep e Epson TM-20) esse botão da sangria imprime apenas antes de ser impresso qualquer cupom SAT, ou seja, se o usuário quiser imprimir a sangria e já tiver impresso um cupom SAT ele precisa sair do sistema e entrar novamente, aí o sistema imprime a SANGRIA, caso contrário não imprime, entendo com isso que o SAT não está liberando a impressora/porta.

Abaixo está a rotina da impressão do cupom da Sangria.

 

      cds003ePdvFpagDescr.Value    := DMgpl.cds_ve_fpagsangriaPdvFPagDescr.Value;
      //
      try
         AssignFile(WcFIle, DMsat.WcPosP_Porta);
         Rewrite(WcFile);
         //
         Writeln(WcFile,'------------------------------------------------');
         Writeln(WcFile,copy(FoMenu.XcNomeEmp,1,40));
         Writeln(WcFile,'------------------------------------------------');
         Writeln(WcFile,'Data: ' + DateToStr(Date) + '   Hora: ' + TimeToStr(Time));
         Writeln(WcFile,'------------------------------------------------');
         Writeln(WcFile,Space(48));
         Writeln(WcFile,'SANGRIA');
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,copy(DMgpl.cds_ve_fpagsangriaPdvFPagDescr.Value,1,26) + ': R$ ' + Format('%8.2f',[cds003eSangriaValor.Value]));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,'------------------------------------------------');
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile, #27 + #105''); // corta papel
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
         Writeln(WcFile,Space(48));
      finally
         CloseFile(WcFile);
      end;

 

O cupom eu imprimo assim:

   DMsat.DM_PrepararImpressao;
   //
   DMsat.ACBrSAT1.ImprimirExtrato;
 

Se alguém puder me ajudar a liberar a impressora/porta de antemão agradeço.

 

Rogério

 

Link para o comentário
Compartilhar em outros sites

  • Membros
  • Solution

Desative a porta ao final de cada impressão e ative quando for imprimir.

Exemplo 1
procedure TfrmPDV.PrepararImpressao;
begin
ACBrPosPrinter1.Desativar;
...


Exemplo 2
PrepararImpressao;
ACBrSAT.ImprimirExtrato;
ACBrPosPrinter1.Desativar;

Equipe ACBr Sérgio Assunção
Ajude o Projeto ACBr crescer - Assine o SAC

Projeto ACBr

 

[email protected]

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Veja também a propriedade:

ACBrPosPrinter1.ControlePorta := True;

Isso fará com que o próprio componente Abra e feche a porta, automaticamente...

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 para o comentário
Compartilhar em outros sites

  • 6 meses depois ...
  • Este tópico foi criado há 2823 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.