Obtendo informações exclusivas do ECF, utilizando a darumaframework.dll
Retornos pela darumaframework.dll
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.
Um Abraço!
Subscribe ecode10.com
Receive our latest updates about programming languages, software, database, books, ebooks, classes, jobs and more.
You can cancel anytime.
Log In