Ir para conteúdo
  • Cadastre-se

dev botao

Como criar classe herdada de TACBrECFVirtualNaoFiscalClass sobrescrevendo método da RedZ, p/não imprimir RZ?


Ver Solução Respondido por ROGERIO EDVAR DE SOUZA,
  • Este tópico foi criado há 1809 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

  • Solution
23 horas atrás, ROGERIO EDVAR DE SOUZA disse:

Boa tarde...

Foi dada uma dica para 

Criar classe herdada de TACBrECFVirtualNaoFiscalClass sobrescrevendo método da RedZ, p/não imprimir RZ...

Não estamos conseguindo.

Alguém já conseguiu fazer isto ?

Obrigado!

Boa tarde...  (podem fechar o tópico) ...

- Consegui fazer a alteração, utilizei um software "Superfinder" para encontrar

onde tinha sido feita a impressão da REDUÇÃO Z Virtual.

- Segue abaixo a alteração, dando minha pequena contribuição ao Fórum, evitando que RZ seja impressa,

- Basta substituir o evento dentro de : C:\ACBR\Fontes\ACBrSerial\ACBrECFVirtual.pas pelo que alterei abaixo 

// 16/04/2029.Carlos : Redução Z da CLASSE VIRTUAL alterada :
// Casos:
// (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI
// ...
// (2) Reiniciando valores sem impressão: Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então,
// emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora
// ...
// (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então,
// emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora
// ...
// Units extras que precisei : WIndows{Mb_Ok}, Forms{Appliaction},  Controls{mrNo}  ,
// ...
procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ;
var
A: Integer ;
begin
  GravaLog( ComandoLOG );

   // (1) Se a impressora estiver BLOQUEADA (RZ já tirada), simplesmente DESBLOQUEIA e SAI
   if Estado = estBloqueada then
   Begin
     // Como era: raise EACBrECFERRO.Create(ACBrStr('Dia já foi fechado. Redução Z já emitida')) ;
     //
     fpEstado := estLivre ; fpDia    := now ;  Exit;
   End;

  // Se o estado não for LIVRE nem for REQUER REDUÇÃO Z :
  if not (Estado in [estLivre,estRequerZ]) then
  Begin
     raise EACBrECFERRO.create(ACBrStr('O Estado não é "LIVRE" Cancele o último Documento')) ;
  End;

   // (2) Se estiver "requisitando RZ"(dia seguinte), ou imprimindo Z, então,
   // emite aviso "Iniciando Novo dia de Movimento" e limpa valores e libera Impressora
   if Estado=estRequerZ then
     Application.MessageBox(
     'Clique em [Ok] para iniciar Novo dia de Movimento',
     'Leia com Atenção', MB_OK + MB_IconInformation );


   // (3) Reiniciando valores sem impressão: Se estiver "Livre"(dia seguinte), ou imprimindo Z, então,
   // emite pergunta "Reiniciar dia de Movimento?" ... se sim, limpa valores e libera Impressora
   if Estado=estLivre then
   Begin
      If Application.MessageBox( Pchar(
      '* Redução Z Virtual - Sem Impressão  *'+#13+#13+#13+
      'Reiniciar dia de Movimento ?'+#13+#13+
      '[Sim] = Leitura X Virtual será reiniciada;'+#13+
      '[Não] = Leitura X Virtual continuará acumulando valores;'),
      'Responda com Atenção', MB_YESNO + MB_DefButton2 + Mb_IconQuestion )=MrNo then
      Exit;
   End;
     //


  try
    ZeraCupom;
    fpReducoesZ := fpReducoesZ + 1 ;

    // ReducaoZVirtual( DataHora ); Local que ocorreria a impressão

{  Como ERA :
  if fpEstado = estRequerZ then
    begin
      fpEstado := estLivre ;
      fpDia    := now ;
    end
    else
      fpEstado := estBloqueada ; }

      fpEstado := estLivre ;
      fpDia    := now ;


    fpNumCER     := 0;
    fpVendaBruta := 0;
    fpTotalDescontosICMS   := 0;
    fpTotalDescontosISSQN  := 0;
    fpTotalAcrescimosICMS  := 0;
    fpTotalAcrescimosISSQN := 0;
    fpCNFCancelados        := 0;
    fpCNFCanceladosTotal   := 0;
    fpCuponsCancelados     := 0;
    fpCuponsCanceladosTotalICMS  := 0;
    fpCuponsCanceladosTotalISSQN := 0;
    fpCuponsCanceladosEmAberto   := 0;
    fpCuponsCanceladosEmAbertoTotalICMS  := 0;
    fpCuponsCanceladosEmAbertoTotalISSQN := 0;

    For A := 0 to fpAliquotas.Count - 1 do
      fpAliquotas[A].Total := 0 ;

    For A := 0 to fpFormasPagamentos.Count - 1 do
      fpFormasPagamentos[A].Total := 0 ;

    For A := 0 to fpComprovantesNaoFiscais.Count - 1 do
    begin
      fpComprovantesNaoFiscais[A].Total := 0 ;
      fpComprovantesNaoFiscais[A].Contador := 0 ;
    end;

    For A := 0 to fpRelatoriosGerenciais.Count - 1 do
        fpRelatoriosGerenciais[A].Contador := 0 ;

      AbreDia;

    //  AbreDocumento ; parte da impressão

  except
    LeArqINI ;
    raise ;
  end ;
end; // procedure TACBrECFVirtualClass.ReducaoZ(DataHora : TDateTime) ;

Link para o comentário
Compartilhar em outros sites

  • Consultores
34 minutos atrás, ROGERIO EDVAR DE SOUZA disse:

Boa tarde...  (podem fechar o tópico) ...

A pedido do usuário, tópico fechado.

Relacionado:

https://www.projetoacbr.com.br/forum/topic/50635-nfce-com-acbrecf-emitindo-forçadamente-redução-z/

  • Curtir 1

[]'s

Consultor SAC ACBr

Elton
Profissionalize o ACBr na sua empresa, conheça o ACBr Pro.

Projeto ACBr     Telefone:(15) 2105-0750 WhatsApp(15)99790-2976.

Um engenheiro de Controle de Qualidade(QA) entra num bar. Pede uma cerveja. Pede zero cervejas.
Pede 99999999 cervejas. Pede -1 cervejas. Pede um jacaré. Pede asdfdhklçkh.
Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 1809 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.
Visitante
Este tópico está agora fechado para novas respostas
×
×
  • Criar Novo...

Informação Importante

Colocamos cookies em seu dispositivo para ajudar a tornar este site melhor. Você pode ajustar suas configurações de cookies, caso contrário, assumiremos que você está bem para continuar.