Olá pessoal,

É sempre um prazer enorme estar trazendo dicas e truques para facilitar seu desenvolvimento com nossas impressoras.

Bom, a dica de hoje é a seguinte: 

 

Informações que conseguimos obter através da darumaframework.dll referente a impressora (Parte1). 

Em nosso driver darumaframework.dll, existe uma função chamada:

RetornarInformacao_ECF_Daruma, onde este método possibilita retornar do ECF mais de 170 informações diferentes. A ideia deste método é que ao invés de termos 170 métodos, teremos apenas um único método. Onde passamos o índice da informação desejada e obtemos a informação.

Esta função possui apenas 2 parâmetros, que são:

Índice : Código da informação desejada obter da impressora.
Retorno:  Variável por referência com o tamanho de espaços alocados para o retorno da informação.     

Vejamos abaixo alguns retornos muito uteis:

Contadores: 
.COO Atual
.COO Inicial(*) 
.GNF 
.GNF Inicial(*)  
.CCF
.CCF Inicial(*)  
.CVC
.GRG
.GRG Inicial(*)
.CFD
.CBP 

Todas estas informações você obtém chamando apenas um método, o rRetornarInformacao_ECF_Daruma:


Sim, passando o Indice: 21 e uma variável por referencia com Tamanho de: 11 X 6

Exemplos:

C#

public static extern int rRetornarInformacao_ECF_Daruma(string pszIndice, [MarshalAs(UnmanagedType.VBByRefStr)] ref stringpszRetornar);

        [DllImport("DarumaFrameWork.dll")]

 

  private void button1_Click(object sender, EventArgs e)

        {

            string Str_indice;

            string Str_Informacao = new string(' ', 66);

           

            Str_indice = “21”;

DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.

        rRetornarInformacao_ECF_Daruma(21, ref Str_Informacao);

           DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.

                DarumaFramework_Mostrar_Retorno(DarumaFramework_DLL.

                        DarumaFramework_Declaracoes_CSharp.iRetorno);

            TB_Retorno.Text = Str_Informacao.Trim();

 

        }

    }

Como mostrado acima a impressora retornou os contadores para a variável por referencia que indicamos. 

Vejamos a Leitura X:


Delphi:

function rRetornarInformacao_ECF_Daruma(pszIndice:string;pszRetornar:string):Integer; StdCall; External 'DarumaFramework.dll';

 Int_Retorno := rRetornarInformacao_ECF_Daruma('21',Str_Informacao);



VB6:

Public Declare Function rRetornarInformacao_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszIndice As String, ByVal pszRetornar As String) As Integer

Private Sub BT_Enviar_Click()

 Dim Str_Indice, Str_Tamanho, Str_Informacao As String

       

        Str_Indice = “21”

        Str_Tamanho = “66”

       

        Str_Informacao = Space(Str_Tamanho)

        iRetorno = rRetornarInformacao_ECF_Daruma(Str_Indice, Str_Informacao)

        DarumaFramework_Mostrar_Retorno_ECF

       TB_Retorno.Text = Str_Informacao

End Sub

 

Viram que bacana e simples de fazer...

Mais não para por ai! Temos também um índice interessante que é o Estado do CF / CNF.

A darumaframework.dll não retorna apenas se o cupom está aberto ou fechado não, ela possui o diferencial de retorna em qual fase está este cupom:

Este Índice é o: 57

          Tamanho: 1

Onde os Retornos são:

 

Estado do CF / CNF 

0 = fechado   

1 = CF em registro de item

2 = CF em totalização

3 = CF em pagamento   

4 = CF em finalização

5 = CNF em registro de item

6 = CNF em totalização

7 = CNF em pagamento

8 = CNF em finalização

Ou também podemos utilizar o rRetornarInfomação para obter o “Tipo do Documento Atual”

Índice: 56

Tamanho: 1

 Onde os Retornos são:

0 = Nenhum documento  

1= CF  

2= CNF  

3= CCD  

4= RG

 

 Conseguimos obter todos os totalizadores, dados do ECF como Cliche, CNPJ do Usuário,  Endereço, Versão do Software Básico, Modelo do ECF, se é Térmica ou não, Nome Fantasia do Usuário, Marca do ECF, etc...  

 

Estas e muitas outras informações do ECF, você só consegue obter através da

função rRetornarInformacao_ECF_Daruma, consulte já em nosso help a Tabela Completa) dos Retornos pela Função.

http://www.desenvolvedoresdaruma.com.br/home/downloads/Site_2011/Help/DarumaFrameworkHelpOnline/Daruma_Framework.htm 

 Um Abraço!