Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Pessoal, bom dia!

Alguém sabe me dizer o motivo do erro:

0503 Data em intervalo invalido

na hora de tirar a redução Z? Se deixar para tirar a redução Z no dia seguinte não acontece isso.

Obrigado,

Ivan

  • 10 meses depois ...
Postado

Olá!

 

Na ocasião desse erro, havia parado sem eu fazer muita coisa.

Então, como voltou o erro em outro cliente e esse erro persiste, estou anexando o log aqui pra ver se alguém sabe o que pode ser.

Um detalhe que eu reparei:

  - O ECF está em horário de verão com o relógio atrasado uns 40 minutos do relógio do PC. Ex: No PC são 19:51 e no ECF são 19:11.

 

Ambiente:

  - Delphi XE3 update2, Windows 7 64 bits, Epson TM-T81F

 

---------------------- log

 

 

19:39:22:642 RX <- [sTX][224][NUL][sOH][FS][192][132][FS][FS][NUL][NUL][FS][ETX]029A
-- 19:39:22:643
TX -> [sTX][225][14][ACK][FS][NUL][sOH][ETX]0117
RI-
19:39:23:250 RX <- [sTX][225][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]10215[ETX]03AC
-- 19:40:12:275 DataHora
TX -> [sTX][226][ENQ][ESC][sTX][FS][NUL][NUL][ETX]0125
19:40:12:428 RX <- [sTX][226][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]12032013[FS]191653[ETX]0595
-- 19:40:31:116 Estado
TX -> [sTX][227][bS][16][FS][NUL][NUL][ETX]011C
19:40:31:261 RX <- [sTX][227][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]1[ETX]02E6
-- 19:40:43:625
TX -> [sTX][228][ENQ][ESC][sTX][FS][NUL][NUL][ETX]0127
19:40:43:771 RX <- [sTX][228][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]12032013[FS]191725[ETX]0597
-- 19:42:13:018
TX -> [sTX][229][bS][sOH][FS][NUL][sOH][FS]12032013[FS]191225[ETX]0408
19:45:48:668 RX <- [sTX][229][NUL][sOH][FS][192][128][FS][FS][ENQ][ESC][ETX][FS][ETX]02BE
----------------- ERRO -----------------
Erro retornado pela Impressora: Epson

Erro: 0503 - Data em intervalo inválido.
----------------------------------------

-- 19:46:03:532 Estado
TX -> [sTX][230][bS][16][FS][NUL][NUL][ETX]011F
19:46:04:683 RX <- [sTX][230][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]1[ETX]02E9

Postado

Eu só tô mandando a data do movimento. A hora eu não passo.

Eu faço assim:

 

frmPrincipal.ecfImpressora.ReducaoZ(frmPrincipal.ecfImpressora.DadosReducaoZClass.DataDoMovimento);

 

e ese método DataDoMovimento é TDateTime, mas manda somente a data

  • Fundadores
Postado

A ideia desse parâmetro é permitir um acerto do Relógio do ECF, +-5min por dia... Se você desejar, pode chamar o comando sem parâmetro algum:

frmPrincipal.ecfImpressora.ReducaoZ ;

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

passei o log mais acima, mas posto aqui novamente.

 

 

---------------------- log

19:39:22:642 RX <- [sTX][224][NUL][sOH][FS][192][132][FS][FS][NUL][NUL][FS][ETX]029A
-- 19:39:22:643
TX -> [sTX][225][14][ACK][FS][NUL][sOH][ETX]0117
RI-
19:39:23:250 RX <- [sTX][225][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]10215[ETX]03AC
-- 19:40:12:275 DataHora
TX -> [sTX][226][ENQ][ESC][sTX][FS][NUL][NUL][ETX]0125
19:40:12:428 RX <- [sTX][226][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]12032013[FS]191653[ETX]0595
-- 19:40:31:116 Estado
TX -> [sTX][227][bS][16][FS][NUL][NUL][ETX]011C
19:40:31:261 RX <- [sTX][227][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]1[ETX]02E6
-- 19:40:43:625
TX -> [sTX][228][ENQ][ESC][sTX][FS][NUL][NUL][ETX]0127
19:40:43:771 RX <- [sTX][228][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]12032013[FS]191725[ETX]0597
-- 19:42:13:018
TX -> [sTX][229][bS][sOH][FS][NUL][sOH][FS]12032013[FS]191225[ETX]0408
19:45:48:668 RX <- [sTX][229][NUL][sOH][FS][192][128][FS][FS][ENQ][ESC][ETX][FS][ETX]02BE
----------------- ERRO -----------------
Erro retornado pela Impressora: Epson

Erro: 0503 - Data em intervalo inválido.
----------------------------------------

-- 19:46:03:532 Estado
TX -> [sTX][230][bS][16][FS][NUL][NUL][ETX]011F
19:46:04:683 RX <- [sTX][230][NUL][sOH][FS][192][128][FS][FS][NUL][NUL][FS][FS]1[ETX]02E9

 

---------------------------------------------------------

 

 

Estava passando assim:

 

frmPrincipal.ecfImpressora.ReducaoZ(frmPrincipal.ecfImpressora.DadosReducaoZClass.DataDoMovimento);

nessa linha ele manda somente a data.

 

Daí passei a fazer assim:

 

frmPrincipal.ecfImpressora.ReducaoZ(Now);

  • Fundadores
Postado

provavelmente seus fontes estão desatualizados...

 

Veja que nos fontes atuais há tratamento para ajustar a hora informada, em relação a tolerância máxima permitida pelo ECF... e também há um tratamento para chamar o método sem a DataHora quando ocorre o erro "0503"

 

 

Procedure TACBrECFEpson.ReducaoZ(DataHora: TDateTime) ;
var
  DtHrECF : TDateTime ;
begin
  if DataHora <> 0 then
  begin
     DtHrECF  := GetDataHora;
     DataHora := max( IncMinute(DtHrECF,-5), min( IncMinute(DtHrECF,5), DataHora)) ;
  end ;

  EpsonComando.Comando := '0801' ;
  EpsonComando.TimeOut := TempoInicioMsg + 30 ;  // apenas para o bloqueio de teclado funcionar
  if DataHora <> 0 then
   begin
     EpsonComando.Extensao := '0001' ;
     EpsonComando.AddParamDateTime( DataHora, 'D' ) ;
     EpsonComando.AddParamDateTime( DataHora, 'T' ) ;
   end
  else
   begin
     EpsonComando.AddParamString( '' ) ;
     EpsonComando.AddParamString( '' ) ;
   end ;

  try
     EnviaComando ;
  except
     on E : Exception do
     begin
        if (pos('0107',E.Message) > 0) or     // Erro de Hora fora da faixa ?
           (pos('0503',E.Message) > 0) then   // Data em intervalo inválido.
           ReducaoZ(0)                         // Tenta sem DataHora
        else if (pos('0102',E.Message) > 0) then   // Comando inválido para o documento atual.
         begin                                      //  Ficou algum Cupom aberto ?
           CancelaCupom ;
           ReducaoZ(DataHora);
         end
        else
           raise ;
     end ;
  end ;

  ZeraCache;
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.

Postado

Só aproveitando o tópico, desinstalei, apaguei e atualizei os fontes do svn e na hora de compilar o ACBr_PAF, dá um erro na unit ACBrEPCBloco_0_Class, na função TBloco_0.WriteRegistro0000, na linha:

 

 

Add( LFill( '0000' ) +
LFill( CodVerToStr(COD_VER) ) +
LFill( strTIPO_ESCRIT ) +
LFill( strIND_SIT_ESP ) +
LFill( strNUM_REC_ANTERIOR) +
LFill( DT_INI ) +
LFill( DT_FIN ) +
LFill( NOME ) +
LFill( CNPJ ) +
LFill( UF ) +
LFill( COD_MUN, 7 ) +
LFill( SUFRAMA, 9, True ) +
LFill( strIND_NAT_PJ ) +
LFill( strIND_ATIV ) );

 

com a mensagem de uso indevido de parâmetros para a função LFill. Retirei o True da linha LFill( SUFRAMA, 9, True ) + e instalou normalmente.

Postado

é isso mesmo! É que eu tinha apagado somente as pastas fontes e pacotes.

Apaguei todo o trunk, baixei de novo e compilou certinho!

Agora voltemos à questão da ReduçãoZ da epson. Amanhã terei uma resposta e posto aqui.

Mais uma vez, obrigado!

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

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

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