Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Ola colega...

Nesta sexta fizemos a homologação de nosso sistema na FAESA mas nos ainda não usamos o ACBr nesse projeto q homologamos, o ACBr esta sendo utilizado no novo projeto porem tivermos que fazer uma mudança em nosso projeto referente ao MD-5, antes ele era impresso nas mensagens complementares no nosso sistema estava assim dessa forma porem estava errado segundo o requisito IX esta dizendo o seguinte procedimento:

Requisito XXII, sobrepondo à gravação anteriormente realizada, devendo este código ser

impresso no Cupom Fiscal, no campo:

c1) "informações complementares", no caso de ECF que disponibilize este campo, devendo utilizar este campo para esta informação e iniciando a impressão na primeira coluna, disponibilizada pelo software básico do ECF, da primeira linha, precedido pela mensagem “MD-5:”

c2) "mensagens promocionais", no caso de ECF que não disponibilize o campo "informações complementares", devendo utilizar a primeira linha para esta informação e iniciando a impressão na primeira coluna disponibilizada pelo software básico do ECF,

precedido pela mensagem “MD-5:”

por tanto hj cheguei de viagem da homologação e atualizei o ACBr para ver se tinha essa correção e não encontrei esta imprimindo ainda o MD-5 nas mensagens promocional ainda...

Abraços...

  • Moderadores
Postado

O MD5 é impresso no rodapé do cupom se você informar, caso não queira que seja assim e queira que seja impresso no local correto para impressoras MFD, você deve utlizar o método: IdentificaPafECF(linha1, Linha2), onde linha1 = MD5 e linha 2 igual ao nome do software, alguns homologadores não gostam que saia o nome do software, para isso coloque um "." na linha 2, esse método deve ser utilizado sempre que inicializar a impressora fiscal e você deve ficar atento ao estado da impressora, porque se a impressora deve estar livre para que ele funcione.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

egys muitos sistemas que percebi ja esta saindo o MD-5 na posição correta que é a "informações complementares" sendo que ja tem o paramentro MD-5 no ACBr...

olhei o Ato Cotep e não vi nada referente a duas impressoras e entrei em contato com o homologador e ele tambem não fez referencia a impressoras so diz que tem q sair no lugar q eu mencionei...

  • Moderadores
Postado

A coisa é assim, nas impressoras matricias, o MD5 vai no rodape do cupom porque não tem informações complementares, nas impressoras MFD você tem que programar, para isso utiliza o método identificaPAF do ACBrECF, fazendo isso já vai sair no campo correto como eu já disse.

O que o ACBr faz automaticamente e quando você utiliza o método IdentificaPAF e dá algum erro ele seta automaticamente o InfoRodape.MD5, assim já sai no rodapé, ou seja, o ideal e você ao abrir teu aplicativo se a impressora estiver livre testar se ACBrECF.MFD e verdadeiro e rodar o ACBr.IdentificaPAF, se não setar o ACBrECF.InfoRodape.MD5 para o MD5, simples assim.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Consultores
Postado

O que o ACBr faz automaticamente e quando você utiliza o método IdentificaPAF e dá algum erro ele seta automaticamente o InfoRodape.MD5, assim já sai no rodapé, ou seja, o ideal e você ao abrir teu aplicativo se a impressora estiver livre testar se ACBrECF.MFD e verdadeiro e rodar o ACBr.IdentificaPAF, se não setar o ACBrECF.InfoRodape.MD5 para o MD5, simples assim.

Oi Regys,

Fiquei um pouco confuso. Posso usar só o método IdentificaPAF ou preciso mesmo testar se o ECF é MFD?

[]'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.
  • Moderadores
Postado

Utilize o seguinte código no início da aplicação, depois de gerar o arquivo de autenticados e com o ACBrECF ativado:


if ACBrECF.MFD then
begin
if ACBrECF.Estado = estLivre then
ACBrECF.IdentificaPaf('XXXX', 'Nome app')
end
else
ACBrECF.InfoRodape.MD5 := 'XXXX'
[/code]

XXXX = MD5 da lista de autenticados, aquele que vai sair no rodapé do cupom ou nas informações complementares.

  • Curtir 1

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 1 mês depois ...
  • Consultores
Postado

Utilize o seguinte código no início da aplicação, depois de gerar o arquivo de autenticados e com o ACBrECF ativado:


if ACBrECF.MFD then
begin
if ACBrECF.Estado = estLivre then
ACBrECF.IdentificaPaf('XXXX', 'Nome app')
end
else
ACBrECF.InfoRodape.MD5 := 'XXXX'
[/code]

XXXX = MD5 da lista de autenticados, aquele que vai sair no rodapé do cupom ou nas informações complementares.

Rapaz,

voltei nesse caso esses dias... infelizmente não tenho como testar aqui, mas será que esse código não pode dar erro com as MP-2000? Ela é MFD, mas acho que não permite o comando de IdentificaPaf. Você sabe me informar?

[]'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.
  • Consultores
Postado

Vou tentar verificar.

O meu código anterior verificava os modelos e daí me surgiu essa questão.

Acho que temos um cliente que possui uma dessas ainda, mas preciso confirmar.

Obrigado.

[]'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.
  • 1 mês depois ...
Postado

Pessoal, ainda sobre essa função IdentificaPAF( NomePAF, MD5 )

Executei esta função num ECF da BEMATECH de testes que temos na empresa. A partir disso, o MD5 passou a ser informado de forma diferente nos cupons fiscais, no final do cupom (que parece ser o correto), mas sem levar em conta os números de DAVs e PVs que deveriam ser impressos já na sequencia deste MD5.

Antes:

MD5:12345678901234567890123456789012PV0000000003DAV0000000001DAV-OS0000000002

CUPOM MANIA, CONCORRA A PRÊMIOS

ENVIE SMS P/ 6789: 10181465210412000015001

PROCON - R da Ajuda 5 - RJ - (21) 151

ALERJ - R 1º de Março s/n - RJ - (21) 25881418

MINAS LEGAL: 82373077000171 21042012 100
Agora:
MD5:12345678901234567890123456789012PV0000000003DAV0000000001DAV-OS0000000002

CUPOM MANIA, CONCORRA A PRÊMIOS

ENVIE SMS P/ 6789: 10181465210412000015001

PROCON - R da Ajuda 5 - RJ - (21) 151

ALERJ - R 1º de Março s/n - RJ - (21) 25881418

MINAS LEGAL: 82373077000171 21042012 100

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

Aplicativo: 12345678901234567890123456789012

     Pdv.exe

------------------------------------------------
A minha dúvida é a seguinte: Tem como reprogramar essa função IdentificaPAF, revertendo os dados do ECF para não mostrar mais esse quadro "Aplicativo: " ??? O máximo que consegui fazer é programar o ECF informando os seus parâmetros em branco IdentificaPAF( ' ', ' ' ). Pelo menos não fica "errado" ao olhos dos homologadores...
MD5:12345678901234567890123456789012PV0000000003DAV0000000001DAV-OS0000000002

CUPOM MANIA, CONCORRA A PRÊMIOS

ENVIE SMS P/ 6789: 10181465210412000015001

PROCON - R da Ajuda 5 - RJ - (21) 151

ALERJ - R 1º de Março s/n - RJ - (21) 25881418

MINAS LEGAL: 82373077000171 21042012 100

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

Aplicativo:


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

Leandro Gobbo

  • Moderadores
Postado

Vamos lá,

primeiro uma explicação de como o MD-5 deve ser informado: A lei diz que o MD-5 deve ser informado em campo próprio ou no rodapé do cupom quando não possuir campo para tal, o método identificaPaf, programa o campo próprio para tal, portanto quando utilizar ele não se deve utilizar a propriedade InformacoesRodape.MD5, o método identificaPAF inclusive tenta programar o campo proprio, se não conseguir já seta a propriedade para que apareça no rodapé do cupom fiscal, portanto bastaria rodar o identificaPAF na abertura de seu aplicativo que tudo seria feito como deveria.

Quanto a palavra "aplicativo:" a bematech é que imprime isso, não o componente, não tem como remover essa palavra depois de programado o campo de identificação do paf.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Régys, entendido onde deve ser impresso o MD5.

As dúvidas agora estão quanto a impressão dos número de DAVs e Pré-vendas (assim como DAV-OS, Cupom Mania e Minas Legal). A lei diz:

Pré-venda

Requisito V - Item 2

2.1) concretizada a operação:

a) imprimir no Cupom Fiscal respectivo o número do registro de pré-venda que originou a operação, da seguinte forma, conforme o modelo de ECF:

a1) no campo "informações suplementares", a partir do primeiro caracter, com o seguinte formato: PV“N”, onde N representa o número do registro de pré-venda, devendo ser adotado sistema de numeração seqüencial única com controle centralizado por estabelecimento, com 10 (dez) caracteres, iniciada em 0000000001 a 9999999999 e reiniciada quando atingindo o limite.

a2) no campo "mensagens promocionais", a partir do primeiro caracter imediatamente seguinte à identificação prevista no requisito IX, com o seguinte formato: PV“N”, onde N representa o número do do registro de pré-venda, devendo ser adotado sistema de numeração seqüencial única com controle centralizado por estabelecimento, com 10 (dez) caracteres, iniciada em 0000000001 a 9999999999 e reiniciada quando atingindo o limite.

DAV

Requisito VI - Item 5

5.1) concretizada a venda:

a) imprimir no Cupom Fiscal respectivo o número do DAV que originou a operação, da seguinte forma, conforme o modelo de ECF:

a1) no campo "informações suplementares", a partir do primeiro caracter ou a partir do caracter imediatamente seguinte ao registro do PV”N”, quando for o caso, com o seguinte formato: DAV“N”, onde N representa o número do Documento Auxiliar de Venda;

a2) no campo "mensagens promocionais", a partir do primeiro caracter seguinte à identificação prevista no requisito IX ou a partir do caracter imediatamente seguinte ao registro do PV”N”, quando for o caso, com o seguinte formato: DAV“N”, onde N

representa o número do Documento Auxiliar de Venda;

MD5

Requisito IX - Item 1

O PAF-ECF deve, a cada inicialização:

...

c) ... devendo este código ser impresso no Cupom Fiscal, no campo:

c1) "informações complementares", no caso de ECF que disponibilize este campo, devendo utilizar este campo para esta informação e iniciando a impressão na primeira coluna, disponibilizada pelo software básico do ECF, da primeira linha, precedido pela mensagem “MD-5:”

c2) "mensagens promocionais", no caso de ECF que não disponibilize o campo "informações complementares", devendo utilizar a primeira linha para esta informação e iniciando a impressão na primeira coluna disponibilizada pelo software básico do ECF, precedido pela mensagem “MD-5:”

fonte: http://www.fazenda.gov.br/confaz/confaz ... 005_12.htm

No meu caso (ECF MP-3000), os campos são definidos assim pelo fabricante (Bematech):

1) Mensagem Complementar é implementada através do comando “ESC 62 64″ (Programa ID Aplicativo) para protocolo direto ... para os modelos de impressoras fiscais térmicas a partir da MP-2100 TH FI. O parâmetro deste comando/função permite até 84 caracteres e pode ser usado a qualquer momento na impressora, desde que o cupom esteja fechado.

=> equivale ao IdentificaPAF( NomePAF, MD5);

2) Mensagem Suplementar é implementada através do comando “ESC 34″ (Termina o Fechamento do Cupom Fiscal) para protocolo direto ... para todos os modelos de impressoras fiscais Bematech. O campo de texto referente à mensagem, possui 8 linhas por 48 colunas (formato padrão).

=> equivale ao FechaCupom( mensagemPromo );

fonte: http://partners.bematech.com.br/2011/03 ... plementar/

Como estou utilizando:

a) Iniciei o aplicativo => IdentificaPAF( NomePAF, MD5);

Isso grava os dados na memória do ECF para ser usado em fechamentos diversos. Ao ser gravado, sai impresso no ECF estes dados (não é um relatório gerencial nem nada, simplesmente o ECF imprime:

"Identificação do aplicativo:

E7CC7B3BBFD5B2E1F1EA479E944DDB79 Pdv.exe";

B)Finalizando uma venda =>

ECF.InfoRodapeCupom.PreVenda := numeroPV;

ECF.InfoRodapeCupom.Dav := numeroDav;

ECF.InfoRodapeCupom.CupomMania := true;

ECF.InfoRodapeCupom.MinasLegal := true;

ECF.FechaCupom( 'Nome do Vendedor: fulano de tal ' );

Desta forma, um cupom fiscal fica aparentemente assim (usei o Emulador, mas numa MP-3000 é muito parecido):

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 UF:PR

IM:ISENTO

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

21/04/2012 20:07:59 CCF:000002 COO:000005

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

CUPOM FISCAL

ITEM CÓDIGO DESCRIÇÃO QTD.UN.VL_UNIT( R$) ST VL_

ITEM( R$)

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

001 111222333 TESTE DE PRODUTO

1UN X 1,00 N1 1,00g

TOTAL R$ 1,00

Dinheiro 1,00

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

PV0000000003DAV0000000001DAV-OS0000000002

CUPOM MANIA, CONCORRA A PRÊMIOS

ENVIE SMS P/ 6789: 10181465210412000005001

PROCON - R da Ajuda 5 - RJ - (21) 151

ALERJ - R 1º de Março s/n - RJ - (21) 25881418

MINAS LEGAL: 82373077000171 21042012 100

Nome do Vendedor: fulano de tal

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

Aplicativo:E7CC7B3BBFD5B2E1F1EA479E944DDB79

Pdv.exe

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

BEMATECH MP-2100 TH FI ECF-IF

VERSÃO:01.00.01 ECF:001 LJ:0001

QQQQQQQQQQQQQEQWQQ 21/04/2012 20:08:34

FAB:EMULADOR BR

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

Isso está 100% correto de acordo com o que diz a lei?

P.S. Desculpe o tamanho do post, mas é melhor sobrar que faltar...

Leandro Gobbo

  • Moderadores
Postado

Sim está correto como o componente trabalha, inclusive já foi homologado isso por vários usuários, inclusive eu recentemente.

A forma como vocês está utilizando informação do cupom mania e minas legal não estão corretas, faça assim:

ECF.InfoRodapeCupom.PreVenda := numeroPV;

ECF.InfoRodapeCupom.Dav := numeroDav;

ECF.InfoRodapeCupom.CupomMania := UFEmpresaUsuaria = 'RJ'; // cupom mania ocorre somente em RJ

ECF.InfoRodapeCupom.MinasLegal := UFEmpresaUsuaria = MG; // minas legal ocorre somente em MG

ECF.FechaCupom( 'Nome do Vendedor: fulano de tal ' );

Outra coisa que percebi é que seu ACBr está desatualizado, pois o identificaPaf passou a imprimir "MD-5:" junto do md5 do aplicativo no campo próprio, isso foi um pedido dos homologadores quando homologuei pela ultima vez.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Regys

Quanto ao Cupom Mania e Minas Legal, era só testes. De fato estou usando corretamente, de acordo com a UF da Empresa Usuária (RJ ou MG) exatamente como você sugeriu.

Atualizei o ACBr agora (revision 3469) e de fato está saindo o texto "MD5:".

Estava com a versão de 04/04/12 (revision 3427), pois já havia testado todo o roteiro nesta versão e estava tudo certo (homologação prevista para 17/05), não queria correr risco de fazer um update no ACBr e perder algum teste.

Como ficou agora um cupom fiscal:

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 UF:PR

IM:ISENTO

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

22/04/2012 11:50:01 CCF:000002 COO:000006

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

CNPJ/CPF consumidor:00000000000

NOME:CONSUMIDOR PF

END:RUA X, 123 - BAIRRO Y - FLORIANOPOLIS - SC -

88000001 -

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

CUPOM FISCAL

ITEM CÓDIGO DESCRIÇÃO QTD.UN.VL_UNIT( R$) ST VL_

ITEM( R$)

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

001 100001 REVESTIMENTO 20x20 INCEPA

1CX X 200,00 F1 200,00g

TOTAL R$ 200,00

Dinheiro 200,00

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

Vendedor: VENDEDOR PADRAO

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

Aplicativo:MD-5:660ECE6FD1C1AC0810A2D51D715231C0

Pdv.exe

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

BEMATECH MP-2100 TH FI ECF-IF

VERSÃO:01.00.01 ECF:001 LJ:0001

QQQQQQQQQQQQQTQQQQ 22/04/2012 11:50:10

FAB:EMULADOR BR

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

Vamos mandar esse exemplo de cupom fiscal para a homologadora (Unochapecó) e ver se eles tem alguma restrição.

Obrigado pela ajuda e paciência.

Leandro Gobbo

  • Moderadores
Postado

Fique tranquilo, o ACBr está todo escrito dentro das normas e requisitos para a homologação e como eu te disse, homologuei semana passada com ele.

Essa parte de cupom não tem erro, preocupe-se com o sintegra, sped e o bloco 7, esses sim dependem de você e são chatos de fazer.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Regys, boa noite.

Como eu previa, a homologadora (Unochapecó) não aceitou sair o MD5 depois da numeração do DAV e/ou Pré-Venda. Enviamos os modelos de cupons em anexo e responderam o seguinte:

"Ressalto que a PV e o DAV , não podem sair antes do MD-5 no CF.

Favor revisarem."

Então isso inviabiliza o uso do IdentificaPAF em nosso sistema, teremos que voltar a usar o ECF.InfoRodapeCupom.MD5 := 'XXXX'.

Infelizmente cada homologador interpreta a lei de uma forma diferente.

Cupom Fiscal.pdf

Leandro Gobbo

  • Moderadores
Postado

Seguindo o que está escrito na ER o homologador está errado, pois ou se gera no rodapé ou se gera no campo específico, todas as impressoras MFD já possuem o campo específico.

Mas bem como estamos a merce deles, basta usar mesmo a propriedade infrodapecupom.md5 e não utilizar o identificapaf, mas você vai correr risco de em outros estados não ser aceito, mas ai já é problema da homologadora se acontecer :D, mostre o laudo para o fiscal e pronto.

Qualquer dúvida poste.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Moderadores
Postado

Régys e Leandro

vou tentar conversar com os homologadores

são aqui da minha cidade e nunca havia parado pra ver essa parte pois meu sistema só colocava no infrodapecupom

acredito que eles esteja interpretando errado e o bom sempre é conversar com eles com calma e mostrar o ER

e ler com eles a especificação... eles vão entender.. volto a postar amanhã se conseguir falar com eles..

Consultor SAC ACBr Juliomar Marchetti
 

Projeto ACBr

skype: juliomar
telegram: juliomar
e-mail: [email protected]
http://www.juliomarmarchetti.com.br
MVP_NewLogo_100x100_Transparent-02.png
 

 

  • 4 anos depois...
Postado
Em 23/01/2012 at 11:16, Régys Silveira disse:

Utilize o seguinte código no início da aplicação, depois de gerar o arquivo de autenticados e com o ACBrECF ativado:

 

 

 


if ACBrECF.MFD then

begin

  if ACBrECF.Estado = estLivre then

    ACBrECF.IdentificaPaf('XXXX', 'Nome app')

end

else

  ACBrECF.InfoRodape.MD5 := 'XXXX'

[/code]

 

 

XXXX = MD5 da lista de autenticados, aquele que vai sair no rodapé do cupom ou nas informações complementares.

Regys , boa tarde amigo. A chamada do metodo conforme sua orientação acima: ACBrECF.IdentificaPaf('Nome app', 'xxxxx') e colocamos ela no formPrincipal( primeiro a ser instanciado).

Porém toda vez que abrimos a aplicação, imprime um md5 conforme foto em anexo. Isso é normal? 

 

Em 23/01/2012 at 11:16, Régys Silveira disse:

Utilize o seguinte código no início da aplicação, depois de gerar o arquivo de autenticados e com o ACBrECF ativado:

 

 

 


if ACBrECF.MFD then

begin

  if ACBrECF.Estado = estLivre then

    ACBrECF.IdentificaPaf('XXXX', 'Nome app')

end

else

  ACBrECF.InfoRodape.MD5 := 'XXXX'

[/code]

 

 

XXXX = MD5 da lista de autenticados, aquele que vai sair no rodapé do cupom ou nas informações complementares.

Regys , boa tarde amigo. A chamada do metodo conforme sua orientação acima: ACBrECF.IdentificaPaf('Nome app', 'xxxxx') e colocamos ela no formPrincipal( primeiro a ser instanciado).

Porém toda vez que abrimos a aplicação, imprime um md5 conforme foto em anexo. Isso é normal? 

 

foto_1014.jpg

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