Ir para conteúdo
  • Cadastre-se

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

Recommended Posts

Postado

Bom dia,

Estou tendo um problema com a emissão da redução Z pendente na impressora Epson T800F usando o protocolo ecfEscECF.

Quando envio o comando para emissão da redução Z utilizando o ECFTeste é apresentada a seguinte mensagem.

 

Erro retornado pela Impressora: EPSON - TM-T800F

Categoria: 16-Erro específico do Fabricante
Motivo: 3-Data em intervalo inválido.
#1/#26#0#0#1#0#0#23#29#029012015|2|000000038|190402||#155
- + - + - + - + - + - + - + - + - + - + - + -

 

Por favor, alguém pode me dar uma dica?

 

Obrigado

 

 

 

Postado

Sim, pelo software da Epson (EPmfd3), a redução Z sai, porém quando deixo data em branco é preenchido o valor padrão e da o mesmo erro, e se tento enviar sem os parâmetros de data e hora retorna que os parâmetros estão faltando.

  • Fundadores
Postado

Por favor tente com essa modificação....

  EscECFComando.CMD := 21;
  EscECFComando.AddParamInteger(0);  // Data
  EscECFComando.AddParamInteger(0);  // Hora
  EscECFComando.AddParamInteger(0); // Imprime no ECF
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.

Postado

Daniel, também deu erro...

 

Erro retornado pela Impressora: EPSON - TM-T800F

Categoria: 2-Erro em parâmetro do comando
Motivo: 1-Conteúdo de parâmetro inválido no comando.
#1k#26#0#0#1#0#0#23#29#029012015|2|000000038|190402||#215
- + - + - + - + - + - + - + - + - + - + - + -

Mas indo por este caminho, eu mudei aqui o seu comando enviando a string em branco e a redução Z saiu... Acredito que assim seria a melhor solução para o meu problema mesmo... Como não adianta mandar uma data eu comentei o código anterior e deixei assim:

//  if DataHora = 0 then  { Aparentemente a DataHora é obrigatória na EscECF }
//     DataHora := now ;

  EscECFComando.CMD := 21;
  EscECFComando.AddParamString('');  // Data
  EscECFComando.AddParamString('');  // Hora
  EscECFComando.AddParamInteger(0); // Imprime no ECF

 

  • Fundadores
  • Solution
Postado

Por favor teste com a seguinte implementação:

procedure TACBrECFEscECF.ReducaoZ(DataHora : TDateTime) ;
begin
  if DataHora = 0 then  { Aparentemente a DataHora é obrigatória na EscECF }
     DataHora := now ;

  EscECFComando.CMD := 21;
  if DataHora = -1 then  { Sem Data e Hora }
   begin
     EscECFComando.AddParamString('');   // Sem Data
     EscECFComando.AddParamString('');   // Sem Hora
   end
  else
   begin
     EscECFComando.AddParamDateTime(DataHora, 'D' );
     EscECFComando.AddParamDateTime(DataHora, 'H' );
   end;

  EscECFComando.AddParamInteger(0); // Imprime no ECF

  try
     EnviaComando ;
     RespostasComando.Clear;
     SalvaRespostasMemoria(True);
  except
     on E : Exception do
     begin
        // Woraround para Epson, para Erro de data na Redução Z
        if IsEpson and (EscECFResposta.CAT = 16) and (EscECFResposta.RET.ECF = 3) then
         begin
           ReducaoZ(-1);
         end
        else if (pos('5-1',E.Message) <> 0) then    // Comando inválido para o documento atual.
         begin                                      //  Ficou algum Cupom aberto ?
           // Cancelando o Cupom em aberto
           EscECFComando.CMD := 31;
           EnviaComando;

           ReducaoZ(DataHora);
         end
        else
           raise ;
     end ;
  end ;
end;

 

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.

  • Consultores
Postado

bom... enviei as modificações acima para o SVN.. parece ser um Workaround necessário

 

Daniel,

  O problema do now é que o horário do computador pode estar incorreto. Será que não seria melhor passar o horário do ECF?

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

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

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
  • Este tópico foi criado há 3848 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...