Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia colegas!

Fiz download da última versão do ACBR e de cara fui estudar o componente ACBrACC, o qual ainda não utilizo na minha aplicação, mas estou ansioso para utilizar, só que ao rodar o exemplo ocorre erro de Undeclared identifier: 'SH_RazaoSocial'

// Dados da software house

edtSH_RazaoSocial.Text := ACBrAAC1.SH_RazaoSocial;

edtSH_CNPJ.Text := ACBrAAC1.SH_CNPJ;

edtSH_IE.Text := ACBrAAC1.SH_IE;

edtSH_IM.Text := ACBrAAC1.SH_IM;

Pelo que eu vi no post isso realmente foi alterado para o formato:

edtSH_RazaoSocial.Text := ACBrAAC1.IdentPAF.Empresa.RazaoSocial

Gostaria só de saber se é isso mesmo, que ai eu faço a correção no exemplo e post para ser atualizado no SVN.

Att.

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

Postado

Em todo caso seria bom poder corrigir o exemplo anterior... Se tiver disposto, por favor anexe aqui um ZIP com os fontes alterados..

Segue o exemplo corrigido Daniel.

Abraço!

Att.

Delphi.zip

Giuliano Naspolini Ribeiro

Automalog Consultoria e Sistemas Ltda

  • 6 meses depois ...
Postado

Olá a todos,

Aproveitando o tópico sobre ACBrAAC...

Vi que a pesar de o MD5 do Arquivo que Lista os Arquivos Autenticados ser salvo, o nome deste mesmo arquivo não é.

Segue trecho da procedure TACBrAAC.SalvarArquivo:

Ini.WriteString('PAF','MD5',fsIdentPAF.ArquivoListaAutenticados.MD5); // MD5 do arquivo que contem a lista de arquivos autenticados

Gostaria de saber qual a intenção/motivo de omitir esta informação, já que ela tb é utilizada no relatório de Identificação do PAF-ECF.

Obrigado.

Postado

No meu caso o nome é fixo, então não há nenhum benefício em gravá-lo no arquivo auxiliar.

Uma propriedade que não tem, mas que achei importante e implementei foi o campo Modelo para facilitar a inicialização do ECF sem necessitar consultar no banco.

Se quiserem, posso disponibilizar.

Márcio D. Carvalho

  • Moderadores
Postado

O componente AAC não deve guardar modelo da impressora, ele serve para controlar o arquivo criptografado, que durante os testes do paf-ecf e avariado para verificar se a aplicação mostra ou não erros e se bloqueia, portanto se colocar o modelo nele você vai ter problemas inclusive para conectar ao ECF, veja o intuito do arquivo é outro não guardar configurações de impressora fiscal.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

O componente AAC não deve guardar modelo da impressora, ele serve para controlar o arquivo criptografado, que durante os testes do paf-ecf e avariado para verificar se a aplicação mostra ou não erros e se bloqueia, portanto se colocar o modelo nele você vai ter problemas inclusive para conectar ao ECF, veja o intuito do arquivo é outro não guardar configurações de impressora fiscal.

Mas se o arquivo estiver avariado eu não vou poder conectar no ECF e devo obrigatoriamente bloquear o PDV, não importando se o modelo foi lido ou não.

Márcio D. Carvalho

  • Moderadores
Postado

Uma coisa e conectar ao ECF e outra e o arquivo cripotografado estar avariado.

Veja que o requisito pede que se o arquivo estiver avariado, você deve recompor o arquivo, utilizando o teste que é descrito no roteiro e ER, ou seja, você vai precisar conectar a impressora mesmo com o arquivo avariado para pegar os dados dela e comparar com teu banco e recompor o arquivo.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Relendo o roteiro e, embora eu não concorde, o item 8 do requisito XXII realmente dá a entender que o arquivo deve ser recuperado. O que é absolutamente falho, visto que eu vou ter que gravar a lista de ECFs autorizados e que, nesse caso, terá que ser consultada do banco, gerando uma grave falha de segurança (o cliente pode usar de má fé e incluir outros ECFs no banco). Como você está fazendo?

Márcio D. Carvalho

  • Moderadores
Postado

Faço como manda o roteiro, se o CRO, CRZ e Valor da venda bruta da última Z do ECF X conectado baterem com a que tenho no banco de dados, recupero se não erro e bloqueia o aplicativo, liberando apenas a digitação de NF consumidor, NFe e consultas.

Não é falha de segurança, porque você deve ter o registro da ultima Z no banco para comparar, se não tiver já barra ai, então se seu cliente conectar um ECF diferente você não vai ter a informação, portanto inválida o teste e o aplicativo bloqueia.

Se seu cliente entrar no banco e cadastrar os dados da Z, o fiscal pega pelo arquivo de movimento já que o arquivo vai ser marcado por conta da alteração do registro e também por conta da inclusão do registro.

Ou seja, se seu cliente chegar a simular todos estes passos ainda sim o fiscal saberia que foi feito por fora e não por ter aplicativo.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Daniel Simoes,

Eu me referia ao Nome do arquivo que contem a lista de arquivos utilizados pela PAF e seus respectivos MD5.

O trecho abaixo salva o MD5 do arquivo que me refiro, mas o seu Nome, que seria, "fsIdentPAF.ArquivoListaAutenticados.Nome" não é salvo.

Ini.WriteString('PAF','MD5',fsIdentPAF.ArquivoListaAutenticados.MD5); // MD5 do arquivo que contem a lista de arquivos autenticados

Minha pergunta não tem relação com o principal executavel e nem com MD5 do principal executavel.

Caso eu não tenha sido claro, por favor avise para eu tentar explicar de outra forma.

Obrigado.

Postado

bom...

Teria um motivo especifico para o Ini.WriteString('PAF','NomeArquivo',fsIdentPAF.ArquivoListaAutenticados.Nome); // NOME do arquivo que contem a lista de arquivos autenticados

não estar implementado na procedure TACBrAAC.SalvarArquivo do ACBrAAC?

Grato por sua atenção.

  • Fundadores
Postado

bom...

Teria um motivo especifico para o Ini.WriteString('PAF','NomeArquivo',fsIdentPAF.ArquivoListaAutenticados.Nome); // NOME do arquivo que contem a lista de arquivos autenticados

não estar implementado na procedure TACBrAAC.SalvarArquivo do ACBrAAC?

Grato por sua atenção.

Isso que não estou compreendendo... Qual é a vantagem de você salvar o nome do arquivo dentro do próprio arquivo ?

Tudo que você precisa fazer é atribuir o nome do arquivo em: ACBrAAC1.NomeArquivoAux

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

No meu PAF, eu tenho um arquivo que guarda os nomes e os md5 dos arquivos que uso nele, como BEMAFI32.DLL, libeay32, etc.

O nome desse arquivo que guarda arquivos é md5.txt e possui o seu próprio md5 = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

estou usando o ACBrAAC para guardar essas informações nos seguintes locais:

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome := 'md5.txt';

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5:= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

Só que, ao executar o TACBrAAC.SalvarArquivo, o ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome NÃO É SALVO...

  • Fundadores
Postado

Acho que continuo não entendendo... Isso não faz nenhum sentido...Se você calcular o MD5 de um arquivo e depois tentar gravar esse MD5 dentro do próprio arquivo, você logicamente modificará o MD5...

O Nome da lista de Arquivos Executáveis é especificada em: ACBrPAF, é ele que grava os registros do tipo N... Quando vc linforma o componente ACBrAAC dentro do componente ACBrPAF, os dois agem em conjunto, ou seja, após o ACBrPAF gerar e gravar o arquivo do tipo N, ele irá atualizar o MD5 no ACBrPAF e no arquivo auxiliar criptografado...

Por favor estude os Demos da pasta Exemplo...

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

No meu PAF, eu tenho um arquivo que guarda os nomes e os md5 dos arquivos que uso nele, como BEMAFI32.DLL, libeay32, etc.

O nome desse arquivo que guarda arquivos é md5.txt e possui o seu próprio md5 = xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx.

estou usando o ACBrAAC para guardar essas informações nos seguintes locais:

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome := 'md5.txt';

ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5:= 'xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx';

Só que, ao executar o TACBrAAC.SalvarArquivo, o ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome NÃO É SALVO...

Eu acho que entendi o seu questionamento...

a) No componente AAC:

=> "ACBrAAC1.IdentPAF.ArquivoListaAutenticados.MD5" => existe a propriedade e funciona

=> "ACBrAAC1.IdentPAF.ArquivoListaAutenticados.Nome" => existe a propriedade e não funciona

Com isso dá pra salvar/buscar o MD5 mas não dá pra salvar/buscar o nome do arquivo.

Esse nome do "arquivo com a lista dos autenticados" é sempre o mesmo, nunca muda (inclusive é uma CONST no meu sistema).

Então, no meu caso, esse nome não precisa ser gravado no arquivo criptografado para futuras consultas: uma coisa a menos pro AAC ficar criptografando/decriptografando a cada venda.

CONST

  cNomeArquivoListaAutenticados = 'lista_arquivos_autenticados.txt';             //salvado na pasta da aplicação

  cNomeArquivoAuxiliarCriptografado = 'pdv_arquivo_auxiliar_criptografado.ini'; //salvado numa pasta "inacessível" ao usuário 

Leandro Gobbo

  • Consultores
Postado

Daniel,

Acho que você está confundindo o Nome do arquivo texto com Lista de arquivos Autenticados (Item 1 alínea b do Requisito IX) com o nome do arquivo Auxiliar Criptografado (Item 1 alínea c do Requisito IX). Um é o AAC, o outro é um arquivo que tem os nomes e MD5 dos arquivos executáveis, mas é um arquivo texto.

O nome do arquivo texto é usado no relatório IDENTIFICAÇÃO DO PAF-ECF (Requisito XLIII Item 1 alínea c5).

Também não sei o motivo de não ser gravado...

[]'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

Quando você passa ao AAC a lista dos arquivos e o nome do arquivo da lista de autenticados, ele já gera o arquivo de autenticados e guarda o nome e MD5 no próprio AAC, mas não grava no arquivo porque esse é um nome fixo que tua aplicação utiliza e passa toda vez a ele, não tem porque gravar já que é fixo e é a aplicação quem seta.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Este tópico foi criado há 4604 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.