Business - Automação Comercial
PAF-ECF: Arquivo Criptografado
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 DarumaFrameowork.dll que facilitam este trabalho todo de ter que criptografar os valores e depois descriptografar para a devida comparação.
por Daruma DeveloperNú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 DarumaFrameowork.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!
- Códigos de Barras no ECF Automação Comercial
- Gerando o SPED Automação Comercial
- Gerando o Arquivo MFD (PAF-ECF) Automação Comercial
- Desprogramando o Horário de VerãoAutomação Comercial
- Programando o Horário de VerãoAutomação Comercial