Ir para conteúdo
  • Cadastre-se

dev botao

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

Recommended Posts

Postado

Bom dia,

Estou com algumas dúvidas simples a respeito do MD5 e eespero que voces consigam me ajudar.

1- Existe alguma função no accb que permita eu ver qual o código md5 que já está cadastrado através do procedimento Identifica-PAF, para que eu não tenha que toda vez que o exexutável for aberto, ter que mandar esse procedimento para a impressora?

2- Como eu faço para gerar o código md5 dos arquivos que compõe o PAF para que eu consiga gerar o relatório de identificação do PAF?

  • Moderadores
Postado

Você DEVE enviar o MD5 toda a vez que abre o aplicativo, isso é um requisito, além de enviar para a impressora deve gravar no arquivo auxiliar.

Quanto ao cálculo, basta adicionar os nomes dos arquivos ao ACBrAAC que ele calcula sozinho, ou você pode usar o ACBrEAD para calcular e guardar a informação.

Mas tanto o primeiro quanto o segundo devem ser repetidos sempre que abrir o aplicativo, isto é um requisito do paf-ecf, porque um dos arquivos pode ser alterado, e o MD5 é que vai dizer isso ao fisco.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • 3 semanas depois ...
Postado

Certo, eu entendi essa parte que toda vez que eu entrar no sistema eu terei que calcular os MD5.

Mas o que eu não entendi foi o seguinte...

Como eu faço para gerar esse md5 dos arquivos que fazem parte do PAF, os outros .exe e as dlls? Teria como vc me explicar melhor essa parte? Precisaria de uma esclarecida melhor nessa parte, se alguem puder me ajudar.

Desde já agradeço

Postado

Eu dei uma olhada lá no componente do ACbrAAc e me surgiram duas dúvidas:

- A chave lá do evento onGetChave... essa chave seria a chave privada ou pública que eu coloquei no sistema ou pode ser uma chave qualquer?

- Os .exe e as dll que serão utilizadas no sistema... lá no exemplo eu não vi o cadastro... mas mexendo eu vi uma função ...para cadastrar terei que usar essa função?

with ACBrAAC1.IdentPAF.OutrosArquivos.New do

begin

Nome := '';

MD := '';

end;

Se caso positivo, vc havia me dito que o componente gerava sozinho o MD5... Nesse caso eu teria que preencher alguma coisa nesse campo ou posso deixar assim 'MD5 := '';' ???

Postado

Regys,

tentei fazer de acordo com o que vc disse, mas ao executar a identificação do PAF o AcbrAAC não mostra essa lista dos arquivos autenticados com os md5, não mostra nem os arquivos e nem os md5. Mostra todas as outras coisas menos isso.

Existe algum comando que eu preciso executar para que seja exibido esses arquivos?

  • Moderadores
Postado

Você precisa ligar o componente ACBrPAF ao ACBrAAC utilizando a propriedade "ACBrPAF.AAC" e pedir para gravar o arquivo de autenticados, o ACBrPAF vai ler a lista informada em ACBrAAC e gravar corretamente.

Segue o trecho do codigo que faz isso e mais algumas coisas:



// setar o diretório onde vai ser salvo o arquivo
ACBrPAF.Path := ;

// registro dos dados do desenvolvedor
Self.PreencherHeaderArquivo(ACBrPAF.PAF_N.RegistroN1);

// registro dos dados do aplicativo
ACBrPAF.PAF_N.RegistroN1.RAZAOSOCIAL := ACBrAAC.IdentPAF.Empresa.RazaoSocial;
ACBrPAF.PAF_N.RegistroN1.UF := ACBrAAC.IdentPAF.Empresa.Uf;
ACBrPAF.PAF_N.RegistroN1.CNPJ := ACBrAAC.IdentPAF.Empresa.CNPJ;
ACBrPAF.PAF_N.RegistroN1.IE := ACBrAAC.IdentPAF.Empresa.IE;
ACBrPAF.PAF_N.RegistroN1.IM := ACBrAAC.IdentPAF.Empresa.IM;
ACBrPAF.PAF_N.RegistroN2.NOME := ACBrAAC.IdentPAF.Paf.Nome;
ACBrPAF.PAF_N.RegistroN2.VERSAO := ACBrAAC.IdentPAF.Paf.Versao;
ACBrPAF.PAF_N.RegistroN2.LAUDO := ACBrAAC.IdentPAF.NumeroLaudo;

// Salvar o arquivo de autenticados
ACBrPAF.SaveFileTXT_N();

// Carregar o MD5 do arquivo de autenticados
ACBrAAC.IdentPAF.ArquivoListaAutenticados.Nome := NOME_ARQUIVO_AUTENTICADOS;
ACBrAAC.IdentPAF.ArquivoListaAutenticados.MD5 := ACBrEAD.MD5FromFile( + NOME_ARQUIVO_AUTENTICADOS);
ACBrAAC.SalvarArquivo;

// setar o MD5 do arquivo de autenticados que deve aparecer no rodapé do cupom
// se a impressora for MFD então fazer a programação para que apareça nas informações complementares
// se não for MFD setar a propriedade InfoRodapeCupom.MD5 do ACBrECF
if ACBrECF.MFD then
begin
ACBrECF.InfoRodapeCupom.MD5 := EmptyStr;
if ACBrECF.Estado = estLivre then
begin
ACBrECF.IdentificaPAF(
ACBrAAC.IdentPAF.Paf.Nome + ' v' + ACBrAAC.IdentPAF.Paf.Versao,
'MD-5: ' + ACBrAAC.IdentPAF.ArquivoListaAutenticados.MD5
);
end;
end
else
ACBrECF.InfoRodapeCupom.MD5 := ACBrAAC.IdentPAF.ArquivoListaAutenticados.MD5;

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
  • Moderadores
Postado

Como eu já te disse, você faz isso somente uma vez ao abrir o seu aplicativo.

O ideal e você ler a Especificação de Requisitos e também o roteiro de análise antes de começar alguma coisa, assim você entenderá o que deve ser feito e quando aplicar cada componente a situação exigida.

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

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

The popup will be closed in 10 segundos...