Jump to content

jjw.roberto

Membros
  • Posts

    176
  • Joined

  • Last visited

Posts posted by jjw.roberto

  1. Aproveitando este post, também peguei outra problema muito parecido com outra Epson T 900 F em outro cliente...

    Quando obtive os dados para Redução Z também me deparei com dados faltantes. Neste caso era o NumCooInicial que não constava no retorno do comando ECF.DadosReducaoZ, vejam abaixo. Notem também que outros contadores também não retornaram (NumGRG, NumCFC, NumCCF, entre outros)....

    [ECF]
    DataECF = 29/09/20
    DataMovimento = 28/09/20
    DataHoraEmissao = 28/09/20 19:45:14
    NumSerie = EP041010000000029287
    NumSerieMFD = MFD0410000000036906
    NumECF = 001
    NumLoja = 01
    NumCOO = 040242
    NumCRZ = 002549
    NumCRO = 000003
    
    [Totalizadores]
    VendaBruta = 4614,98
    VendaLiquida = 3883,06
    GrandeTotal = 5372473,30
    TotalDescontos = 200,65
    TotalCancelamentos = 531,27
    TotalAcrescimos = 0,00
    TotalDescontosISSQN = 0,00
    TotalCancelamentosISSQN = 0,00
    TotalAcrescimosISSQN = 0,00
    TotalNaoFiscal = 400,00
    TotalDescontosOPNF = 0,00
    TotalCancelamentosOPNF = 0,00
    TotalAcrescimosOPNF = 0,00
    
    [Aliquotas]
    01T0700 = 0,00
    02T1200 = 0,00
    03T2500 = 0,00
    04T1700 = 1010,28
    
    [OutrasICMS]
    TotalICMS = 1010,28
    TotalSubstituicaoTributaria = 2872,78
    TotalNaoTributado = 0,00
    TotalIsencao = 0,00
    TotalSubstituicaoTributariaISSQN = 0,00
    TotalNaoTributadoISSQN = 0,00
    TotalIsencaoISSQN = 0,00

     

     

    Só para constar, estou usando o ACBrMonitorPlus  1.3.0.235

  2. Galera, boa tarde.

    Meu cliente tem uma EPSON TM-T900 F (SB 01.01.00). Ela vinha funcionando normalmente, porém no dia 05/10/2020 quando o usuário comandou a Redução Z ocorreu que o meu programa PDV pediu ao ACBrMonitorPlus os dados da redução z para gravar no banco e estes dados retornaram faltando vários campos, veja o retorno do comando ECF.DadosReducaoZ (comandado antes do ECF.ReducaoZ):
     

    [ECF]
    DataECF = 05/10/20
    NumECF = 001
    NumCRO = 000001
    NumCCDC = 000000
    
    [Totalizadores]
    TotalNaoFiscal = 0,00
    TotalDescontosOPNF = 0,00
    TotalCancelamentosOPNF = 0,00
    TotalAcrescimosOPNF = 0,00
    TotalTroco = 0,00
    
    [OutrasICMS]
    TotalNaoTributado = 0,00
    TotalIsencao = 0,00
    TotalSubstituicaoTributariaISSQN = 0,00
    TotalNaoTributadoISSQN = 0,00
    TotalIsencaoISSQN = 0,00
    
    [NaoFiscais]
    1 _Fundo de Troco = 0,00
    2 _Sangria = 0,00
    3 _Recebimento = 0,00
    CON_Fundo de Troco = 0000
    CON_Sangria = 0000
    CON_Recebimento = 0000
    
    
    [RelatoriosGerenciais]
    1 _Parâmetros Programados = 0000
    2 _GERAL = 0000
    3 _DAV-OS = 0000
    4 _CONFIGURACOES = 0000
    5 _CONTA-CLIENTE = 0000
    6 _RELATORIO = 0000
    7 _PAF-ECF = 0000
    
    [MeiosDePagamento]
    1 _Dinheiro = 0,00
    2 _CARTAO = 774,00
    3 _CHEQUE = 0,00
    4 _BLOQUETO = 0,00
    5 _CREDIARIO = 0,00

    Note que na sessão [ECF] faltam dados como DataMovimento, NumCRZ, NomCOO, entre outros, não vieram. Confirmei até em meus logs, nos outros dias, sempre vieram os dados certinhos....

     

    Meu programa então, depois de emitir o comando ECF.ReducaoZ (que efetiva a Redução Z em si), emitiu o comando ECF.DadosUltimaReducaoZ, e este sim retornos os dados certinhos, veja:

    [ECF]
    DataECF = 05/10/20
    DataMovimento = 05/10/20
    DataHoraEmissao = 05/10/20 18:36:31
    NumSerie = EP121910000000031036
    NumECF = 001
    NumLoja = 0001
    NumCOOInicial = 2540
    NumCOO = 002547
    NumCRZ = 000190
    NumCRO = 000001
    NumGNF = 000007
    NumCCF = 002150
    NumCFD = 000002
    NumGRG = 000007
    NumCFC = 000000
    NumCCDC = 000000
    
    [Totalizadores]
    VendaBruta = 780,00
    VendaLiquida = 774,00
    GrandeTotal = 196138,36
    TotalDescontos = 6,00
    TotalCancelamentos = 0,00
    TotalAcrescimos = 4,00
    TotalDescontosISSQN = 0,00
    TotalCancelamentosISSQN = 0,00
    TotalAcrescimosISSQN = 0,00
    
    [Aliquotas]
    01T0700 = 0,00
    02T1200 = 0,00
    03T2500 = 0,00
    04T1700 = 774,00
    
    [OutrasICMS]
    TotalICMS = 774,00
    TotalSubstituicaoTributaria = 0,00
    TotalNaoTributado = 0,00
    TotalIsencao = 0,00
    TotalSubstituicaoTributariaISSQN = 0,00
    TotalNaoTributadoISSQN = 0,00
    TotalIsencaoISSQN = 0,00

     

    Minha pergunta é, o que aconteceu? Por que isso ocorreu?

     

  3. Pessoal, bom dia.

    Peguei um problema em um cliente com uma Bematech MP 4000 THFI. 

    Meu programa estava com um BUG e não contabilizou a quantidade correta do item, fazendo com que o SubTotal na ECF ficasse maior que o SubTotal calculado pelo meu programa.

    Meu programa acabou deixando seguir e lançar somente parte do valor de pagamento e em seguida foi comandado o FechaCupom.

    Essa ECF por sua vez fez um lançamento em dinheiro do valor faltante à pagar e fechou o cupom (diferente de outras ECFs, por exemplo a Epson que emite um erro informando que existe valor pagável ainda).

    Minha pergunta é... tem como eu configurar essa Bematech MP4000 pra não fazer isso, e lançar um erro casos os pagamentos não estejam completos ?

  4. Pessoal , boa tarde.

    Recentemente, em um cliente, notei que a função ECF.SetArredondaItemMFD não surte efeito, pois estou ligando o arredondamento mas os totais dos itens ainda truncam.

    A ECF é uma Bematech MP 2100.

    Até encontrei esse POST mas não ficou claro se a MP2100 não tem suporte a arredondamento.

     

    Minha dúvida é, quando devo usar o MudaArredondamento  e quando usar o SetArredondaItemMFD? Como sei qual usar? E a ECF que citei acima, tem ou não suporte à arredondamento?

     

  5. 10 minutos atrás, Juliomar Marchetti disse:

    Havia lido isso sim, mas como não tinha um link para essa DOC do DFe fiquei sem saber como fazer isso.

    Porém, ainda assim as configurações citadas nesse link https://acbr.sourceforge.io/ACBrLib/DFe.html não falam nada sobre certificados A3. Então, é possível usar?

  6. Pessoal, bom dia.

    Gostaria de saber como a ACBrLibNFe sabe qual é o certificado que ela deve usar para assinar o XML. 

    Na documentação do método NFE_Assinar https://acbr.sourceforge.io/ACBrLib/NFE_Assinar.html não tem argumento nenhum.

    Outra coisa que fiquei em dúvida é: posso gerar somente o XML sem assinatura pelo ACBrLibNFe, assinar por outro programa (já tenho um programa que roda em outra máquina que tem um certificado A3 e ele assina os XMLs que envio pra ele) e transmitir o XML assinado pelo ACBrLibNFe?

  7. 4 horas atrás, Juliomar Marchetti disse:

    tu utiliza o ACBrTEFD? ele já escapsula tudo isso pra você basta escolher a solução e programar os eventos

    cada solução no caso txt tem suas peculiaridades e não são ou não era pra ser tudo igual

    mas se usa paygo utilize via dll eles também e o sitef também, txt já está sendo deixado de lado.

     

    Pois é .... eu uso pay&go por tef dial.... e uso integrando meu PDV feito em JAVA.

    Será que então exista alguma lib de java que implemente isso? Ou o certo seria eu colocar o ACBrTEFD dentro de uma DLL e usar ele no meu app java?

  8. Pessoal, bom dia. 

    Sou meio leigo no assunto TEF, mais pelo fato que só utilizei até hoje o Pay&Go por comunicação de arquivos (diretório C:\Tef_Dial).

    Gostaria de saber se existe algum padrão sobre TEF? Porque já vi algumas outras soluções que também usam esse diretório para comunicação/transação.

    Outra questão por exemplo é o SiTef que tem comunicação via DLL e via arquivo. 

    Minha principal questão é, todas tem a opção de comunicação via arquivo? O layout do arquivo de requisição e resposta é padronizado ? Tem algum DOC sobre a padronização (se ela existe)?

    Outra questão é, sempre tenho que homologar meu software com a solução que vou integrar?

     

    Abraços e obrigado.

     

  9. 9 minutos atrás, Joas Vilas Boas Fernandes disse:

    Estou homologando meu PAF-ECF. O Homologador disse que a obrigatoriedade é anual o envio automático . Porem devo ter a opção de gerar mensal manualmente. 

    Legal amigo, muito obrigado.
     

    Voce saber dizer se existe algum DIAT ou DESPACHO que contrata o leiaute dos arquivos do blocox?
    Eu acesso esse google docs, mas não sei se é oficial: https://docs.google.com/document/d/1yez14gry9Mi4rTpwDRDf--bR-SLzijD81OPeJzh9FqE/edit#

  10. Pessoal bom dia.

    Por favor ajudem a interpretar a seguinte alteração que houve aqui para SC, referente à transmissão do arquivo do Bloco X de estoque. 

    O texto publicado pelo fisco diz o seguinte:


    image.thumb.png.7c32a2dc9fea39e7343d40bd3a7e16f4.png

    FONTE: http://legislacao.sef.sc.gov.br/html/atos_diat/2017/atodiat_17_017.htm#art_002_X

    Minha dúvida é quanto à parte destacada em amarelo. Nosso contador teve uma interpretação de que esse arquivo deveria ser transmitido uma vez ao ano somente, em dezembro e até, no máximo, dia 20/01 do próximo ano.

    O que vocês podem me dizer sobre esse texto?

     

     

     

     

  11. 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?

  12. Em 26/02/2020 at 11:27, jjw.roberto disse:

    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

     

    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.

     

    • Like 1
  13. 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

    • Like 2
  14. 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? 

×
×
  • Create New...

Important Information

We have placed cookies on your device to help make this website better. You can adjust your cookie settings, otherwise we'll assume you're okay to continue.