Ir para conteúdo
  • Cadastre-se

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

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

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;

  • Consultores
Postado

Bom dia.

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

Att.

  • Curtir 1
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 !!

  • 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

 

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

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.

  • Consultores
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 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á 2805 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...