Ir para conteúdo
  • Cadastre-se

dev botao

[Escovando Bits] Geração De Arquivos Binários No Ecf Atendendo Aos Novos Requisitos Do Paf-Ecf


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

Recommended Posts

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:

                                                        dde044_003.jpg                                            

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

                                                        dde044_006.jpg                                            

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

                                                        dde044_013.jpg                                            

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

                                                        dde044_016.jpg                                            

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

 

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 3983 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...