Business - Automação Comercial

Verificando Redução Z nas Impressoras Daruma

Veja neste artigo como verificar se há Redução Z pendente nas Impressoras Fiscais Daruma.

por Daruma Developer



Olá pessoal,
Hoje veremos como verificar se há Redução Z pendente nas Impressoras Fiscais Daruma.
É importante saber o status da Redução Z, pois caso ela esteja pendente não será possível iniciar o trabalho do movimento atual e também para não emitir a do movimento atual acidentalmente.

A DarumaFramework.dll possui um método alto nível que nos permite obter o status da Redução Z.
Função: rVerificarReducaoZ_ECF_Daruma.

Definição:

Este método retorna se a Redução Z está pendente caso o retorno seja igual a 1(um) ou 0(zero) para Redução Z já executada.

C(Sharp)
[DllImport("DarumaFrameWork.dll")]
        public static extern int rVerificarReducaoZ_ECF_Daruma(StringBuilder zPendente);

    private void métodoRVerificarReducaoZECFDarumaToolStripMenuItem_Click(object 
sender, EventArgs e)
        {
            StringBuilder Str_ZPendente = new StringBuilder(3);

            Declaracoes.iRetorno = Declaracoes.rVerificarReducaoZ_ECF_Daruma(Str_ZPendente);
            Declaracoes.TrataRetorno(Declaracoes.iRetorno);

            TB_Retorno.Text = Str_ZPendente.ToString().Trim();
            
        }
Observe o Retorno.


Delphi


function rVerificarReducaoZ_ECF_Daruma(zPendente:string): Integer; 
StdCall; External 'DarumaFramework.dll';
 
    SetLength (Str_VerificarRZ,1);
 Int_Retorno := rVerificarReducaoZ_ECF_Daruma(Str_VerificarRZ);
   if str_VerificarRZ = '1' then
     begin
       Edt_Retorno.Lines.Text := (' 1 - Redução Z Pendente!!');
      end
      else
      begin
         Edt_Retorno.Lines.Text:= (' 0 - Não existe Redução Z pendente!!');
 end;    
VB6

rVPublic Declare Function rVerificarReducaoZ_ECF_Daruma Lib "DarumaFramework.dll" 
(ByVal zPendente As String) As Integer

Private Sub mnurVerificarReducaoZ_ECF_Daruma_Click()
Dim Str_ZPendente As String
        Str_ZPendente = Space(1)

        iRetorno = rVerificarReducaoZ_ECF_Daruma(Str_ZPendente)
        If (Str_ZPendente = 1) Then
        MsgBox ("1- Redução Z Pendente")
        Else
        MsgBox ("0- Redução Z emitida")
        End If
        
        TB_Retorno.Text = Str_ZPendente
End Sub
Além da função rVerificarReducaoZ_ECF_Daruma, temos mais duas maneiras de verificar o status da Redução Z.
Uma delas é pelo próprio Gerador de Arquivos Daruma, é isto mesmo! O GAD.

Clique aqui para baixar o GAD

No canto inferior a direita existe um campo chamado Redução-Z pendente.

Observe abaixo:
Caso haja Redução Z pendente o status devolvido ser SIM e em caso negativo o status será NÃO.
Fácil não? Só que existe uma maneira mais fácil ainda, que é através do próprio tratamento de retornos dos métodos.
O erro 88 representa RZ do movimento anterior pendente.
O erro 89 representa Já emitiu RZ de hoje.

Dá até pra saber se a Redução Z de hoje foi emitida, bacana né!
Confira mais status na tabela:

Clique aqui para ver a tabela

Para conhecer melhor o Tratamento de retornos acesse:

Veja aqui outros tratamentos de erro

Duvidas estamos à disposição!
Um forte abraço...
Daruma Developer

Daruma Developer