Boa tarde a todos,
Para quem utiliza o componente ACBrCTe e estava com dificuldades de gerar o Hash de Entrega, poderá se utiliza de uma das duas funções que acabam de ser disponibilizadas na unit ACBrDFeUtil.
São elas:
function CalcularHashDados(const ADados: TStream; AChave: String): string;
Devemos utilizar a função acima quando a imagem esta armazenada no banco de dados,
neste caso o conteúdo da mesma é passado como Stream no primeiro parâmetro da função, já o segundo é a chave do CT-e.
A função retorna uma string com 28 caracteres que devemos atribuir ao campo: infEvento.detEvento.hashEntrega
Exemplo:
infEvento.detEvento.hashEntrega := CalcularHashDados(xStreamImagem, xChaveCTe);
e
function CalcularHashArquivo(const APathArquivo: String; AChave: String): string;
Devemos utilizar a função acima quando a imagem esta salva em disco,
neste caso o primeiro parâmetro da função é o path com o nome do arquivo (imagem) e o segundo é a chave do CT-e.
A função retorna a string com 28 caracteres que devemos atribuir ao campo: infEvento.detEvento.hashEntrega
Exemplo:
infEvento.detEvento.hashEntrega := CalcularHashArquivo(xPathImagem, xChaveCTe);