Caso não consiga ver as imagens deste e-mail, clique aqui.

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


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

  • 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.
    Veja o exemplo:

  • 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”.
    Veja o exemplo abaixo:
  • 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.
    Veja abaixo o exemplo:

  • 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”.
    Veja abaixo o exemplo:

  • 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:/”.
    Veja como ficou:

  • 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.
    Veja o exemplo:

  • 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:/”.
  • Veja na imagem abaixo todos os arquivos gerados:
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”.;
    Veja o exemplo abaixo:

  • 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.
    Veja abaixo o exemplo:

  • 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”.
    Veja o exemplo abaixo:
  • 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.
    Veja abaixo o exemplo:

  • Pronto! Os dois arquivos estão assinados, Daruma.mf e Daruma.mfd.
  • Abaixo veja como ficou o Daruma.mf assinado:

  • Agora o Daruma.mfd assinado:

  • 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.

Não deixe de assistir nosso vídeo mostrando passo a passo como gerar e assinar arquivos binários. Assista aqui:

Channel 9

Se tiver alguma dúvida e/ou dificuldade, entre em contato com a nossa equipe de suporte ao desenvolvedor.

E-mails:
daruma.desenvolvedores@daruma.com.br
ddc.suporte@daruma.com.br

suporte.ddc@daruma.com.br
desenvolvedores.suporte@daruma.com.br
suporte.desenvolvedores@daruma.com.br
desenvolvedores.daruma@daruma.com.br
suporte@daruma.com.br
suporte.alexandre@daruma.com.br
claudenir@daruma.com.br
Skypes:
daruma.desenvolvedores
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade
Desenvolvedores Daruma Twitter facebook Linkedln Youtube Google+