Régys Borges da Silveira

  • Início
  • Assinatura Fontes
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre
12 dezembro 2012

Lendo dados da Redução Z utilizando o ACBr

Escrito por Régys Borges da Silveira
12/12/2012 ACBr ACBr, Delphi 17 comentários

Visto a dificuldade de grande parte dos usuários e a necessidade que temos de gravar os dados da Redução Z emitida para fins de geração do Sintegra, SPED, Arquivo de Movimento entre outros, resolvi postar esse exemplo de código completo para leitura dos dados da Redução Z utilizando o ACBrECF.

Uma boa prática e utilizar o código de leitura no evento OnDepoisReducaoZ do componente ACBrECF, assim temos a certeza que sempre após uma Redução Z teremos gravados os dados da mesma, lembrando que ainda existem impressoras fiscais programadas para efetuar a Redução Z automaticamente, isso não é mais permitido mas alguns modelos programados antigamente ainda essa função ativada, nesta situação seria interessante efetuar o tratamento, verificando se a Data de Movimento da última Redução Z consta no banco de dados ou não se não efetuar a leitura manual fora do evento.

Também fiz um aplicativo de exemplo com códigos fontes disponibilizados na área de downloads do blog.

var
  DadosReducaoStr: String;
  ReducaoZ: TACBrECFDadosRZ; //declare ACBrECFClass no uses
  I: Integer;
begin

  // Obtendo os dados da redução Z;
  DadosReducaoStr := ACBrECF1.DadosUltimaReducaoZ;

  // jogar a classe preenchida para uma variavel
  // isso facilita o acesso aos dados
  ReducaoZ := ACBrECF1.DadosReducaoZClass;

  // dados gerais
  ReducaoZ.DataDaImpressora
  ReducaoZ.DataDoMovimento
  ReducaoZ.NumeroDeSerie
  ReducaoZ.NumeroDeSerieMFD
  ReducaoZ.NumeroDoECF
  ReducaoZ.NumeroDaLoja
  ReducaoZ.NumeroCOOInicial
  ReducaoZ.COO - 1 // COO Final

  // CONTADORES
  ReducaoZ.COO
  ReducaoZ.GNF
  ReducaoZ.CRO
  ReducaoZ.CRZ
  ReducaoZ.CCF
  ReducaoZ.CFD
  ReducaoZ.CDC
  ReducaoZ.NCN
  ReducaoZ.GRG
  ReducaoZ.GNFC
  ReducaoZ.CCDC
  ReducaoZ.CFC

  // TOTALIZADORES GERAIS
  ReducaoZ.ValorGrandeTotal
  ReducaoZ.ValorVendaBruta
  ReducaoZ.VendaLiquida
  ReducaoZ.TotalTroco

  // ICMS
  ReducaoZ.TotalICMS
  ReducaoZ.CancelamentoICMS
  ReducaoZ.DescontoICMS
  ReducaoZ.AcrescimoICMS
  ReducaoZ.SubstituicaoTributariaICMS
  ReducaoZ.IsentoICMS
  ReducaoZ.NaoTributadoICMS

  // ISSQN
  ReducaoZ.TotalISSQN
  ReducaoZ.CancelamentoISSQN
  ReducaoZ.DescontoISSQN
  ReducaoZ.AcrescimoISSQN
  ReducaoZ.SubstituicaoTributariaISSQN
  ReducaoZ.IsentoISSQN
  ReducaoZ.NaoTributadoISSQN

  // OPERAÇÕES NÃO FISCAIS
  ReducaoZ.TotalOperacaoNaoFiscal
  ReducaoZ.CancelamentoOPNF
  ReducaoZ.DescontoOPNF
  ReducaoZ.AcrescimoOPNF

  // Todas as Aliquotas, de ICMS e ISSQN na ordem original de programação no ECF
  for I := 0 to ReducaoZ.TodasAliquotas.Count - 1 do
  begin
    with ReducaoZ.TodasAliquotas[I] do
    begin
      Sequencia
      Indice
      Tipo
      Aliquota
      Total
    end;
  end;

  // ICMS ********************************************************************
  for I := 0 to ReducaoZ.ICMS.Count - 1 do
  begin
    with ReducaoZ.ICMS[I] do
    begin
      Sequencia
      Indice
      Tipo
      Aliquota
      Total
    end;
  end;

  // ISSQN *******************************************************************
  for I := 0 to ReducaoZ.ISSQN.Count - 1 do
  begin
    with ReducaoZ.ISSQN[I] do
    begin
      Sequencia
      Indice
      Tipo
      Aliquota
      Total
    end;
  end;

  // TOTALIZADORES NÃO FISCAIS ***********************************************
  for I := 0 to ReducaoZ.TotalizadoresNaoFiscais.Count - 1 do
  begin
    with ReducaoZ.TotalizadoresNaoFiscais[I] do
    begin
      Indice
      Descricao
      PermiteVinculado
      FormaPagamento
      Total
      Contador
    end;
  end;

  // MEIOS DE PAGAMENTO ******************************************************
  for I := 0 to ReducaoZ.MeiosDePagamento.Count - 1 do
  begin
    with ReducaoZ.MeiosDePagamento[I] do
    begin
      Indice
      Descricao
      PermiteVinculado
      Data
      TipoDoc
    end;
  end;

  // RELATÓRIO GERENCIAL *****************************************************
  for I := 0 to ReducaoZ.RelatorioGerencial.Count - 1 do
  begin
    with ReducaoZ.RelatorioGerencial[I] do
    begin
      Indice
      Descricao
      Contador
    end;
  end;

end;

Compartilhar este post

  • Clique para compartilhar no WhatsApp(abre em nova janela) WhatsApp
  • Clique para compartilhar no Telegram(abre em nova janela) Telegram
  • Clique para compartilhar no Facebook(abre em nova janela) Facebook
  • Clique para compartilhar no LinkedIn(abre em nova janela) LinkedIn
  • Clique para imprimir(abre em nova janela) Imprimir
  • Clique para enviar um link por e-mail para um amigo(abre em nova janela) E-mail

Curtir isso:

Curtir Carregando...

Descubra mais sobre Régys Borges da Silveira

Assine para receber nossas notícias mais recentes por e-mail.

© Copyright 2014. Todos os direitos reservados.