Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Boa noite, pessoal sou novo no forum e comecei a usar os componentes da ACBR e estou tendo um problema na hora de imprimir etiqueta.

Tenho uma balança da toledo prix 9094 que envia o peso para a tela do computador e que imprime automaticamente a etiqueta, pois quando 

defino a impressão por um botão ela imprime normalmente apenas uma etiqueta, mas quando ponho a opção para monitorar a balança e coloco um peso em cima ela

sai imprimindo varias etiquetas ate eu retirar o peso, como se ficasse informação guardada em buffer. Com o monitoramento ativo parece que ela imprime a etiqueta e da

ENTER automático.

Gostaria que quando colocasse o peso , com o monitoramento da balança ativo imprimisse apenas uma etiqueta.

Uso Delphi 7 

Balança Toledo prix 9094

Impressora Zebra GC420t

obrigado

  • Administradores
Postado

Bom dia.

Seu sistema dispara automaticamente as impressões? Se sim parece o caso de revisar a implementação desta rotina,tente copiar o trecho de código que faz isso para que seja mais fácil aos demais usuários lhe dar apoio.

Att.

  • Curtir 1
Consultora SAC ACBr

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 !!

Postado

Boa tarde segue um trecho do programa onde eu clico em um botão e entra na tela para pesagem e emissão de etiqueta.

procedure TForm1.BitBtn1Click(Sender: TObject);
var
  varSopradoraId,varProdutoId,varProduto,varTurno,varTurnoAnterior,varTurnoPosterior: String;
begin

  // conectar balança
  // se houver conecção aberta, Fecha a conecção
  if acbrBal1.Ativo then
    ACBrBAL1.Desativar;

  // configura porta de comunicação
  ACBrBAL1.Modelo           := TACBrBALModelo( 2 );
  ACBrBAL1.Device.HandShake := TACBrHandShake( 0 );
  ACBrBAL1.Device.Parity    := TACBrSerialParity( 0 );
  ACBrBAL1.Device.Stop      := TACBrSerialStop( 0 );
  ACBrBAL1.Device.Data      := 8;
  ACBrBAL1.Device.Baud      := 9600;
  ACBrBAL1.Device.Porta     := 'COM1';

  // Conecta com a balança            =
  ACBrBAL1.Ativar;
  // monitora balança
  ACBrBAL1.MonitorarBalanca := True ;

end;

procedure TForm1.ACBrBAL1LePeso(Peso: Double; Resposta: String);
var
  varProdutoID,varDataAtual,varDataSequencia,varDataHora,varhora,varSequencia,
  varCodProduto,varProduto,varCodBarras,varDataEtiqueta,varIdentificador,varPncliente,varCodigoInterno: String;
  varPesoMin,varPesoMax,varPesoMinEng,varPesoMaxEng: Real;
begin
   
   if Peso >= (qrProduto2.FieldValues['PESO_MINIMO'] - 2) then
      begin
        lblPeso.Caption   := formatFloat('##0.000', Peso );
        varCodProduto     := qrProduto2.FieldValues['codigo_produto'];
        varProduto        := qrProduto2.FieldValues['nome_produto'];
        varCodigoInterno  := qrProduto2.fieldValues['codigo_produto'];
        varPesoMin        := qrProduto2.FieldValues['peso_minimo'];
        varPesoMax        := qrProduto2.FieldValues['peso_maximo'];
     
        teste:=  varIdentificador;

        if (Peso >= varPesoMin) AND (Peso <= varPesoMax) then
           begin
              varStatus            := '1'; // aprovado
              varEngenharia        := '0'; // aprovado
              varReprovado         := '0'; // não reprovado
              lblStatus.Caption    := ' APROVADO ';
           
           end
        else
           begin
              varStatus            := '0'; // Reprovado
              lblStatus.Caption    := ' REPROVADO ';
            
           end;

        // verifica data sequencia
        qrProduto2.Close;
        qrProduto2.Open;
        qrProduto2.Locate('codigo_produto',varCodigoInterno,[]);
        varDataSequencia := FormatDateTime('yyyy-mm-dd',qrProduto2.FieldValues['data_sopro']);

        //Verifica a Sequencia
        if (varDataAtual <> varDataSequencia) then
          begin
            varSequencia := '1';
            lblSequencia.Caption := varSequencia;

            with qrSalvar do
            begin
              Close;
              SQL.Clear;
              SQL.Add('UPDATE produto SET data = '''+varDataAtual+''',sequencia = '+varSequencia+'');
              SQL.Add('WHERE codigo_produto ='+QuotedStr(DBEdit1.Text)+'');
              ExecSQL;
            end;

          end
        else
          begin
              varSequencia := IntToStr( QrProduto2.FieldValues['sequencia'] + 1 );
              lblSequencia.Caption := varSequencia;

              //Grava nova Sequencia em ParametroPeso
              with qrSalvar do
              begin
                  Close;
                  SQL.Clear;
                  SQL.Add('UPDATE produto SET sequencia = '+varSequencia+'');
                  SQL.Add('WHERE codigo_produto ='+QuotedStr(DBEdit1.Text)+'');
                  ExecSQL;
              end;
          end;

        with qrSalvar2 do
        begin
          Close;
          SQL.Clear;
          SQL.Add('INSERT INTO registros (cod_barras,data,aprovado,peso,produto)');
          SQL.Add('VALUES ('''+varCodBarras+''','''+varDataHora+''','+varStatus+',:pPeso,'''+varcodProduto+''')');
          Prepare;
          ParamByName('pPeso').AsInteger := Round(Peso*1000);
          ExecSQL;
        end;
      
         lbl1.Caption    :='';
         lbl2.Caption    := VarPncliente;
         lbl3.Caption    := '';
         lbl4.Caption    := '';
         lbl5.Caption    := '';
         lbl7.Caption    := varCodBarras;

         // usa Quickreport
           
         QRImage1.Enabled := true;
         Qrlabel2.Enabled := false;
         QrLabel1.Enabled := true;

          lbl8.Caption    := '';
          lbl9.Caption    := '';
          lbl3.Caption    := varDataHora;
              
          // Imprime a etiqueta
          qrepEtiqueta.Print;

   end;
end;

  • Administradores
Postado

Bom dia.

Sua etiqueta é feita em QuickReport, por que não utiliza o ACBETQ?

Att.

  • Curtir 1
Consultora SAC ACBr

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 !!

  • 2 semanas depois ...
Postado

Boa noite,

Juliana, ainda não utilizei com componente ACBETQ, pois este sistema ja estava desenvolvido e a pessoal que desenvolveu

saiu da empresa e agora preciso por pra funcionar na produção e estou tendo este problema.

Você teria uma dica de como implementar esta rotina que passei com o ACBETQ?

obrigado

 

  • Administradores
Postado

Bom dia.

Acredito que bastaria substituir os locais onde usa o quickreport pelo ACBrETQ. Recomendo que analise o demo do componente para  entender melhor seu funcionamento.

Att.

  • Curtir 1
Consultora SAC ACBr

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 !!

Postado

Boa noite,

Juliana, ainda não utilizei com componente ACBETQ, pois este sistema ja estava desenvolvido e a pessoal que desenvolveu

saiu da empresa e agora preciso por pra funcionar na produção e estou tendo este problema.

Você teria uma dica de como implementar esta rotina que passei com o ACBETQ?

obrigado

 

Boa tarde, Juliana tem como limpar o buffer de impressão pois quando coloco para monitorar a balança ela imprime as outras que esta no buffer...

obrigado.

  • Administradores
Postado

Bom dia.

16 horas atrás, carlos melo disse:

Você teria uma dica de como implementar esta rotina que passei com o ACBETQ?

Acredito que basta inserir o ACBrETQ em sua codificação, veja o exemplo de utilização do demo do componente.

16 horas atrás, carlos melo disse:

tem como limpar o buffer de impressão pois quando coloco para monitorar a balança ela imprime as outras que esta no buffer...

Não seria comum ter esse problema , talvez seja algo relacionado ao spool do windows.

Att.

Consultora SAC ACBr

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á 2233 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.