Ir para conteúdo
  • Cadastre-se

dev botao

Configurar Acbrchq


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

Recommended Posts

Bom dia,

 

Estou utilizando o componente ACBrCHQ para Impressora Comum, porem não sei dizer se estou configurando ele corretamente, segue código:

 

         ACBrCHQ.Modelo  := chqImpressoraComum;

 

         ACBrCHQ.Porta      := '172.16.2.1';
 
         ACBrCHQ.Banco      := qryCheque.FieldByName('CDBANCO').AsString;
         ACBrCHQ.Cidade     := TiraAcento(qryCheque.FieldByName('DSCIDADE').AsString);
         ACBrCHQ.Favorecido := TiraAcento(qryCheque.FieldByName('DSFAVORECIDO').AsString);
         ACBrCHQ.Valor      := qryCheque.FieldByName ('VLLANC').AsFloat;
         ACBrCHQ.Data       := qryCheque.FieldByName('DTCHEQUE').AsDateTime;
 
         ACBrCHQ.ImprimirCheque;
 
A impressora que tenho que acessar esta em rede, no IP que coloquei na Porta.
 
Ao chamar a rotina ImprimirCheque, não ocorre nada, não aparece mensagem de erro e nem de sucesso.
 
Vocês poderiam me auxiliar por favor?
Link para o comentário
Compartilhar em outros sites

  • Fundadores

O Endereço da Porta está errado... O correto seria algo como:

 

"\\172.16.2.1\NomeDaImpressoraCompartilhada"

 

(lembrando que você deve ativar o compartilhamento dessa impressora antes)

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

Obrigado pela resposta Daniel, 

 

Eu configurei como você informou, ficou assim:

 

ACBrCHQ.Porta      := '\\172.16.2.1\HP LaserJet P4515(Produção)';

 

Porém na hora de Imprimir o cheque retorna o erro "I/O Error 53", ao debugar cheguei ao fonte ACBrDevice na rotina EnviaStringArquivo, linha 926 que é o momento onde é feito um "AssignFile( ArqPrn, Porta );".

 

Ocorre um exception nessa linha.

 

Eu ainda não estou configurando certo, alguma idéia? 

Talvez o nome da impressora esta errado, Eu o peguei nas configurações de Dispositivos e Impressoras no painel de controle.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Mude o nome do compartilhamento, nas propriedades da Impressora,  para algo mais simples... como por exemplo: "HP", e use o mesmo nome na porta do ACBr

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

  • Fundadores

Não tenho ideia... mas pode ser a maneira que o Delphi tenta abrir o recurso...

 

por favor tente imprimir qualquer coisa, com esse aplicativo, que foi compilado em Lazarus

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

Boa Tarde.

 

Desculpe a demora para retornar.

 

Eu fiz download do programa e configurei o Modelo para "ppTexto" e a porta para "\\172.16.2.1\Comercial", ocorre o seguinte erro:

 

"

Unable to open file "\\172.16.2.2\Comercial".
 
Press OK to ignore and risk data corruption.
Press Cancel to kill the program.
 

"

Link para o comentário
Compartilhar em outros sites

  • Fundadores

Nesse caso, tente capturar a porta pelo Prompt de Comando e imprimir algo....

 

https://support.microsoft.com/pt-br/kb/314499/pt-br

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

Boa Tarde,

 

Desculpe a demora para responder.

 

Eu entrei no link enviado e segui os passos do Método um para mapear a porta da impressora, e funcionou.

Consegui fazer algumas impressões de teste utilizando o programa que me passou.

 

Porem quando vou utilizar o componente do ACBrCHQ ocorre o seguinte erro "The specified file was not found". 

 

O valor da porta:

ACBrCHQ.Porta      := 'LPT2';

 

Debugando, Ocorre um exception no unit ACBrDevice, método TACBrDevice.EnviaStringArquivo linha 931. 

 

Essa rotina foi chamada pelo método TACBrDevice.Ativar linha 378, que por sua vez foi chamada pelo método ImprimirCheque.

 

No método TACBrDevice.EnviaStringArquivo, é executado o seguinte trecho:

 

    AssignFile( ArqPrn, Porta ); 
    try
       if IsTXTFilePort and FileExists(Porta) then <------- Esse if esta estranho para mim, poderia me explicar melhor o que ele verifica exatamente?
          Append( ArqPrn )
       else
          Rewrite( ArqPrn ); <----- O Exception é disparado nesta linha
 
       while I <= Max do
       begin
          Write( ArqPrn, copy(AString, I, NBytes ) ) ;
          if fsSendBytesInterval > 0 then
             Sleep( fsSendBytesInterval ) ;
          I := I + NBytes ;
       end ;
 
       Flush( ArqPrn ) ;
    finally
       {$I-}
       {$IFNDEF FPC}System.{$ENDIF}CloseFile( ArqPrn ) ;
       {$I+}
    end ;
 

Eu não entendi direito essa parte, Eu sei que o erro ocorre porque a variavel ArqPrn não esta apontando para um arquivo existente, então onde Eu altero para que ela esteja correta?

 

Obrigado.

Link para o comentário
Compartilhar em outros sites

  • Fundadores

O Delphi não está conseguindo visualizar o mapeamento de portas do Windows...

 

No Inicio da Unit ACBrDevice.pas, existe uma diretiva que liga o uso de "Stream", ao invés de AssignFile

 

Tente Mudar:

 

{$IFDEF FPC}
 {$DEFINE Use_Stream}
{$ENDIF}
 

 

Para:

 

{$DEFINE Use_Stream}
 

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

  • Fundadores

Não sei mais o que tentar...

 

Tente em outra máquina, parece ser alguma configuração desse sistema operacional

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

Bom dia,

 

Eu verifiquei a questão de permissão de usuário e vi que Eu não tinha acesso a pasta \System32\spool\printers, liberei o acesso e agora consigo imprimir.

 

O estranho agora é que ele esta imprimindo um pagina para cada linha.

 

Por exemplo, o campo valor do cheque é R$30,00, isso é impresso em uma pagina, o valor por extenso "Trinta Reais" é impresso em outra pagina.

 

Isso é configuração de componente? ou tem alguma coisa no código que esta errado?

Link para o comentário
Compartilhar em outros sites

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

The popup will be closed in 10 segundos...