Ir para conteúdo
  • Cadastre-se

dev botao

Gravação De Relatórios Gerenciais Protocolo Ecfescecf Bematech Mp4200


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

Recommended Posts

Olá pessoal,

 

Estou usando um ECF Bematech MP4200 com o protocolo EcfEscEcf para fazer alguns teste.

 

Quando vou realizar a gravação de relatórios gerencias a função não aceita espaços no nome dos relatórios

procedure TACBrECFEscECF.ProgramaRelatorioGerencial(var Descricao: String;
   Posicao: String);
var
   PosRel : Integer;
begin
  if not Assigned( fpRelatoriosGerenciais ) then
     CarregaRelatoriosGerenciais ;

  Descricao := AjustaDescricao( Descricao ); //<<---- DESCRIÇÃO SÓ RECEBE LETRAS SEM ESPAÇOS

  EscECFComando.CMD := 86;
  if Posicao = '' then
     PosRel := RelatoriosGerenciais.Count + 1
  else
     PosRel := StrToInt( Posicao );
  EscECFComando.AddParamInteger( PosRel ) ;
  EscECFComando.AddParamString( Descricao ) ;
  EnviaComando;

  CarregaRelatoriosGerenciais;
end;               

Analisando mais a fundo a função, vi que "AjustaDescricao( Descricao );" chama a função "OnlyAlpha" que só retorna letras. 

function TACBrECFEscECF.AjustaDescricao(ADescricao : String) : String ;
begin
  { Ajusta uma descrição de acordo com as regras do protocolo EscECF
    Máximo de 15, Mínimo de 4 caracteres ASCII de posição 65 a 90 (letras maiúsculas)
    ou 97 a 122 (letras minúsculas) }
  Result := OnlyAlpha( LeftStr( TiraAcentos( ADescricao ),15) );
  
end ;     

Para resolver o meu problema, eu retirei do result da função  "AjustaDescricao" a chamada para "OnlyAlpha".

Com isso consegui gravar relatórios gerenciais com espaços.

 

Não sei se isso seria o certo ou se há outra maneira de resolver, pois segundo o comentário na função "AjustaDescricao", a mesma é chamada para atender as normas do protocolo EscEcf.

E ainda, esta mesma função e usada em outros métodos dentro da Unit EscEcf.

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores

A legislação é bem clara quanto a essa restrição... Veja:

 

post-61-0-54152000-1428427232_thumb.jpg

 

Na Tabela ASCII

65 = A, 90 = Z

97 = a, 122 = z

 

Ou seja, o espaço (32 na tabela ASCII) não é permitido.

 

Acho que não convém modificar nos fontes... Por favor consulte o fabricante sobre esse assunto...

  • Curtir 3
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.

Link para o comentário
Compartilhar em outros sites

Olá Daniel, obrigado pela resposta.

 

Também vejo essa clareza na legislação, porém parece que há uma incoerência na mesma.

Sei que o acbr não tem nada a ver com isso e segue o que está escrito.

 

Mas segundo a grande experiencia que  vocês tem, não acha que pode ser usado o espaço?

Sendo que no exemplo indicado na legislação é feito o uso do espaço (inclusive uma barra).

 

post-2094-0-65402400-1428438226_thumb.jp

 

 

Obrigado pela atenção.

 

 

 

 

Link para o comentário
Compartilhar em outros sites

  • Fundadores
  • Solution

Truco... :)

 

Eu acho já tive problemas com o uso do espaço em algum modelo de ECF (não me lembro).... Mas vamos permitir, e ver no futuro, como se comporta dos demais modelos...

  • Curtir 2
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.

Link para o comentário
Compartilhar em outros sites

  • Consultores

Truco... :)

kkkkkkk Essa foi boa

 

 

Olá Daniel, obrigado pela resposta.

 

Também vejo essa clareza na legislação, porém parece que há uma incoerência na mesma.

Sei que o acbr não tem nada a ver com isso e segue o que está escrito.

 

Mas segundo a grande experiencia que  vocês tem, não acha que pode ser usado o espaço?

Sendo que no exemplo indicado na legislação é feito o uso do espaço (inclusive uma barra).

 

Um problema comum na legislação de automação parece ser sempre a falta de cuidado com a ambiguidade. Talvez o requisito queira dizer que é necessário haver pelo menos 4 caracteres que são letras. Por exemplo, o seguinte nome não iria ser aceito " A/B ".

  • Curtir 1

[]'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.
Link para o comentário
Compartilhar em outros sites

  • Fundadores

Fiz um teste com "A/B" no emulador da Bematech... e realmente não foi aceito... mas tentei: "ABC/D" e aceitou...

 

Acho melhor deixarmos livre... e o ECF faz as críticas que achar necessário, acusando o erro: "Parâmetro Inválido"

  • Curtir 2
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.

Link para o comentário
Compartilhar em outros sites

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