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.
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,
pszSeparador: Separador utilizado para separar a descrição
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
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
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