[Escovando Bits]Geração de arquivos binários na ECF atendendo aos novos requisitos do PAF-ECF

28/05/2013

0



Olá Escovadores de Bits! Recentemente foi publicada uma nova Especificação de Requisitos do PAF que mudou a obrigatoriedade de geração de arquivos de extensão .txt para arquivos binários.
Não se apavorem quanto à geração destes arquivos binários, nós temos uma solução em alto nível para esta mudança.
Neste escovando bits vamos aprender como gerar os arquivos binários e como assiná-los usando a DarumaFramework.
Gerando arquivos binários da MF – Memória Fiscal
•Clique aqui e faça o download do Executável em Delphi
•Após o download, extraia o pacote e abra a pasta “DarumaFramework_Delphi7exe”.
•Rode o exemplo “DarumaFramework_Delphi.exe”.
•Clique no menu “Impressoras Fiscal”.

•Agora procure o menu “Geração de Arquivos” e clique no submenu “Método rEfetuarDownloadMF_ECF_Daruma”.

•Na janela que abriu, defina o nome do seu arquivo binário da Memória Fiscal.
Veja o exemplo:


•Clique no botão “OK” e aguarde a geração do arquivo binário.
•Após o termino da geração, deverá aparecer uma mensagem de retorno.

•Arquivo binário gerado! Bem simples né?!
•Por padrão o arquivo é gerado na pasta “C:/”.
•Continue com o exemplo “DarumaFramework_Delphi.exe” aberto, pois vamos usá-lo.

Gerando arquivos binários da MFD – Memória Fita Detalhe
•Com o exemplo “DarumaFramework_Delphi.exe” aberto na parte de “Impressoras Fiscal”, siga os passos abaixo.Procure o menu “Geração de Arquivos” e clique no submenu “Método rEfetuarDownloadMFD_ECF_Daruma”.

•Na janela que abriu, selecione o tipo de intervalo, o intervalo inicial, intervalo final e o nome do arquivo binário da MFD.
Veja como ficou:


•Após o preenchimento de todos os campos, clique no botão “Enviar” para iniciar a geração do arquivo binário.
•Aguarde a geração ser concluída e receberá uma mensagem de retorno.

•Geração concluída! Agora nós temos também o arquivo binário da Memória Fita Detalhe.
•Por padrão o arquivo é gerado na pasta “C:/”.
•Continue com o exemplo “DarumaFramework_Delphi.exe” aberto, pois vamos usá-lo.

Gerando arquivos binários da MF + MFD e arquivos de texto com a MF + MFD
•Escovador de bits, se você já usa o método rGerarRelatorio_ECF_Daruma, fique despreocupado, pois este método além de gerar os arquivos com extensão .txt, já gera os arquivos binários, que agora são exigidos pelo PAF.
•Com o exemplo “DarumaFramework_Delphi.exe” aberto na parte de “Impressoras Fiscal”, siga os passos abaixo.
•Procure o menu “Geração de Arquivos” e clique no submenu “Método rGerarRelatorio_ECF_Daruma”.

•Na janela que abriu, selecione “MF” e “MFD”. Coloque a data inicial e a data final.
•Não é necessário definir o local de geração dos arquivos. A pasta padrão é “C:/”.

•Após preencher os campos, clique no botão “Gerar Relatório” para iniciar a geração dos arquivos.
•Ao terminar a geração, a mensagem de retorno será exibida.

•Geração concluída! Agora temos os arquivos binários da MF e MFD, temos também os arquivos ATO_MF_DATA.TXT e ATO_MFD_DATA.TXT.
•Ressalto que a pasta padrão de geração de arquivos é o “C:/”.
• Assinando os arquivos binários da MF e MFD
Agora vamos assinar os arquivos gerados nos passos anteriores, Daruma.mf e Daruma.mfd.
•Para assinar, vamos continuar usando o exemplo “DarumaFramework_Delphi.exe”.
•Procure o menu “PAF-ECF” e clique no submenu “Método eRSAAssinarArquivo_ECF_Daruma”.;

•Uma janela será aberta. Preencha o campo “Caminho do arquivo a ser assinado:”(São os binários que nós já geramos) e também o campo “Caminho da chave gerada pelo Puttygen:”(É o seu arquivo.key, sua chave privada).
Veja como ficou:


•Pressione o botão “Enviar” para assinar o arquivo Daruma.mf.
•Após concluir a assinatura, você receberá uma mensagem de retorno.

•Arquivo Daruma.mf está assinado, vamos assinar agora o arquivo Daruma.mfd.
•Procure o menu “PAF-ECF” e clique no submenu “Método eRSAAssinarArquivo_ECF_Daruma”.

•Uma janela será aberta. Preencha o campo “Caminho do arquivo a ser assinado:”(São os binários que nós já geramos) e também o campo “Caminho da chave gerada pelo Puttygen:”(É o seu arquivo.key, sua chave privada).
Veja como ficou:


•Pressione o botão “Enviar” para assinar o arquivo Daruma.mfd.
•Após concluir a assinatura, você receberá uma mensagem de retorno.

•Pronto! Os dois arquivos estão assinados, Daruma.mf e Daruma.mfd.

•Viram só como não tem nada de difícil em assinar os arquivos binários?

Importante: Após assinar o arquivo Daruma.mf, ele não pode mais ser utilizado para geração off-line. Motivo: Sem assinatura o arquivo tem 1024 kbytes, que é o tamanho total da Memória Fiscal. Após a assinatura ele tem seu tamanho mudado para 1025 kbytes, ou seja, um tamanho superior ao da Memória Fiscal. Este 1kbyte a mais, impede a geração off-line. Codificando a geração dos arquivos binários e assinatura dos mesmos:
Delphi
//Declarações
function rEfetuarDownloadMF_ECF_Daruma(pszNomeArquivo:string): Integer; StdCall; External 'DarumaFramework.dll';
function rEfetuarDownloadMFD_ECF_Daruma(pszTipo:string;pszInicial:string;pszFinal:string;pszNomeArquivo:string): Integer; StdCall; External 'DarumaFramework.dll';
function rGerarRelatorio_ECF_Daruma(szRelatorio:string; szTipo:string; szInicial:string; szFinal:string): Integer; StdCall; External 'DarumaFramework.dll';
function eRSAAssinarArquivo_ECF_Daruma(pszPathArquivo:string;pszChavePublica:string): Integer; StdCall; External 'DarumaFramework.dll';
//Chamada de Métodos
//Geração do arquivo binário da MF
iRetorno := rEfetuarDownloadMF_ECF_Daruma(‘Daruma.mf’);
//Geração do arquivo binário da MFD
iRetorno := rEfetuarDownloadMFD_ECF_Daruma(‘DATAM’, ‘01052013’, ‘10052013’, ‘Daruma.mfd’);
//Gerando arquivos binários da MF + MFD e arquivos de texto com a MF + MFD
iRetorno := rGerarRelatorio_ECF_Daruma(‘MF+MFD’, ‘DATAM’, ‘01052013’, ‘10052013’);
//Assinando arquivo binário da MF
iRetorno := eRSAAssinarArquivo_ECF_Daruma(‘C:/Daruma.mf’, ‘C:/Privada/arquivo.key’);
//Assinando arquivo binário da MFD
iRetorno := eRSAAssinarArquivo_ECF_Daruma(‘C:/Daruma.mfd’, ‘C:/Privada/arquivo.key’);
C#
//Declarações
[DllImport("DarumaFrameWork.dll")] <esquerda>public static extern int rEfetuarDownloadMF_ECF_Daruma(string pszNomeArquivo);
[DllImport("DarumaFrameWork.dll")] <esquerda>public static extern int rEfetuarDownloadMFD_ECF_Daruma(string pszTipo, string pszInicial, string pszFinal, string pszNomeArquivo);
[DllImport("DarumaFrameWork.dll")] <esquerda>public static extern int rGerarRelatorio_ECF_Daruma(string pszRelatorio, string pszTipo, string pszInicial, string pszFinal);
[DllImport("DarumaFrameWork.dll")] <esquerda>public static extern int eRSAAssinarArquivo_ECF_Daruma(string arquivo, string chave);
//Chamada de Métodos
//Geração do arquivo binário da MF
iiRetorno = rEfetuarDownloadMF_ECF_Daruma(“Daruma.mf”);
//Geração do arquivo binário da MFD
iRetorno = rEfetuarDownloadMFD_ECF_Daruma(“DATAM”, “01052013”, “10052013”, “Daruma.mfd”);
//Gerando arquivos binários da MF + MFD e arquivos de texto com a MF + MFD
iRetorno = rGerarRelatorio_ECF_Daruma(“MF+MFD”, “DATAM”, “01052013”, “10052013”);
//Assinando arquivo binário da MF
iRetorno = eRSAAssinarArquivo_ECF_Daruma(“C://Daruma.mf”, “C://Privada//arquivo.key”);
//Assinando arquivo binário da MFD
iRetorno = eRSAAssinarArquivo_ECF_Daruma(“C://Daruma.mfd”, “C://Privada//arquivo.key”);
Visual Basic 6
//Declarações Fiscais
Public Declare Function rEfetuarDownloadMF_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszNomeArquivo As String) As Integer
Public Declare Function rEfetuarDownloadMFD_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszTipo As String, ByVal pszInicial As String, ByVal pszFinal As String, ByVal pszNomeArquivo As String) As Integer
Public Declare Function rGerarRelatorio_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszRelatorio As String, ByVal pszTipo As String, ByVal pszInicial As String, ByVal pszFinal As String) As Integer
Public Declare Function eRSAAssinarArquivo_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszPathArquivo As String, ByVal pszPathChave As String) As Integer
//Chamada de Métodos
//Geração do arquivo binário da MF
iRetorno = rEfetuarDownloadMF_ECF_Daruma(“Daruma.mf”)
//Geração do arquivo binário da MFD
iRetorno = rEfetuarDownloadMFD_ECF_Daruma(“DATAM”, “01052013”, “10052013”, “Daruma.mfd”)
//Gerando arquivos binários da MF + MFD e arquivos de texto com a MF + MFD
iRetorno = rGerarRelatorio_ECF_Daruma(“MF+MFD”, “DATAM”, “01052013”, “10052013”)
//Assinando arquivo binário da MF
iRetorno = eRSAAssinarArquivo_ECF_Daruma(“C:/Daruma.mf”, “C:/Privada/arquivo.key”)
//Assinando arquivo binário da MFD
iRetorno = eRSAAssinarArquivo_ECF_Daruma(“C:/Daruma.mfd”, “C:/Privada/arquivo.key”)
Escovadores de bits, agora vocês já sabem como gerar arquivos binários, como assiná-los e como codificar tudo isso.

[url]http://www.29.kmitd1.com/v/1UeaHnce5ste3a6b91cc-0[/url]
Daruma Developer

Daruma Developer

Responder

Assista grátis a nossa aula inaugural

Assitir aula

Saiba por que programar é uma questão de
sobrevivência e como aprender sem riscos

Assistir agora

Utilizamos cookies para fornecer uma melhor experiência para nossos usuários, consulte nossa política de privacidade.

Aceitar