Ir para conteúdo
  • Cadastre-se

dev botao

ACBrSat+ACBrExtratoFortes imprimindo na impressora padrão ou na ultima impressora que foi utilizada


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

Recommended Posts

Postado

Olá, Boa Tarde.

Pessoal, eu já li o tópico abaixo antes de criar esse novo, porém não consegui resolver o problema ainda.

Seguinte, sempre que mando uma impressão Sat pelo ACBrExtratoFortes, ele desconsidera as informações que defino para a impressora, e manda a impressão na impressora padrão.

Desse modo tenho que deixar a impressora como padrão do computador.

Recentemente o que está me ocorrendo também, é que quando imprimo um etiqueta pelo ACBrETQ, as próximas impressões do Sat saem na impressora de etiqueta.

 

Segue abaixo o código para imprimir SAT:

LarguraBobina                  := StrToInt(Ini.ReadString('IMPRESSORA', 'LARGURA', ''));
MargemSuperior               := StrToInt(Ini.ReadString('IMPRESSORA', 'MARGEM_CIMA', ''));
MargemInferior                 := StrToInt(Ini.ReadString('IMPRESSORA', 'MARGEM_BAIXO', ''));
MargemEsquerda             := StrToInt(Ini.ReadString('IMPRESSORA', 'MARGEM_ESQ', ''));
MargemDireita                  := StrToInt(Ini.ReadString('IMPRESSORA', 'MARGEM_DIR', ''));
Imp                                    := Ini.ReadString('IMPRESSORA', 'PORTA', '');

procedure TfrmPrincipal.PrepararImpressao;
begin
   ACBrSATExtratoFortes.Impressora      := Imp;
   ACBrSATExtratoFortes.LarguraBobina   := LarguraBobina;
   ACBrSATExtratoFortes.MargemSuperior  := MargemSuperior;
   ACBrSATExtratoFortes.MargemInferior  := MargemInferior;
   ACBrSATExtratoFortes.MargemEsquerda  := MargemEsquerda;
   ACBrSATExtratoFortes.MargemDireita   := MargemDireita;

end; 

PrepararImpressao;

ACBrSAT.ImprimirExtrato;

 

Segue abaixo o código para imprimir etiqueta:

Ini := TIniFile.Create(ExtractFilePath(ParamStr(0)) + 'config.ini');

      with ACBrETQ do
      begin
         Desativar;

         case Ini.ReadString('IMP_ETQ', 'DPI', '') of
         'dpi203' : DPI:= TACBrETQDPI(dpi203);
         'dpi300' : DPI:= TACBrETQDPI(dpi300);
         'dpi600' : DPI:= TACBrETQDPI(dpi600);
         end;

         case Ini.ReadString('IMP_ETQ', 'MODELO', '') of
         'etqNenhum' : Modelo:= TACBrETQModelo(etqNenhum);
         'etqPpla' : Modelo:= TACBrETQModelo(etqPpla);
         'etqPplb' : Modelo:= TACBrETQModelo(etqPplb);
         'etqZPLII' : Modelo:= TACBrETQModelo(etqZPLII);
         'etqEpl2' : Modelo:= TACBrETQModelo(etqEpl2);
         end;

         Porta         := Ini.ReadString('IMP_ETQ', 'PORTA', '');
         Temperatura   := StrToIntDef(Ini.ReadString('IMP_ETQ', 'TEMPERATURA', ''),10);
         Velocidade    := StrToIntDef(Ini.ReadString('IMP_ETQ', 'VELOCIDADE', ''),-1);

         case Ini.ReadString('IMP_ETQ', 'BACKFEED', '') of
         'bfNone' : BackFeed:= TACBrETQBackFeed(bfNone);
         'bfOn' : BackFeed:= TACBrETQBackFeed(bfOn);
         'bfOff' : BackFeed:= TACBrETQBackFeed(bfOff);
         end;

         Unidade       := etqMilimetros; //etqDecimoDeMilimetros;
         MargemEsquerda:= StrToIntDef(Ini.ReadString('IMP_ETQ', 'MARGEM_ESQ', ''), 0);

         case Ini.ReadString('IMP_ETQ', 'ORIGEM', '') of
         'ogNone' : Origem:= TACBrETQOrigem(ogNone);
         'ogTop' : Origem:= TACBrETQOrigem(ogTop);
         'ogBottom' : Origem:= TACBrETQOrigem(ogBottom);
         end;

         case Ini.ReadString('IMP_ETQ', 'PAGCOD', '') of
         'pceNone' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pceNone);
         'pce437' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce437);
         'pce850' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce850);
         'pce852' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce852);
         'pce860' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce860);
         'pce1250' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce1250);
         'pce1252' : PaginaDeCodigo:= TACBrETQPaginaCodigo(pce1252);
         end;

         Ativar;
      end;

      with ACBrETQ do
      begin
         if (Modelo = etqPpla) then
          begin
            ImprimirTexto(orNormal, 2, 2, 2, 21, 2, Copy(LabelProduto.Caption, 0, 30));
            ImprimirCaixa(10,32,56,17,1,1);
            ImprimirBarras(orNormal, barEAN13, 2, 2, 4, 2, ComboBoxProduto.Text, 10, becSIM);
            ImprimirTexto(orNormal, 3, 4, 4, 2, 24, ' R$');
            ImprimirTexto(orNormal, 3, 4, 4, 2, 41, ' '+copy(LabelPreco.Caption, 4, Length(LabelPreco.Caption)));
          end
          else if (Modelo = etqEpl2) then
          begin
            ImprimirTexto(orNormal, 2, 2, 2, 3, 3, Copy(LabelProduto.Caption, 0, 30), 0, True);
            ImprimirTexto(orNormal, 2, 2, 1, 8, 3, '');
            ImprimirBarras(orNormal, barEAN13, 2, 2, 13, 5, ComboBoxProduto.Text, 10, becSIM);
            ImprimirCaixa(10,32,56,13,1,1);
            ImprimirTexto(orNormal, 3, 3, 2, 16, 34, 'R$');
            ImprimirTexto(orNormal, 3, 4, 4, 12, 45, copy(LabelPreco.Caption, 4, Length(LabelPreco.Caption)));
          end;

         ACBrETQ.Imprimir(StrToIntDef('1', 1), StrToIntDef(Ini.ReadString('IMP_ETQ', 'AVANCO', ''), 0));
         Desativar;
      end;

Postado
Em 30/07/2021 at 12:45, lincoln disse:

eu sempre deixo a impressora padrao que vo usar no sistema, se o cliente or usar outra el escolhe na hora

Então Lincoln, eu não deixo padrão pois tenho cliente que possui impressora A4 e usa para imprimir boletos, e muitas vezes ele muda ela para padrão.

Postado

SEGUINTE

1 compartilhe a impressora  que vc vai usar  par aimprimir direto

exemplo

\\nome do computador\nome da impressora

 

ACBrPosPrinter1.Porta:=IBQuery2IMPRESSORA.ASSTRING;
 

voce pode usar um arquivo ini ou campo na tabela ponha o nome da impressora

Postado
Em 30/07/2021 at 13:10, lincoln disse:

SEGUINTE

1 compartilhe a impressora  que vc vai usar  par aimprimir direto

exemplo

\\nome do computador\nome da impressora

 

ACBrPosPrinter1.Porta:=IBQuery2IMPRESSORA.ASSTRING;
 

voce pode usar um arquivo ini ou campo na tabela ponha o nome da impressora

É isso mesmo que faço, uso um arquivo INI. No ACBrPosPrinter funciona perfeitamente esse processo, porém no ACBrExtratoFortes que ele desconsidera a impressora definida no INI.

Postado
Em 30/07/2021 at 13:20, lincoln disse:

no componente tem la IMPRESSORA ponha onome dela la

impre.png

Eu faço dessa forma:

Imp                                    := Ini.ReadString('IMPRESSORA', 'PORTA', '');

ACBrSATExtratoFortes.Impressora      := Imp;

 

Aparentemente, acredito estar correto. Sempre na hora de imprimir SAT eu faço esse comando.

  • 3 semanas depois ...
  • Solution
Postado

Boa Noite, descobri onde estava o problema.

Estava passando o nome da impressora junto com a porta para o Fortes, exemplo: RAW:IMPRESSORA

Alterei para o nome da impressora somente, e pronto. Resolvido.

Obrigado Lincoln, pela ajuda.

  • Obrigado 1
  • Administradores
Postado

Obrigado por reportar.

Fechando. Para novas dúvidas, criar um novo tópico.

Consultora ACBr Pro

Juliana Tamizou

Gerente de Projetos ACBr / Diretora de Marketing AFRAC
Ajude o Projeto ACBr crescer - Seja Pro

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

Projeto ACBr - A maior comunidade Open Source de Automação Comercial do Brasil


Participe de nosso canal no Discord e fique ainda mais próximo da Comunidade !!

  • Este tópico foi criado há 1333 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • 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...
The popup will be closed in 10 segundos...