Jump to content

logo_acbr_paygo.png

Chegou o TEF ACBr PayGo
Seja um revendedor e ofereça uma solução completa para seu cliente.


botao_saibamais.png

beneficios.png

Curso Dominando o ACBrMonitor
Novo Módulo Soluções de Varejo
Assine o SAC ACBr em qualquer plano e tenha acesso

Saiba Mais

Balança SM100 performance surpreendente

Tecnologia Japonesa   Teclado e Visor resistentes a água
Consumo inteligente de etiquetas   Baixo custo de manutenção
Comunicação Ethernet e WIFI independentes

Saiba Mais

Impressora de Etiquetas ELGIN - L42 PRO

Protocolos PPLA, PPLB, ZPL, EPL (automático)
Porta USB padrão Opcionais: Ethernet, Serial, Paralela
Sensor de Etiquetas Móvel Garantia de 18 meses

Saiba mais

jjw.roberto

Membros
  • Content Count

    155
  • Joined

  • Last visited

Everything posted by jjw.roberto

  1. Pessoal, bom dia. Meu cliente entrou em contato com minha empresa pois o número do endereço que é impresso no cabeçalho do ECF durante a emissão de cupons está errado. Eles trocaram a empresa de endereço e agora querem adequar as informações junto à programação do ECF. Não tenho certeza, mas isso só uma interventora pode realizar esta alteração correto? Precisa de documentos também em anexo para comprovar essa alteração, certo?
  2. Pessoal, mais uma dica importante sobre esse assunto. Eventualmente, se você guardar os descontos/acréscimos proporcionais por item de cupom no seu DB, e somar esses proporcionais vai acabar notando que o valor resultante dessa soma não bate com o valor da alíquota retornada da Redução Z. Isso ocorre porque a ECF guarda esses descontos/acréscimos proporcionais dentro de cada totalizador considerando 2 decimais, e durante esse processo a ECF acaba jogando os centavos faltantes da soma em um alíquota específica (veja o item 3.10.3.4.29. DESCONTO OU ACRÉSCIMO EM SUBTOTAL da ETR-ECF 1.09 citada no post anterior, no subitem 1 - 2. Desconto ou Acréscimo sobre subtotal de Cupom Fiscal ou de NFC-e). A regra é você calcular os proporcionais considerando 14 decimais truncando a última, mas a ECF no fim pega esses proporcionais por alíquota, trunca-os em 2 decimais, soma-os e a diferença dessa soma entre o desconto/acréscimo real é jogado para a alíquota de maior valor do cupom em questão. Veja o PDF http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2011/STKs/Como_a_impressora_faz_o_rateio_de_imposto_nas_aliquotas.pdf para mais detalhes. Resumindo, tive que fazer um acerto depois que a redução Z é gravada no DB, para descobrir esses "valores" diferentes e jogar essa diferença em um item (de mesma alíquota) aleatório de algum cupom daquela redução z, para que a soma dos proporcionais dos itens bata com os valores dos totalizadores da redução z. Assim não ocorrem divergências no Bloco X.
  3. Pessoal, bom dia. A saga sobre este assunto continua. Gostaria de compartilhar o documento ETR-ECF (Especificação Técnica de Requisitos do Emissor de Cupom Fiscal). Este documento me ajudou muito, pois ele contrata como as ECFs devem fazer esse cálculo e distribuir os valores de acréscimo/desconto, sobre o subtotal, entre os itens. ATO COPETE https://www.confaz.fazenda.gov.br/legislacao/atos/2019/ato-cotepe-icms-66-19 ETR-ECF https://www.confaz.fazenda.gov.br/legislacao/arquivo-manuais/ac16_09_anexo_i_ert-ecf_versao_01_09_rep.pdf Mesmo implementando essas regras, ainda ocorreram diferenças de 1 centavo nos totalizadores, porém agora meu BlocoX está transmitindo perfeitamente. Este link me ajudou bastante com um exemplo muito bom: http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2011/STKs/Como_a_impressora_faz_o_rateio_de_imposto_nas_aliquotas.pdf
  4. Pessoal, bom dia. Gostaria de reportar um problema utilizando o ACBr Monitor Plus via TCP/IP. Todos os comandos que eu estava emitindo para o ACBR, eu sempre enviava utilizando as "aspas duplas" para delimitar os parâmetros do comando. Por exemplo: ECF.LinhaRelatorioGerencial("Esta é uma linha de exemplo") O problema é que ontem um cliente começou a relatar um problema na impressão do comprovante de cartão (TEF), e quando fui investigar, notei o seguinte erro: ECF.LinhaRelatorioGerencial("|||||||| REDE GETNET||KRAMBECK COMERCIO DE A|17/02/20 13:42:45 AUT:288911 DOC:015832|EC:000000006727715 TERM: T8054717 C|CV:002005122 CAIXA:00000002 L:10235101|ARQC: 3654D1C8FB39D8E5|MASTERCARD ************7706|| | CREDITO PARCELADO EMISSOR|VALOR TOTAL : 151,40|QTDE PARCELAS : 02|| | | TRANSACAO APROVADA MEDIANTE| USO DE SENHA PESSOAL||||&|| (CUPOM FISCAL: 008644)| (NSU D-TEF : 015832)") ERRO: Erro retornado pela Impressora: EPSON Categoria: 2-Erro em parâmetro do comando Motivo: 2-Falta parâmetro no comando Fui fazendo alguns testes e notei que, se eu utilizasse as aspas simples para delimitar os parâmetros, funcionava, porém somente uma parte das linhas era impressa: ECF.LinhaRelatorioGerencial('|||||||| REDE GETNET||KRAMBECK COMERCIO DE A|17/02/20 13:42:45 AUT:288911 DOC:015832|EC:000000006727715 TERM: T8054717 C|CV:002005122 CAIXA:00000002 L:10235101|ARQC: 3654D1C8FB39D8E5|MASTERCARD ************7706|| | CREDITO PARCELADO EMISSOR|VALOR TOTAL : 151,40|QTDE PARCELAS : 02|| | | TRANSACAO APROVADA MEDIANTE| USO DE SENHA PESSOAL||||&|| (CUPOM FISCAL: 008644)| (NSU D-TEF : 015832)') OK: A impressora que estava sendo utilizada é uma Epson T900F. Abaixo segue o log gerado pelo ACBR, na impressão (respectivamente) das linhas usando aspas duplas e aspas simples: -- 18/02 08:16:54:972 AbreRelatorioGerencial -- 18/02 08:16:54:974 TX -> [SOH]=[FF][NUL][STX][NUL]1|[248] -- 18/02 08:16:54:994 RX <- [ACK] -- 18/02 08:16:54:994 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:014 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (1) -- 18/02 08:16:55:066 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:073 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (2) -- 18/02 08:16:55:126 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:134 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (3) -- 18/02 08:16:55:186 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:194 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (4) -- 18/02 08:16:55:245 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:255 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (5) -- 18/02 08:16:55:306 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:314 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (6) -- 18/02 08:16:55:366 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:375 RX <- [WAK][NUL][SOH][NUL][NUL][NUL] (7) -- 18/02 08:16:55:429 Status TX -> [ENQ][NUL] -- 18/02 08:16:55:434 Resposta: SEQ:61 CMD:12 EXT:0 CAT:0 RET:[SOH][NUL][NUL][4] TBR:49 BRS:"000000631|18022020082250 |0|EP121810000000021637|" CHK:78 -- 18/02 08:16:55:535 RX <- [SOH]=[FF][NUL][NUL][SOH][NUL][NUL][4]1[NUL]000000631|18022020082250 |0|EP121810000000021637|N -- 18/02 08:17:13:198 LinhaRelatorioGerencial( "[LF][LF][LF][LF][LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151,40[LF]QTDE PARCELAS : 02[LF][LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF]&[LF][LF] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)", 0 ) -- 18/02 08:17:13:200 TX -> [SOH]>[TAB][NUL][NUL][STX][LF][LF][LF][LF][LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151,40[LF]QTDE PARCELAS : 02[LF][LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF]&[LF][LF] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)[NUL]^ -- 18/02 08:17:13:216 RX <- [ACK] -- 18/02 08:17:13:217 Status TX -> [ENQ][NUL] -- 18/02 08:17:13:233 RX <- [WAK][NUL][SOH][NUL][NUL][4] (1) -- 18/02 08:17:13:285 Status TX -> [ENQ][NUL] -- 18/02 08:17:13:293 Resposta: SEQ:62 CMD:9 EXT:0 CAT:2 RET:[STX][NUL][NUL][4] TBR:0 BRS:"" CHK:79 -- 18/02 08:17:13:294 RX <- [SOH]>[TAB][NUL][STX][STX][NUL][NUL][4][NUL][NUL]O -- 18/02 08:17:13:295 ----------------- ERRO ----------------- Erro retornado pela Impressora: EPSON Categoria: 2-Erro em parâmetro do comando Motivo: 2-Falta parâmetro no comando ---------------------------------------- -- 18/02 08:17:37:295 LinhaRelatorioGerencial( "'[LF][LF][LF][LF][LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151", 0 ) -- 18/02 08:17:37:298 TX -> [SOH]?[TAB][NUL]N[SOH]'[LF][LF][LF][LF][LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151[NUL]|0 -- 18/02 08:17:37:316 RX <- [ACK] -- 18/02 08:17:37:318 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:334 RX <- [WAK][STX][STX][NUL][NUL][4] (1) -- 18/02 08:17:37:385 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:392 RX <- [WAK][STX][STX][NUL][NUL][4] (2) -- 18/02 08:17:37:445 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:453 RX <- [WAK][STX][STX][NUL][NUL][4] (3) -- 18/02 08:17:37:505 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:512 RX <- [WAK][STX][STX][NUL][NUL][4] (4) -- 18/02 08:17:37:564 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:572 RX <- [WAK][STX][STX][NUL][NUL][4] (5) -- 18/02 08:17:37:624 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:633 RX <- [WAK][STX][STX][NUL][NUL][4] (6) -- 18/02 08:17:37:686 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:693 RX <- [WAK][STX][STX][NUL][NUL][4] (7) -- 18/02 08:17:37:745 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:753 RX <- [WAK][STX][STX][NUL][NUL][4] (8) -- 18/02 08:17:37:805 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:814 RX <- [WAK][STX][STX][NUL][NUL][4] (9) -- 18/02 08:17:37:865 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:874 RX <- [WAK][STX][STX][NUL][NUL][4] (10) -- 18/02 08:17:37:927 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:933 RX <- [WAK][STX][STX][NUL][NUL][4] (11) -- 18/02 08:17:37:986 Status TX -> [ENQ][NUL] -- 18/02 08:17:37:993 RX <- [WAK][STX][STX][NUL][NUL][4] (12) -- 18/02 08:17:38:044 Status TX -> [ENQ][NUL] -- 18/02 08:17:38:054 RX <- [WAK][STX][STX][NUL][NUL][4] (13) -- 18/02 08:17:38:106 Status TX -> [ENQ][NUL] -- 18/02 08:17:38:113 Resposta: SEQ:63 CMD:9 EXT:0 CAT:0 RET:[SOH][NUL][NUL][4] TBR:0 BRS:"" CHK:77 -- 18/02 08:17:38:215 RX <- [SOH]?[TAB][NUL][NUL][SOH][NUL][NUL][4][NUL][NUL]M Por fim para resolver, acabei removendo as linhas em branco do começo do comprovante. Aí sim tudo funcionou, veja abaixo o comando enviado e o log do acbr: -- 18/02 08:19:04:497 LinhaRelatorioGerencial( "REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151,40[LF]QTDE PARCELAS : 02[LF][LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF]&[LF][LF] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)", 0 ) -- 18/02 08:19:04:499 TX -> [SOH]B[TAB][NUL][235][SOH]REDE GETNET[LF][LF]KRAMBECK COMERCIO DE A[LF]17/02/20 13:42:45 AUT:288911 DOC:015832[LF]EC:000000006727715 TERM: T8054717 C[LF]CV:002005122 CAIXA:00000002 L:10235101[LF]ARQC: 3654D1C8FB39D8E5[LF]MASTERCARD ************7706[LF][LF] [LF] CREDITO PARCELADO EMISSOR[LF]VALOR TOTAL : 151,40[LF]QTDE PARCELAS : 02[LF][LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF]&[LF][LF] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)[NUL]|[184] -- 18/02 08:19:04:516 RX <- [ACK] -- 18/02 08:19:04:516 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:535 RX <- [WAK][NUL][SOH][NUL][NUL][4] (1) -- 18/02 08:19:04:586 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:592 RX <- [WAK][NUL][SOH][NUL][NUL][4] (2) -- 18/02 08:19:04:644 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:653 RX <- [WAK][NUL][SOH][NUL][NUL][4] (3) -- 18/02 08:19:04:705 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:711 RX <- [WAK][NUL][SOH][NUL][NUL][4] (4) -- 18/02 08:19:04:763 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:773 RX <- [WAK][NUL][SOH][NUL][NUL][4] (5) -- 18/02 08:19:04:825 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:833 RX <- [WAK][NUL][SOH][NUL][NUL][4] (6) -- 18/02 08:19:04:885 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:892 RX <- [WAK][NUL][SOH][NUL][NUL][4] (7) -- 18/02 08:19:04:944 Status TX -> [ENQ][NUL] -- 18/02 08:19:04:951 RX <- [WAK][NUL][SOH][NUL][NUL][4] (8) -- 18/02 08:19:05:003 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:013 RX <- [WAK][NUL][SOH][NUL][NUL][4] (9) -- 18/02 08:19:05:064 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:072 RX <- [WAK][NUL][SOH][NUL][NUL][4] (10) -- 18/02 08:19:05:124 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:133 RX <- [WAK][NUL][SOH][NUL][NUL][4] (11) -- 18/02 08:19:05:184 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:193 RX <- [WAK][NUL][SOH][NUL][NUL][4] (12) -- 18/02 08:19:05:245 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:252 RX <- [WAK][NUL][SOH][NUL][NUL][4] (13) -- 18/02 08:19:05:304 Status TX -> [ENQ][NUL] -- 18/02 08:19:05:313 Resposta: SEQ:66 CMD:9 EXT:0 CAT:0 RET:[SOH][NUL][NUL][4] TBR:0 BRS:"" CHK:80 -- 18/02 08:19:05:415 RX <- [SOH]B[TAB][NUL][NUL][SOH][NUL][NUL][4][NUL][NUL]P Essas linhas em branco vem do gerenciador TEF. Para resolver, fiz a rotina de impressão contar quantas linhas em branco existem no começo, e emitir o comando de ECF.PularLinhas antes de começar a imprimir o comprovante em si. Fazendo agora mais uns testes, notei que o comando funciona se houver um "espaço" depois do "|": ecf.linhaRelatorioGerencial("| | | | | | | | REDE GETNET| | KRAMBECK COMERCIO DE A| 17/02/20 13:42:45 AUT:288911 DOC:015832| EC:000000006727715 TERM: T8054717 C| CV:002005122 CAIXA:00000002 L:10235101| ARQC: 3654D1C8FB39D8E5| MASTERCARD ************7706| | | CREDITO PARCELADO EMISSOR| VALOR TOTAL : 151,40| QTDE PARCELAS : 02| | | | TRANSACAO APROVADA MEDIANTE| USO DE SENHA PESSOAL| | | | &| | (CUPOM FISCAL: 008644)| (NSU D-TEF : 015832)") -- 18/02 08:28:45:627 LinhaRelatorioGerencial( "[LF] [LF] [LF] [LF] [LF] [LF] [LF] [LF] REDE GETNET[LF] [LF] KRAMBECK COMERCIO DE A[LF] 17/02/20 13:42:45 AUT:288911 DOC:015832[LF] EC:000000006727715 TERM: T8054717 C[LF] CV:002005122 CAIXA:00000002 L:10235101[LF] ARQC: 3654D1C8FB39D8E5[LF] MASTERCARD ************7706[LF] [LF] [LF] CREDITO PARCELADO EMISSOR[LF] VALOR TOTAL : 151,40[LF] QTDE PARCELAS : 02[LF] [LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF] [LF] [LF] [LF] &[LF] [LF] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)", 0 ) -- 18/02 08:28:45:629 TX -> [SOH]E[TAB][NUL][255][SOH][LF] [LF] [LF] [LF] [LF] [LF] [LF] [LF] REDE GETNET[LF] [LF] KRAMBECK COMERCIO DE A[LF] 17/02/20 13:42:45 AUT:288911 DOC:015832[LF] EC:000000006727715 TERM: T8054717 C[LF] CV:002005122 CAIXA:00000002 L:10235101[LF] ARQC: 3654D1C8FB39D8E5[LF] MASTERCARD ************7706[LF] [LF] [LF] CREDITO PARCELADO EMISSOR[LF] VALOR TOTAL : 151,40[LF] QTDE PARCELAS : 02[LF] [LF] [LF] [LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF] [LF] [LF] [LF] &[LF] [LF]|z -- 18/02 08:28:45:650 RX <- [ACK] -- 18/02 08:28:45:651 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:668 RX <- [WAK][NUL][SOH][NUL][NUL][4] (1) -- 18/02 08:28:45:720 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:727 RX <- [WAK][NUL][SOH][NUL][NUL][4] (2) -- 18/02 08:28:45:778 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:788 RX <- [WAK][NUL][SOH][NUL][NUL][4] (3) -- 18/02 08:28:45:840 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:848 RX <- [WAK][NUL][SOH][NUL][NUL][4] (4) -- 18/02 08:28:45:899 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:907 RX <- [WAK][NUL][SOH][NUL][NUL][4] (5) -- 18/02 08:28:45:959 Status TX -> [ENQ][NUL] -- 18/02 08:28:45:967 RX <- [WAK][NUL][SOH][NUL][NUL][4] (6) -- 18/02 08:28:46:018 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:027 RX <- [WAK][NUL][SOH][NUL][NUL][4] (7) -- 18/02 08:28:46:080 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:087 RX <- [WAK][NUL][SOH][NUL][NUL][4] (8) -- 18/02 08:28:46:139 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:147 RX <- [WAK][NUL][SOH][NUL][NUL][4] (9) -- 18/02 08:28:46:198 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:206 RX <- [WAK][NUL][SOH][NUL][NUL][4] (10) -- 18/02 08:28:46:257 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:266 RX <- [WAK][NUL][SOH][NUL][NUL][4] (11) -- 18/02 08:28:46:318 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:327 RX <- [WAK][NUL][SOH][NUL][NUL][4] (12) -- 18/02 08:28:46:379 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:387 RX <- [WAK][NUL][SOH][NUL][NUL][4] (13) -- 18/02 08:28:46:439 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:447 RX <- [WAK][NUL][SOH][NUL][NUL][4] (14) -- 18/02 08:28:46:498 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:507 RX <- [WAK][NUL][SOH][NUL][NUL][4] (15) -- 18/02 08:28:46:559 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:568 Resposta: SEQ:69 CMD:9 EXT:0 CAT:0 RET:[SOH][NUL][NUL][4] TBR:0 BRS:"" CHK:83 -- 18/02 08:28:46:669 RX <- [SOH]E[TAB][NUL][NUL][SOH][NUL][NUL][4][NUL][NUL]S -- 18/02 08:28:46:669 -- 18/02 08:28:46:671 TX -> [SOH]F[TAB][NUL]C[NUL] (CUPOM FISCAL: 008644)[LF] (NSU D-TEF : 015832)[NUL]|s -- 18/02 08:28:46:687 RX <- [ACK] -- 18/02 08:28:46:687 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:709 RX <- [WAK][NUL][SOH][NUL][NUL][4] (1) -- 18/02 08:28:46:761 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:768 RX <- [WAK][NUL][SOH][NUL][NUL][4] (2) -- 18/02 08:28:46:819 Status TX -> [ENQ][NUL] -- 18/02 08:28:46:827 Resposta: SEQ:70 CMD:9 EXT:0 CAT:0 RET:[SOH][NUL][NUL][4] TBR:0 BRS:"" CHK:84 -- 18/02 08:28:46:928 RX <- [SOH]F[TAB][NUL][NUL][SOH][NUL][NUL][4][NUL][NUL]T O mais bizarro é que não é um todo o comprovante que isso ocorre, fiz alguns testes com outros comprovantes começando também com várias linhas em branco no começo mas o problema não ocorreu. Alguém saberia me explicar o que disso acontecer?
  5. Daniel, e será que tem como vocês colocarem isso no ROAD-MAP? Seria de grande ajuda se funcionar.... Nós temos bastante clientes com essas ECFs ainda, e a maioria usa o maldito driver USB de emulação de serial. Eles apresentam tantos problemas de perda de comunicação, que constantemente temos que reiniciar a máquina para que o driver volte a funcionar e as vezes temos que pedir para instalar uma placa serial com cabo serial para sanar os problemas de vez.
  6. Legal o resultado foi esse: DeviceKind: DeviceName:Bematech VendorID:0b1b VendorName:Bematech ProductID:0103 ProductModel: DeviceInterface:\\?\usb#vid_0b1b&pid_0103#5&152dc530&0&8#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USBPort:Port_#0008.Hub_#0001 ----------------------------------- DeviceKind: DeviceName:04f2, b610 VendorID:04f2 VendorName: ProductID:b610 ProductModel: DeviceInterface:\\?\usb#vid_04f2&pid_b610#5&152dc530&0&13#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USBPort:Port_#0013.Hub_#0001 ----------------------------------- DeviceKind: DeviceName:8087, 0aaa VendorID:8087 VendorName: ProductID:0aaa ProductModel: DeviceInterface:\\?\usb#vid_8087&pid_0aaa#5&152dc530&0&14#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USBPort:Port_#0014.Hub_#0001 ----------------------------------- DeviceKind: DeviceName:048d, ce00 VendorID:048d VendorName: ProductID:ce00 ProductModel: DeviceInterface:\\?\usb#vid_048d&pid_ce00#5&152dc530&0&6#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USBPort:Port_#0006.Hub_#0001 ----------------------------------- DeviceKind: DeviceName:045e, 0745 VendorID:045e VendorName: ProductID:0745 ProductModel: DeviceInterface:\\?\usb#vid_045e&pid_0745#6&23c5183d&0&3#{a5dcbf10-6530-11d2-901f-00c04fb951ed} USBPort:Port_#0003.Hub_#0002 ----------------------------------- Parece ser a primeira listada. Mas como eu configuro isso no ACBr Monitor Plus? Tentei forçar assim no AcbrMonitorPlus.ini: [ECF] Porta=\\?\usb#vid_0b1b&pid_0103#5&152dc530&0&8#{a5dcbf10-6530-11d2-901f-00c04fb951ed} Mas não funciona.
  7. Finalmente descobri. O arquivo que eu tinha "ACBRMonitor.ini" estava com a configuração assim: [ECF] LinhasEntreCupons=7 Mas os novos que eu baixei do trunk estão assim: [ECF] LinhasEntreCupons=0 Minha falha, falta de atenção, desculpem.
  8. Isso é o resultado da impressão com o ACBRMonitor 1.3.0.176. Veja o corte errado no comprovante. Ressalto que nessa impressão troquei a impressão das linhas do comprovante para serem impressas uma à uma, ao invés de usar o "|" entre os pulos de linhas para enviar tudo de uma vez só.
  9. Utilizando o ACBR Monitor 1.3..176 também ocorre o erro!!! Já no 1.2.0.63 funciona!
  10. Pessoal, bom dia. Estou com um problema meio estranho. Um cliente relatou que parte do comprovante do cartão foi impresso e cortado de movo errado, abaixo as fotos dos mesmos: Note que as 2 linhas iniciais da terceira folha deveriam estar impressas no final da segunda folha. Verificando os comandos que o meu aplicativo enviou para o ACBRMonitor tudo foi certo, inclusive o corte de papel. 2020-01-15 16:18:15.719 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.AbreCupomVinculado(204309,"15",15.39) 2020-01-15 16:18:16.515 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 2020-01-15 16:18:16.517 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.LinhaCupomVinculado("|||| REDE GETNET||KRAMBECK AUTO PECAS E |15/01/20 16:18:38 AUT:226508 DOC:054640|EC:000000000548373 TERM: T1203310 C|CV:003013160 CAIXA:00000002 L:30798375|ARQC: B7A768511DE0CE9D|ELO DEBITO ************3108|CVAD: 015062| FADQ| DEBITO A VISTA|VALOR: 15,39 |||| TRANSACAO APROVADA MEDIANTE| USO DE SENHA PESSOAL|||| (CUPOM FISCAL: 204309)| (NSU D-TEF : 054640)") 2020-01-15 16:18:17.835 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 2020-01-15 16:18:17.836 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.LinhasEntreCupons 2020-01-15 16:18:17.838 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 0 2020-01-15 16:18:17.838 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.PulaLinhas(0) 2020-01-15 16:18:17.971 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 2020-01-15 16:18:17.971 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.CortaPapel(true) 2020-01-15 16:18:18.467 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 2020-01-15 16:18:18.467 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.LinhaCupomVinculado("|||| REDE GETNET||KRAMBECK AUTO PECAS E |15/01/20 16:18:38 AUT:226508 DOC:054640|EC:000000000548373 TERM: T1203310 C|CV:003013160 CAIXA:00000002 L:30798375|ARQC: B7A768511DE0CE9D|ELO DEBITO ************3108|CVAD: 015062| FADQ| DEBITO A VISTA|VALOR: 15,39 |||| TRANSACAO APROVADA MEDIANTE| USO DE SENHA PESSOAL|||| (CUPOM FISCAL: 204309)| (NSU D-TEF : 054640)") 2020-01-15 16:18:20.079 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Resposta: OK: 2020-01-15 16:18:20.340 DEBUG 4612 --- [http-nio-3333-exec-1] b.c.j.b.p.s.EcfPrinterAcBrMonitorService : Enviando comando: ECF.FechaRelatorio No log do ECF, gerado pelo ACBRMonitor, também está tudo certo: -------------------------------------------------------------------------------- ATIVAR - 15/01/20 16:01:18:939 - Modelo: Bematech - Porta: COM1 - TimeOut: 5 Device: BAUD=9600 DATA=8 PARITY=N STOP=1 HANDSHAKE=RTS/CTS HARDFLOW MAXBANDWIDTH=0 SENDBYTESCOUNT=0 SENDBYTESINTERVAL=0 -------------------------------------------------------------------------------- -- 15/01 16:18:15:720 AbreCupomVinculado( 204309 , 15 , 15,39 ) -- 15/01 16:18:15:721 TX -> [STX]([NUL][FS]B06-Cartao Debit 00000000001539204309W[TAB] -- 15/01 16:18:15:773 16:18:15:773 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:15:798 16:18:15:798 VerificaFimImpressao: Pedindo o Status (19) -- 15/01 16:18:16:021 16:18:16:021 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 -- 15/01 16:18:16:513 RX <- @[NUL][NUL][NUL] -- 15/01 16:18:16:519 LinhaCupomVinculado( [LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK AUTO PECAS E [LF]15/01/20 16:18:38 AUT:226508 DOC:054640[LF]EC:000000000548373 TERM: T1203310 C[LF]CV:003013160 CAIXA:00000002 L:30798375[LF]ARQC: B7A768511DE0CE9D[LF]ELO DEBITO ************3108[LF]CVAD: 015062[LF] FADQ[LF] DEBITO A VISTA[LF]VALOR: 15,39 [LF][LF][LF][LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF] (CUPOM FISCAL: 204309)[LF] (NSU D-TEF : 054640) ) -- 15/01 16:18:16:519 TX -> [STX][212][SOH][FS]C[LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK AUTO PECAS E [LF]15/01/20 16:18:38 AUT:226508 DOC:054640[LF]EC:000000000548373 TERM: T1203310 C[LF]CV:003013160 CAIXA:00000002 L:30798375[LF]ARQC: B7A768511DE0CE9D[LF]ELO DEBITO ************3108[LF]CVAD: 015062[LF] FADQ[LF] DEBITO A VISTA[LF]VALOR: 15,39 [LF][LF][LF][LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF] (CUPOM FISCAL: 204309)[LF] (NSU D-TEF : 054640)[LF][153][ -- 15/01 16:18:17:016 16:18:17:016 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:17:035 16:18:17:035 VerificaFimImpressao: Pedindo o Status (19) -- 15/01 16:18:17:162 16:18:17:162 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 -- 15/01 16:18:17:834 RX <- @[NUL][NUL][NUL] -- 15/01 16:18:17:839 PulaLinhas( 0 ) -- 15/01 16:18:17:840 TX -> [STX][ENQ][NUL][FS][20][LF]:[NUL] -- 15/01 16:18:17:854 16:18:17:854 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:17:970 RX <- @[NUL][NUL][NUL] -- 15/01 16:18:17:972 CortaPapel -- 15/01 16:18:17:972 TX -> [STX][ENQ][NUL][FS]#[WAK]P[NUL] -- 15/01 16:18:17:994 16:18:17:994 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:18:096 RX <- [NUL]@[NUL][NUL][NUL] -- 15/01 16:18:18:097 -- 15/01 16:18:18:099 TX -> [STX][ENQ][NUL][FS]#A[128][NUL] -- 15/01 16:18:18:123 16:18:18:123 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:18:225 RX <- [email protected][NUL][NUL][NUL] -- 15/01 16:18:18:228 -- 15/01 16:18:18:229 TX -> [STX][7][NUL][FS][20][ESC]m[LF][194][NUL] -- 15/01 16:18:18:247 16:18:18:247 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:18:363 RX <- @[NUL][NUL][NUL] -- 15/01 16:18:18:469 LinhaCupomVinculado( [LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK AUTO PECAS E [LF]15/01/20 16:18:38 AUT:226508 DOC:054640[LF]EC:000000000548373 TERM: T1203310 C[LF]CV:003013160 CAIXA:00000002 L:30798375[LF]ARQC: B7A768511DE0CE9D[LF]ELO DEBITO ************3108[LF]CVAD: 015062[LF] FADQ[LF] DEBITO A VISTA[LF]VALOR: 15,39 [LF][LF][LF][LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF] (CUPOM FISCAL: 204309)[LF] (NSU D-TEF : 054640) ) -- 15/01 16:18:18:469 TX -> [STX][212][SOH][FS]C[LF][LF][LF][LF] REDE GETNET[LF][LF]KRAMBECK AUTO PECAS E [LF]15/01/20 16:18:38 AUT:226508 DOC:054640[LF]EC:000000000548373 TERM: T1203310 C[LF]CV:003013160 CAIXA:00000002 L:30798375[LF]ARQC: B7A768511DE0CE9D[LF]ELO DEBITO ************3108[LF]CVAD: 015062[LF] FADQ[LF] DEBITO A VISTA[LF]VALOR: 15,39 [LF][LF][LF][LF] TRANSACAO APROVADA MEDIANTE[LF] USO DE SENHA PESSOAL[LF][LF][LF][LF] (CUPOM FISCAL: 204309)[LF] (NSU D-TEF : 054640)[LF][153][ -- 15/01 16:18:19:220 16:18:19:220 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:19:290 16:18:19:290 VerificaFimImpressao: Pedindo o Status (19) -- 15/01 16:18:19:415 16:18:19:415 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 -- 15/01 16:18:20:077 RX <- @[NUL][NUL][NUL] -- 15/01 16:18:20:341 FechaRelatorio -- 15/01 16:18:20:343 TX -> [STX][4][NUL][FS][NAK]1[NUL] -- 15/01 16:18:20:358 16:18:20:358 RX <- ACK = 6 Falha: 0 -- 15/01 16:18:20:373 16:18:20:373 VerificaFimImpressao: Pedindo o Status (19) -- 15/01 16:18:20:837 16:18:20:837 VerificaFimImpressao: ACK = 6, OK... Aguardando ST1 e ST2 -- 15/01 16:18:22:235 RX <- @[NUL][NUL][NUL] Alguém pode me dar uma luz do que possa ser? Obs: No ACBRMonitor o MaxLinhasBuffer = 0 Linhas entre cupons = 0 Versão do ACBRMontior: 1.3.0.235 (compilado pelo trunk do dia 07/01/2020 as 16:00)
  11. Temos várias marcas e modelos que nossos clientes usam, mas as mais comuns são: Bematech TH FI MP-4000 Bematech TH FI MP-4002 Epson T81 FB III Epson T900 F OBS.: testei com uma Epson T900F, mas o tal do botão "Informações USB" não listou nada.
  12. Ah, mas aqui em SC ta cheio dessas "moribundas" . Elas tem pelo menos mais 2 anos de vigência, estão começando a definir a NFC-e agora aqui no estado (que provavelmente vai ser um "SAT da vida" como de SP) ... Mas na teoria deveria funcionar?
  13. Isso também engloba as impressoras fiscais (ECF) ?
  14. Segue PATCH para resolver o problema em anexo DoECFUnit.pas.patch
  15. Pessoal, boa tarde. Gostaria de reportar um BUG, na unit DoECFUnit.pas do Acbr Monitor Plus, no método que faz a impressão da memória fiscal completada por período. O fonte atualmente está assim: procedure TMetodoPafMf_Lmfc_Impressao.Executar; var Ini: String; Fim: String; begin Ini := fpCmd.Params(0); Fim := fpCmd.Params(1); with TACBrObjetoECF(fpObjetoDono) do begin if pos(DateSeparator, Ini) > 0 then ACBrECF.PafMF_LMFC_Impressao( StringToDateTime(Fim), { Dt.Inicial } StringToDateTime(Fim) ) { Dt.Final } else ACBrECF.PafMF_LMFC_Impressao( StrToInt(Trim(Ini)), { CRZInicial } StrToInt(Trim(Fim)) ) ; { CRZFinal } end; end; O BUG está na linha que comanda a impressão LMFC por data, note que é passado a variável Fim para a data inicial, o certo seria assim: procedure TMetodoPafMf_Lmfc_Impressao.Executar; var Ini: String; Fim: String; begin Ini := fpCmd.Params(0); Fim := fpCmd.Params(1); with TACBrObjetoECF(fpObjetoDono) do begin if pos(DateSeparator, Ini) > 0 then ACBrECF.PafMF_LMFC_Impressao( StringToDateTime(Ini), { Dt.Inicial } // <<<<<<<<<<<<<<<<<<<<<<< AQUI!!!! StringToDateTime(Fim) ) { Dt.Final } else ACBrECF.PafMF_LMFC_Impressao( StrToInt(Trim(Ini)), { CRZInicial } StrToInt(Trim(Fim)) ) ; { CRZFinal } end; end;
  16. Pessoal, bom dia. Essa semana tive uma situação inusitada em um cliente. O mesmo reportou que vendeu um item mas a impressora ECF registrou o item 2 vezes. Por sorte este mesmo cliente estava já à alguns dias reportando outros problemas, e por isso eu já havia ativado o log de comandos seriais. No momento que ocorreu a venda duplicada, notei este log: -- 25/11 18:03:22:512 VendeItem( 043997023 , #1003100#69109000#COLUNA CONVENCIONAL BRANCO PARATI - LOGASA/INCEPA , 17.00T , 1 , 49 , 0 , PC , $ , D , -1 ) -- 25/11 18:03:22:516 TX -> [STX]t[NUL][FS]>I043997023 04PC0001000000490000000[NUL]0000[NUL]#1003100#69109000#COLUNA CONVENCIONAL BRANCO PARATI - LOGASA/INCEPA[NUL][222][24] -- 25/11 18:03:22:645 18:03:22:645 RX <- ACK = 0 Falha: 0 -- 25/11 18:03:22:751 TX -> [STX]t[NUL][FS]>I043997023 04PC0001000000490000000[NUL]0000[NUL]#1003100#69109000#COLUNA CONVENCIONAL BRANCO PARATI - LOGASA/INCEPA[NUL][222][24] -- 25/11 18:03:22:925 18:03:22:925 RX <- ACK = 6 Falha: 1 -- 25/11 18:03:23:071 RX <- [NUL][NUL][NUL][NUL] Note que houveram 2 vezes o comando de lançar item (TX) e 2 retornos diferentes (RX). O que pode ser isso pessoal? Obs.: em anexo log completo. ecf.zip
  17. Leia http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=5790 O valor deve ser colocado no item de maior aliquota e maior valor (se houverem mais itens, selecione o primeiro item da ordem de lançamento).
  18. Olá. Amigo, como falei, você deve fazer esses cálculos para distribuir os descontos sobre os itens do cupom assim que o mesmo é fechado em seu sistema. Basicamente é pegar o desconto e acréscimo gerais dados no cupom e distribuí-los aplicando esta regra http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=5790 . Depois, na hora de gerar o maldito BlocoX, basta exportar os valores salvos e ser feliz. Desde que implementei esse cálculo, só alegria.
  19. Legal, parabéns! Aproveitando, e tem previsão de liberar um lib para fazer as DFe (transmissão de notas de serviços para os municípios) ???
  20. Pessoal, bom dia. Gostaria de saber se existe alguma previsão de ser feita a ACBrLib para ECFs (impressoras fiscais).
  21. bom dia. Amigo, não tem nada haver com "arredondamento abnt". Tens que implementar esta regra aqui http://partners.bematech.com.br/bemacast/Paginas/post.aspx?idPost=5790 Fiz e resolveu
×
×
  • Create New...