 |
 |
Número de Série e GT Codificado
No roteiro de testes do PAF-ECF no requisito XXII, testes 4 e 5 é solicitada a gravação do número de série e do grande total, para isto desenvolvemos quatro funções na DarumaFramework.dll que facilitam este trabalho todo de ter que criptografar os valores e depois descriptografar para a devida comparação. |
 |
GT – Grande Total
rRetornarGTCodificado_ECF_Daruma
Definição:
Este método retorna o Grande Total da Impressora codificado.
Número de Série
rRetornarNumeroSerieCodificado_ECF_Daruma
Definição:
Este método retorna o Número Série da Impressora codificado.
rVerificaNumeroSerieCodificado_ECF_Daruma
Definição:
Este método recebe o Número de Série da Impressora codificado e informa se é válido ou não. |
Obs: |
Caso o valor informado for diferente do GT da impressora, o comando irá retornar -12 e erro "Parâmetro inválido". |
Na prática
Os exemplos abaixo demonstram as funções de Retorno e Verificação do Grande Total codificado, mas a forma de utilização é a mesma para as funções do Número de Série Codificado. |
C(Sharp)
private void button1_Click(object sender, EventArgs e)
{
int int_erro = 0;
int int_aviso = 0;
StringBuilder Str_GTCodificado = new StringBuilder(38);
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp
.rRetornarGTCodificado_ECF_Daruma(Str_GTCodificado);
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rVerificarGTCodificado_ECF_Daruma(
Convert.ToString(Str_GTCodificado));
DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.iRetorno = DarumaFramework_DLL.DarumaFramework_Declaracoes_CSharp.rStatusUltimoCmdInt_ECF_Daruma(ref int_erro,
ref int_aviso);
} |
Debug mode |
 |
Podemos observar na primeira imagem que a função rRetornarGTCodificado_ECF_Daruma devolve o grande total já codificado e na segunda linha envia para a função rVerificarGTCodificado_ECF_Daruma, para verificar se o mesmo é válido ou não. Na segunda imagem podemos observar que a função retornou = 1, o que vem a indicar que o método foi executado com sucesso.
Agora vou demonstrar como se o arquivo fosse violado e o GT alterado manualmente, para verificarmos o retorno. Acrescentei mais valores a string com o GT devolvido pela função rRetornarGTCodificado_ECF_Daruma, da seguinte maneira:
rVerificarGTCodificado_ECF_Daruma(Convert.ToString(Str_GTCodificado+"ABC")); |
 |
Podemos observar que agora o retorno da função nos devolveu -12 e o erro 195, Parâmetros inválidos. Com o Número de Série as funcionalidades são exatamente as mesmas.
Delphi
function rRetornarGTCodificado_ECF_Daruma(pszGTCriptografado:string): Integer; StdCall; External 'DarumaFramework.dll';
function rVerificarGTCodificado_ECF_Daruma(pszGTCriptografado:string): Integer; StdCall; External 'DarumaFramework.dll';
procedure TFR_FISCAL_rRetornarGTCodificado_ECF_Daruma.BT_ENVIARClick(
Sender: TObject);
Var Str_GT_Codificado: String;
begin
SetLength (Str_GT_Codificado,38);
Int_Retorno := rRetornarGTCodificado_ECF_Daruma(Str_GT_Codificado);
Int_Retorno := rVerificarGTCodificado_ECF_Daruma(Str_GT_Codificado);
Edt_GTCodificado.Text := (Str_GT_Codificado);
end;
VB6
Public Declare Function rRetornarGTCodificado_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszGT As String) As Integer
Public Declare Function rVerificarGTCodificado_ECF_Daruma Lib "DarumaFramework.dll" (ByVal pszVerificaGT As String) As Integer
Private Sub BotaoGT_Click(Index As Integer)
Dim Str_GTCodificado As String
Str_GTCodificado = Space(38)
iRetorno = rRetornarGTCodificado_ECF_Daruma(Str_GTCodificado)
DarumaFramework_Mostrar_Retorno_ECF (iRetorno)
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 |
|
 |