Ir para conteúdo
  • Cadastre-se

dev botao

Tratamento Comando Direto Acbr


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

Recommended Posts

  • Membros Pro

Olá pessoal,

 

Venho aqui relatar um estudo do protocolo dos comunicações das Impressoras.

 

Primeiramente eu precisava pegar a data e hora da emissão  da última Redução Z das Impressoras. Não achei nenhum comando ACBR e nenhuma solução até o momento.

Resolvi usar a função "EnviaComando" para buscar a data e hora da últ. RZ.

Peguei os protocolos de comunicação (comandos diretos) da Bematech, Sweda (STX) e Daruma.

 

Obtive os seguintes resultados (data e hora da última Red. Z):

 

Obs.: Cada impressora tem um comando, não foi explicado pois está dentro do protocolo de cada impressora.

 

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

Bematech:

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

 

* Nesta Impressora a Ultima Redução Z foi: 17/05/2013 15:31:11

* Enviei o Comando: EnviaComando( #35 + #26 )

* Resposta do comando acima peguei no comando: RespostaComando --> O Resultado foi: #$17#5#$13#$15'1'#$11'@

* O que eu indentifiquei na resposta #$17#5#$13#$15'1'#$11'@

Dia: 17

Mes: 5

Ano: 13

Hora: 15

Minuto: '1', transformando em Hexa = 31

Segundo: 11

 

Obs.: O minuto eu transformei em hexa!

 

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

Daruma:

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

 

* Nesta Impressora a Ultima Redução Z foi: 15/05/2013 15:07:29

* Enviei o Comando : EnviaComando( #28 +'R' + #200 + '154')

* Resposta do comando: ':È15415052013150729'#$D

* Identifiquei:

Data: 15052013

Hora: 150729

 

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

Sweda STX:

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

* Nesta Impressora a Ultima Redução Z foi: 15/05/2013 13:17:45

* Enviei o Comando: EnviaComando(#51+#52+#124+#65+#50)

* Resposta do comando: #2'234A0002'#0#$1B']17/05/2013'#0'13:17:45'#0#0#3'³'#2'234+0000DA˜€€€€A2'#3#$19

* Identifiquei:

Data: 17/05/2013

Hora: 13:17:45

 

 

Alguem tem alguma noção como que eu trato as repostas? Em tese achei os valores. Mas preciso de um tratamento mais adequado!

 

Link para o comentário
Compartilhar em outros sites

Existe sim o comando para pegar essas informações, use o comando "DadosUltimaReducaoZ", veja como utiliza-la no Demo ACBrECF.

 

A Daruma (implementado por mim) e a Bematech, vc ainda pode usar o propriedade "DadosReducaoZClass" após chamara o comando "DadosUltimaReducaoZ" para buscar as informações dela que facilita.

 

Já a Sweda, se não me engano não nos oferece dados da ultima redução Z.

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Eu já utilizo o comando "Dados da Redução Z", porém a data e hora da emissão não consegui pegar!

Acima eu citei que "Não achei nenhum comando ACBR"

Eu preciso da data e Hora da emissão da última Redução Z, como não achei nada referente, usei comando direto.

Editado por sesistemas
Link para o comentário
Compartilhar em outros sites

  • Membros Pro

Bem irei explicar melhor.

 

O sistema que trabalho:

Sempre verifica os dados da última Redução Z da Impressora com os dados da última Red. Z do Banco de Dados.

Ou seja quando emito uma Red. Z ele grava dados no banco de dados e quando abro o sistema verifica se os dados IMPRESSORA = BANCO DE DADOS estão iguais.

 

Problema: Se , por exemplo, os  dados estiverem incompativeis entre IMPRESSORA E BANCO DE DADOS,  o procedimento nosso é:

1. Excluir a última Reducao Z do Banco de Dados

2. Automaticamente o sistema pega os dados da última Redução Z  da Impressora e Grava no BD. 

3. A data e hora da emissão não está sendo possível pegar,se, os dados da Red. Z forem gravados dias posteriores, ou se for emitida a redução dias posteriores.

 

A única informação de Data que consegui é: DataMovimento  

Porém eu quero a data  e hora da Emissão. Alguém poderia me informar como pego a data e a hora da EMissao da Ult Red Z no momento que eu desejar?

 

Obs.:Data de emissão pode diferente da data de Movimento.

 

 

 

 

Grato pela compreensão.

Editado por sesistemas
Link para o comentário
Compartilhar em outros sites

  • 5 semanas depois ...
  • Fundadores

Realmente não existe tal retorno no ACBrECF...

 

Podemos seguir dois caminhos:

- Criar uma nova propriedade ACBrECF.DataEmissaoUltimaReducaoZ

- Modificar a rotina GetDadosUltimaReducaoZ e inserir um novo campo na classe...

 

Acredito que nem todos os ECFs tenham um comando específico para retornar essa informação (como o citado no tópico), e que alguns ECFs não retornarão essa informação nem mesmo na leitura dos dados da Ultima Reducao Z

 

O que vocês acham ser o mais interessante ?

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

  • 3 semanas depois ...
  • Fundadores

Em relação a este post, acabei de subir a seguinte modificação para o SVN:

 

 

-- ACBrECF --
[+] Adicionada nova propriedade ACBrECF.DataHoraUltimaReducaoZ, que retorna a
    Data e Hora da emissão da última redução Z                  (por: DSA)
[+] Adiciona a propriedade DadosReducaoZ.DataHoraEmissao, que só será preenchida
    quando for chamada por DadosUltimaReducaoZ    (por: DSA)

-- ACBrECFBematech --
[+] Adicionada suporte a propriedade ACBrECF.DataHoraUltimaReducaoZ,   (por:DSA)

-- ACBrECFDaruma --
[+] Adicionada suporte a propriedade ACBrECF.DataHoraUltimaReducaoZ,   (por:DSA)

-- ACBrECFEpson --
[+] Adicionada suporte a propriedade ACBrECF.DataHoraUltimaReducaoZ,   (por:DSA)

-- ACBrECFFiscNET --
[+] Adicionada suporte a propriedade ACBrECF.DataHoraUltimaReducaoZ,   (por:DSA)

-- ACBrECFSwedaStx -- [*] Adicionado suporte a identificação do Consumidor no rodapé do Cupom (por:DSA)
[+] Adicionada suporte a propriedade ACBrECF.DataHoraUltimaReducaoZ    (por:DSA)

-- ECFTeste -- [*] Modificado em Lazarus e Delphi para exibir o retorno de
    ACBrECF.DataHoraUltimaReducaoZ      (por: DSA)
                                                            

 

 

  • Curtir 1
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á 4103 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.