Artigo

Impressão de Relatórios do PAF.ECF

No Escovando Bits de hoje abordaremos uma função da DarumaFramework.dll bastante utilizada no desenvolvimento para o PAF-ECF na impressão de relatórios, como DAVS EMITIDOS e IDENTIFICAÇÃO DO PAF-ECF. Para emissão destes relatórios podemos utilizar títulos específicos na impressão, que são configurados de uma maneira rápida e fácil!

Verificando os Relatórios Gerenciais cadastrados na ECF

Método para verificação: rLerRG_ECF_Daruma.
Este método retorna os Relatórios Gerenciais cadastrados na Impressora Fiscal.

pszRelatorios:  Variável por referência  com tamanho de 360 posições que retorna os relatórios gerenciais cadastradas na impressora.

Na prática

private void métodoRLerRGECFDarumaToolStripMenuItem_Click(object sender, EventArgs e)
        {
            stringBuilder Str_RG = new stringBuilder(360);

            Declaracoes.iRetorno = Declaracoes.rLerRG_ECF_Daruma(Str_RG);
         
        }


Retorno

Descobrimos então os Relatórios Gerenciais existentes na impressora.

Cadastrando Relatórios Gerenciais na ECF

Para realizar estas impressões é necessário primeiramente cadastrar o nome do Relatório Gerencial desejado.
Para esta tarefa utilizaremos a função: confCadastrar_ECF_Daruma.

Parâmetros:  
pszCadastrar Tipo: ALIQUOTA,
TNF,
RG,
FPGTO,
pszValor Descrição a ser cadastrada
pszSeparador Separador utilizado para separar a descrição

Na prática

C(Sharp)

[DllImport("DarumaFrameWork.dll")]
        public static extern int confCadastrar_ECF_Daruma(string pszCadastrar, string pszValor, string pszSeparador);

private void BT_Enviar_Click(object sender, EventArgs e)
  {
DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_Declaracoes_CSharp.confCadastrar_ECF_Daruma("RG", "Id. do PAF-ECF", "|");
  }

Delphi

function confCadastrar_ECF_Daruma(pszCadastrar:string;pszValor:string;pszSeparador:string): Integer; StdCall; External 'DarumaFramework.dll';

 Int_Retorno:= confCadastrar_ECF_Daruma(‘RG’, ‘Ind. do PAF-ECF’, ‘|’);

VB6

Public Declare Function confCadastrar_ECF_Daruma Lib "DarumaFrameWork.dll" (ByVal pszCadastrar As string, ByVal pszValor As string, ByVal pszSeparador As string) As Integer
   
Private Sub TB_Numero_Item_Click()

        iRetorno = confCadastrar_ECF_Daruma("RG", "Id. do PAF-ECF", "|")
End Sub

Pronto! Nomeamos um relatório para impressão do respectivo documento!
Agora o próximo passo é abrir o RG, enviar o texto que será impresso e fechá-lo.  

Emissão do Relatório Gerencial

Para isto utilizaremos as funções:

  • iRGAbrir_ECF_Daruma   -   Abre o Relatório Gerencial  
  • iRGImprimirTexto_ECF_Daruma   -   Recebe o texto a ser impresso
  • iRGFechar_ECF_Daruma   -   Fecha o Relatório Gerencial
iRGAbrir_ECF_Daruma

Parâmetros:  
pszNomeRG Nome do Relatório Gerencial

iRGImprimirTexto_ECF_Daruma

Parâmetros:  
pszTexto Texto do Relatório Gerencial

iRGFechar_ECF_Daruma

Parâmetros:  
(Nenhum)  

C(Sharp)

[DllImport("DarumaFrameWork.dll")]
public static extern int iRGAbrir_ECF_Daruma(string pszNomeRG);

 [DllImport("DarumaFrameWork.dll")]
 public static extern int iRGImprimirTexto_ECF_Daruma(string pszTexto);

[DllImport("DarumaFrameWork.dll")]
public static extern int iRGFechar_ECF_Daruma();

private void BT_Enviar_Click(object sender, EventArgs e)
        {

            DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRGAbrir_ECF_Daruma("Ind. do PAF-ECF");
                         DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRGImprimirTexto_ECF_Daruma("N° do Laudo \nIdentificação da empresa desenvolvedora\nCNPJ\nRazão Social\nEndereço\nTelefone\nContato\nIdentificação do PAF-ECF\nNome comercial\nVersão\nPrincipal arquivo executável\nCódigo de autenticação do principal arquivo executável (MD-5)\nOutros arquivos utilizados e respectivos códigos MD-5\n");
             DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRGFechar_ECF_Daruma();

        }

Veja como ficou a impressão do Relatório Gerencial:


Delphi

function iRGAbrir_ECF_Daruma(pszNomeRG:string): Integer; StdCall; External 'DarumaFramework.dll';
function iRGImprimirTexto_ECF_Daruma(pszTexto:string): Integer; StdCall; External 'DarumaFramework.dll';
function iRGFechar_ECF_Daruma(): Integer; StdCall; External 'DarumaFramework.dll';


procedure TFR_FISCAL_iRGImprimirTexto_ECF_Daruma.BT_ENVIARClick(
  Sender: Tobject);

begin

   Int_Retorno:= iRGAbrir_ECF_Daruma('Id. do PAF-ECF');
   Int_Retorno:= iRGImprimirTexto_ECF_Daruma('N° do Laudo' + #13 + #10 + 'Identificação da empresa desenvolvedora'+ #13 + #10 + 'CNPJ +#13 + #10 +Razão Social'+ #13 + #10 + 'Endereço'+ #13 + #10 +'Telefone'+ #13 + #10 +'Contato'+ #13 + #10 +'Identificação do PAF-ECF'+ #13 + #10 +'Nome comercial'+ #13 + #10 +'Versão+ #13 + #10 +Principal arquivo executável'+ #13 + #10 +'Código de autenticação do principal arquivo executável (MD-5)'+ #13 + #10 +'Outros arquivos utilizados e respectivos códigos MD-5');
   Int_Retorno:= iRGFechar_ECF_Daruma();
  end;

VB6

Private Sub BT_Enviar_Click()
 
        iRetorno = iRGAbrir_ECF_Daruma("Id. do PAF-ECF")
        iRetorno = iRGImprimirTexto_ECF_Daruma("N° do Laudo “ + Chr(13) + Chr(10) + “Identificação da empresa desenvolvedora“ + Chr(13) + Chr(10) + “CNPJ“ + Chr(13) + Chr(10) + “Razão Social“ + Chr(13) + Chr(10) + “Endereço“ + Chr(13) + Chr(10) + “Telefone“ + Chr(13) + Chr(10) + “Contato“ + Chr(13) + Chr(10) + “Identificação do PAF-ECF“ + Chr(13) + Chr(10) + “Nome comercial“ + Chr(13) + Chr(10) + “Versão“ + Chr(13) + Chr(10) + “Principal arquivo executável“ + Chr(13) + Chr(10) + “Código de autenticação do principal arquivo executável (MD-5) “ + Chr(13) + Chr(10) + “Outros arquivos utilizados e respectivos códigos MD-5");
        iRetorno = iRGFechar_ECF_Daruma
       
   End Sub

Um abraço, e até a próxima!

E-mails:
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:
ddc_suporte_daruma
suporte_ddc_daruma
desenvolvedores_suporte_daruma
suporte_desenvolvedores_daruma
desenvolvedores_daruma
suporte_daruma
suporte_alexandre_daruma
claudenir_andrade
 
Twitter facebook Linkedln Youtube Google+

  • Daruma Developer

    Daruma Developer