Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Após algum update no ACBr dos últimos dias, a Bematech (e talvez outras ECFs) não reconhece mais as tags , não imprimindo os seguintes relatórios:

- PafMF_RelMeiosPagamento

- PafMF_RelDAVEmitidos

- PafMF_RelIdentificacaoPafECF

- DAV_Abrir

O relatório PafMF_RelParametrosConfiguracao é emitido corretamente, pois é utilizado a tag .

Substitui todos os por e os por na unit ACBrECF e o problema foi resolvido.

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Fiz um teste rápido com o emulador... e o ACBrECF está interpretando as TAGs corretamente... veja:


-- 10:07:02 LinhaRelatorioGerencial( "[CR][LF]IDENTIFICACAO DO PAF-ECF[CR][LF][CR][LF]LAUDO NUMERO: ABC1234567890[CR][LF][CR][LF][CR][LF]EMPRESA DESENVOLVEDORA[CR][LF][CR][LF]CNPJ........: 01222333000019[CR][LF]Razao Social: Razao social Empresa[CR][LF]Endereco....: Rua da Felicidade, 1[CR][LF]Cidade/UF...: SAO PAULO/SP[CR][LF]CEP.........: 99.999-999[CR][LF]Telefone....: (99)1111.2222[CR][LF]Contato.....: Nome do Contato[CR][LF]e-mail......: [CR][LF][CR][LF]IDENTIFICACAO DO PAF-ECF[CR][LF][CR][LF]Nome Comerc.: DemoECF[CR][LF]Versao......: v01.01.01[CR][LF]Laudo.......: ABC1234567890[CR][LF]ER-PAF-ECF..: 01.06[CR][LF]Princ. Exec.: ECFTESTE.EXE[CR][LF]MD5.........: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF][CR][LF]OUTROS ARQUIVOS UTILIZADOS[CR][LF][CR][LF]Arquivo 001[CR][LF]MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF]Arquivo 002[CR][LF]MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF]Arquivo 003[CR][LF]MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF]Arquivo 004[CR][LF]MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF]Arquivo 005[CR][LF]MD5: XXXXXXXXXXXXXXXXXXXXXXXXXXXXXXXX[CR][LF][CR][LF]ARQ. LISTA AUTENTICADOS[CR][LF][CR][LF]lista_arquivos.txt[CR][LF]MD5: AAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAA[CR][LF][CR][LF]ECFS AUTORIZADOS[CR][LF][CR][LF]AAAAAAAAAAAAAAA[CR][LF]AAAAAAAAAAAAAAA[CR][LF]AAAAAAAAAAAAAAA[CR][LF]", 0 )
TX -> [STX]l[STX][FS][20][LF][ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[NUL][LF]================================================[LF]LAUDO NUMERO: [ESC]EABC1234567890[ESC]F[LF]================================================[LF][LF][ESC]EEMPRESA DESENVOLVEDORA[ESC]F[LF]------------------------------------------------[LF]CNPJ........: 01222333000019[LF]Razao Social: Razao social Empresa[LF]Endereco....: Rua da Felicidade, 1[LF]Cidade/UF...: SAO PAULO/SP[LF]CEP.........: 99.999-999[LF]Telefone....: (99)1111.2222[LF]Contato.....: Nome do Contato[LF]e-mail......: [LF][LF][ESC]EIDENTIFICACAO DO PAF-ECF[ESC]F[LF]------------------------------------------------[LF]Nome Comerc.: DemoECF[LF]Versao......: v01.01.01[LF]Laudo.......: ABC1234567890[LF]l[149]
10:07:02 RX [/code]

Mais precisamente em:

[ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[NUL]

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

Log com ACBrECF original (revision 3324):

-- 12:42:57 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:42:57 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:42:57 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:42:57 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:42:57 

            TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]

   12:42:58 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]

-- 12:42:58 FechaRelatorio

            TX -> [STX][4][NUL][FS][NAK]1[NUL]

   12:42:58 RX <- [NUL][1]e[NUL]

----------------- ERRO -----------------

Erro retornado pela Impressora: Bematech


Comando não executado

Sem relatório gerencial


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


-- 12:42:58 NumSerie

            TX -> [STX][ENQ][NUL][FS]#(g[NUL]

   12:42:58 RX <- EMULADOR            [NUL][NUL][NUL][NUL]

-- 12:42:58 GrandeTotal

            TX -> [STX][ENQ][NUL][FS]#[ETX]B[NUL]

   12:42:58 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]

-- 12:42:58 AbreRelatorioGerencial

            TX -> [STX][4][NUL][FS][20]0[NUL]

   12:42:59 RX <- [NUL][NUL][NUL][NUL]

-- 12:42:59 NumCupom

            TX -> [STX][4][NUL][FS][30]:[NUL]

   12:42:59 RX <- [NUL][NUL][ENQ][NUL][NUL][NUL][NUL]

-- 12:42:59 LinhaRelatorioGerencial( "[CR][LF]", 0 )

            TX -> [STX][ENQ][NUL][FS][20][LF]:[NUL]

   12:42:59 RX <- [NUL][NUL][NUL][NUL]

-- 12:42:59 LinhaRelatorioGerencial( "[ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[CR][LF]", 0 )

            TX -> [STX]"[NUL][FS][20][ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[LF]g[BEL]

   12:43:00 RX <- [NUL][NUL][NUL][NUL]

-- 12:43:00 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:43:00 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:43:00 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:43:00 RX <- [4][NUL][NUL][NUL][NUL]

-- 12:43:00 FechaRelatorio

            TX -> [STX][4][NUL][FS][NAK]1[NUL]

   12:43:00 RX <- [NUL][NUL][NUL][NUL]

-- 12:43:00 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:43:01 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:43:01 

            TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]

   12:43:01 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]
Log com ACBrECF modificado:
-- 12:50:37 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:50:37 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:50:37 

            TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]

   12:50:37 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]

-- 12:50:37 FechaRelatorio

            TX -> [STX][4][NUL][FS][NAK]1[NUL]

   12:50:38 RX <- [NUL][1]e[NUL]

----------------- ERRO -----------------

Erro retornado pela Impressora: Bematech


Comando não executado

Sem relatório gerencial


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


-- 12:50:38 NumSerie

            TX -> [STX][ENQ][NUL][FS]#(g[NUL]

   12:50:38 RX <- EMULADOR            [NUL][NUL][NUL][NUL]

-- 12:50:38 GrandeTotal

            TX -> [STX][ENQ][NUL][FS]#[ETX]B[NUL]

   12:50:38 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL][NUL]

-- 12:50:38 AbreRelatorioGerencial

            TX -> [STX][4][NUL][FS][20]0[NUL]

   12:50:39 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:39 NumCupom

            TX -> [STX][4][NUL][FS][30]:[NUL]

   12:50:39 RX <- [NUL][NUL][ACK][NUL][NUL][NUL][NUL]

-- 12:50:39 LinhaRelatorioGerencial( "[CR][LF]", 0 )

            TX -> [STX][ENQ][NUL][FS][20][LF]:[NUL]

   12:50:39 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:39 LinhaRelatorioGerencial( "================================================[CR][LF]            IDENTIFICACAO DO PAF-ECF            [CR][LF]================================================[CR][LF]", 0 )

            TX -> [STX][151][NUL][FS][20]================================================[LF]            IDENTIFICACAO DO PAF-ECF            [LF]================================================[LF]v 

   12:50:40 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:40 LinhaRelatorioGerencial( "[CR][LF]================================================[CR][LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[CR][LF]", 0 )

            TX -> [STX]R[NUL][FS][20][LF]================================================[LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[LF]k[DC2]

   12:50:40 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:40 LinhaRelatorioGerencial( "================================================[CR][LF][CR][LF][ESC]EEMPRESA DESENVOLVEDORA[ESC]F[CR][LF]", 0 )

            TX -> [STX]Q[NUL][FS][20]================================================[LF][LF][ESC]EEMPRESA DESENVOLVEDORA[ESC]F[LF][205][DC2]

   12:50:40 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:40 LinhaRelatorioGerencial( "------------------------------------------------[CR][LF]CNPJ........: 02363150000195[CR][LF]Razao Social: PRIORI CONSULTORIA E SISTEMAS LTDA[CR][LF]", 0 )

            TX -> [STX][131][NUL][FS][20]------------------------------------------------[LF]CNPJ........: 02363150000195[LF]Razao Social: PRIORI CONSULTORIA E SISTEMAS LTDA[LF][195][FS]

   12:50:40 RX <- [NUL][NUL][NUL][NUL]


=> aqui existem várias linhas LinhaRelatorioGerencial(...) que retirei para diminuir este post... todas sem problemas


-- 12:50:45 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:50:45 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:50:45 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:50:45 RX <- [4][NUL][NUL][NUL][NUL]

-- 12:50:45 FechaRelatorio

            TX -> [STX][4][NUL][FS][NAK]1[NUL]

   12:50:45 RX <- [NUL][NUL][NUL][NUL]

-- 12:50:45 Estado

            TX -> [STX][ENQ][NUL][FS]#[17]P[NUL]

   12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:50:46 

            TX -> [STX][ENQ][NUL][FS]#A[128][NUL]

   12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL]

-- 12:50:46 

            TX -> [STX][ENQ][NUL][FS]#[ESC]Z[NUL]

   12:50:46 RX <- [NUL][NUL][NUL][NUL][NUL][NUL][NUL]

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Tudo OK, o ACBrECF enviou o comando de Ativar/Desativar Expandido..


- 12:42:59 LinhaRelatorioGerencial( "[ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[CR][LF]", 0 )
TX -> [STX]"[NUL][FS][20][ESC]W[1]IDENTIFICACAO DO PAF-ECF[ESC]W[LF]g[BEL]
12:43:00 RX [/code]

[ESC]W[1]

Tem certeza de que o Expandido já funcionava antes ?

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

Sim, funcionava. Só não sei precisar em qual revision isso começou a acontecer. Mas é coisa recente, tipo uma semana atrás.

Funcionava tanto no Emulador quanto numa MP-3000.

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Notei que usando...

  C_ON  = #1 ;
C_OFF = #0 ;

//
cExpandidoOn = ESC + SO;
cExpandidoOff = #20;[/code]

O Expandido funciona no emulador.. porém apenas uma vez dentro do gerencial...

Mesmo seguindo as orientações desta página.. http://partners.bematech.com.br/2011/05 ... ns-no-ecf/

não obtive sucesso... Aprentemente esse comando (Expandido) nunca funcionou adequadamente na Bametech

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

Experimente mudar as linhas:

C_ON = #1;

C_OFF = #0;

para

C_ON = '1';

C_OFF = '0';

Fazendo esta modificação, o relatório é impresso por completo.

Porém na primeira linha acaba saindo os strings '1' e '0' mesclado com o título:

--- 1IDENTIFICACAO DO PAF-ECF0 ---

Segue o log gerado:

-- 16:36:33 LinhaRelatorioGerencial( "[ESC]W1IDENTIFICACAO DO PAF-ECF[ESC]W0[CR][LF]================================================[CR][LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[CR][LF]", 0 )

            TX -> [STX]p[NUL][FS][20][ESC]W1IDENTIFICACAO DO PAF-ECF[ESC]W0[LF]================================================[LF]LAUDO NUMERO: [ESC]EUNO123456[ESC]F[LF][248][25]

   16:36:33 RX <- [NUL][NUL][NUL][NUL]

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Apliquei a modificação de para ... apesar de serem Tags com finalidades diferentes, a Tag provavelmente não funcione corretamente em vários modelos... sendo mais seguro usar ou até memso o proposto...

Apenas não compreendi porque você precisou comentar a linha abaixo ?

//DAVsEmitidos.Ordenar;

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

Ah sim...

Esta função "Ordenar" ordena somente pela DATA DE EMISSÃO, mas a NUMERAÇÃO dos DAVs fica toda fora de ordem dentro do mesmo dia.

Então eliminei esta ordenação do ACBr e eu mesmo ordeno nas busca dos DAVs no banco de dados via SQL, e os incluo (ACBrECFDAVs.new) já na ordem desejada para a impressão do relatório.

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Experimente modificar a function OrdenarDAVs para:

function OrdenarDAVs(const ADav1, ADav2: Pointer): Integer;
begin
if (TACBrECFDAV(ADav1).DtEmissao (TACBrECFDAV(ADav1).Numero Result := -1
else if (TACBrECFDAV(ADav1).DtEmissao > TACBrECFDAV(ADav2).DtEmissao) and
(TACBrECFDAV(ADav1).Numero > TACBrECFDAV(ADav2).Numero) then
Result := 1
else
Result := 0;
end;
[/code]

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

Daniel, não deu certo, o resultado é o mesmo,não há ordenação da numeração dentro do mesmo dia.

Veja um exemplo abaixo, testei com os 2 códigos-fonte (o original e o seu código sugerido), em ambos o resultado é o mesmo como apresentado abaixo:

BEMATECH IND E COM DE EQUIP ELETRONICOS S/A

Estrada de Santa Candida, 263 Santa Candida

82.630-490 Curitiba - Parana

CNPJ:82.373.077/0001-71  

IE:10181465-30         

IM:ISENTO              

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

01/03/2012 19:21:18   GNF:000003      COO:000006

GRG:000003  CER:0003

             NÃO É DOCUMENTO FISCAL             

  RELATÓRIO GERENCIAL   

               Relatório Geral                  

             NÃO É DOCUMENTO FISCAL

             NÃO É DOCUMENTO FISCAL


================================================

                  DAV EMITIDOS                  

================================================


           De 01/02/2012 a 01/03/2012           


NUMERO  TITULO  EMISSAO COO_DAV COO_CUP VL.TOTAL

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

0000000000003 ORCAMENTO                         

28/02/2012 000016 000000 R$               200,00


0000000000004 ORCAMENTO                         

28/02/2012 000000 000000 R$               200,00


0000000000001 ORCAMENTO                         

28/02/2012 000009 000000 R$               230,00


0000000000002 ORCAMENTO                         

28/02/2012 000000 000015 R$               230,00


0000000000008 ORCAMENTO                         

29/02/2012 000020 000000 R$               200,00


0000000000009 ORCAMENTO                         

29/02/2012 000000 000000 R$               200,00


0000000000010 ORCAMENTO                         

             NÃO É DOCUMENTO FISCAL

29/02/2012 000000 000000 R$               400,00


0000000000005 ORCAMENTO                         

29/02/2012 000017 000000 R$               430,00


0000000000006 ORCAMENTO                         

29/02/2012 000018 000000 R$               400,00


0000000000007 ORCAMENTO                         

29/02/2012 000019 000000 R$               350,00


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

10 DAV listado(s)


-------------NÃO É DOCUMENTO FISCAL-------------

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

BEMATECH MP-2100 TH FI ECF-IF

VERSÃO:01.00.01 ECF:001 LJ:0001

QQQQQQQQQQQQQQQQQQ 01/03/2012 19:21:22 

FAB:EMULADOR

Leandro Gobbo

Leandro Gobbo

Postado

Agora com a minha ordenação via SQL, como eu "acho" que deveria ficar:

BEMATECH IND E COM DE EQUIP ELETRONICOS S/A

Estrada de Santa Candida, 263 Santa Candida

82.630-490 Curitiba - Parana

CNPJ:82.373.077/0001-71  

IE:10181465-30         

IM:ISENTO              

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

01/03/2012 19:42:09   GNF:000005      COO:000008

GRG:000005  CER:0005

             NÃO É DOCUMENTO FISCAL             

  RELATÓRIO GERENCIAL   

               Relatório Geral                  

             NÃO É DOCUMENTO FISCAL

             NÃO É DOCUMENTO FISCAL


================================================

                  DAV EMITIDOS                  

================================================


           De 01/02/2012 a 01/03/2012           


NUMERO  TITULO  EMISSAO COO_DAV COO_CUP VL.TOTAL

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

0000000000001 ORCAMENTO                         

28/02/2012 000009 000000 R$               230,00


0000000000002 ORCAMENTO                         

28/02/2012 000000 000015 R$               230,00


0000000000003 ORCAMENTO                         

28/02/2012 000016 000000 R$               200,00


0000000000004 ORCAMENTO                         

28/02/2012 000000 000000 R$               200,00


0000000000005 ORCAMENTO                         

29/02/2012 000017 000000 R$               430,00


0000000000006 ORCAMENTO                         

29/02/2012 000018 000000 R$               400,00


0000000000007 ORCAMENTO                         

             NÃO É DOCUMENTO FISCAL

29/02/2012 000019 000000 R$               350,00


0000000000008 ORCAMENTO                         

29/02/2012 000020 000000 R$               200,00


0000000000009 ORCAMENTO                         

29/02/2012 000000 000000 R$               200,00


0000000000010 ORCAMENTO                         

29/02/2012 000000 000000 R$               400,00


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

10 DAV listado(s)


-------------NÃO É DOCUMENTO FISCAL-------------

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

BEMATECH MP-2100 TH FI ECF-IF

VERSÃO:01.00.01 ECF:001 LJ:0001

QQQQQQQQQQQQQQQQQQ 01/03/2012 19:42:14 

FAB:EMULADOR

Leandro Gobbo

Leandro Gobbo

  • Fundadores
Postado

Vamos fazer mais uma tentativa, por favor:


function OrdenarDAVs(const ADav1, ADav2: Pointer): Integer;
var
Str1, Str2 : String ;
begin
with TACBrECFDAV(ADav1) do
Str1 := DtoS( DtEmissao ) + Trim(Numero) ;

with TACBrECFDAV(ADav2) do
Str2 := DtoS( DtEmissao ) + Trim(Numero) ;

if Str1 Result := -1
else if Str1 > Str2 then
Result := 1
else
Result := 0;
end;
[/code]

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

Daniel, boa noite.

Já baixei o update de hoje (revision 3332) e ambos problemas foram resolvidos:

- Bematech com a tag (agora com ) em todos os relatórios "PafMF_...";

- Ordenação dos DAVs no relatório "PafMF_RelDAVEmitidos".

Obrigado pela imediata ajuda.

Leandro Gobbo

Leandro Gobbo

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