• Início
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre

Régys Borges da Silveira

  • Início
  • Cursos
  • Fontes de Aplicativos
  • Downloads
  • Contato
  • Sitemap
  • Sobre
Home  /  ACBr  /  Recuperando Número de Série e Valor do GT no componente ACBrAAC
14 dezembro 2012

Recuperando Número de Série e Valor do GT no componente ACBrAAC

Escrito por Régys Borges da Silveira
14/12/2012 ACBr ACBr, ACBrAAC, ACBrECF, Delphi, paf-ecf, programação 19 comentários

Um dos vários requisitos do Paf-ECF obrigatórios e a recomposição do Valor do GT ou Número de Série do ECF no arquivo auxiliar cripotografado. A suíte de componentes ACBr já possui a um bom tempo o componente ACBrAAC que quando é ligado ao componente ACBrECF permite a geração, controle e manipulação do arquivo criptografado automaticamente, conforme se vai utilizando o ECF, facilitando em muito a vida de quem programa para Paf ECF.

Segue o trecho referente ao requisito XXII:

1. O PAF-ECF deve garantir que será utilizado com ECF cujo pedido de autorização de uso tenha cumprido a legislação da unidade da federação de jurisdição do usuário do equipamento, adotando, no mínimo, as seguintes rotinas:

2. não possuir menus de configuração que possibilitem a desativação do ECF;

3. não possuir tela que possibilite configurar o ECF a ser utilizado, exceto quanto à porta de comunicação serial;

4. ao ser inicializado, ao viabilizar o acesso à tela de registro de venda e ao enviar ao ECF comando para abertura de documento fiscal, comparar o número de fabricação do ECF conectado neste momento com os números de fabricação dos ECFs autorizados para uso fiscal no estabelecimento, cadastrados em arquivo auxiliar criptografado, que somente poderá ser acessível ao estabelecimento usuário no caso de PAF-ECF exclusivo-próprio, observando-se que o cadastro de ECFs autorizados no arquivo auxiliar deve ser realizado exclusivamente pela empresa desenvolvedora do PAF;

5. ao ser inicializado, ao viabilizar o acesso à tela de registro de venda e ao enviar ao ECF comando para abertura de documento fiscal, comparar o valor acumulado no Totalizador Geral (GT) do ECF conectado neste momento com o valor correspondente armazenado em arquivo auxiliar criptografado, que somente poderá ser acessível ao estabelecimento usuário no caso de PAF-ECF exclusivo-próprio, observando-se que:
a) o registro inicial do valor correspondente ao Totalizador Geral no arquivo auxiliar criptografado deve ser realizado exclusivamente pela empresa desenvolvedora do PAF-ECF;
b) em cada emissão de documento fiscal o PAF-ECF deve atualizar o valor armazenado no arquivo auxiliar, correspondente ao Totalizador Geral do ECF respectivo.

6. caso não haja coincidência na comparação descrita no item 4 deste requisito e não havendo perda de dados gravados no arquivo auxiliar criptografado, impedir o seu próprio funcionamento, exceto para as funções descritas no item 1 do Requisito XVII.

7. caso não haja coincidência na comparação descrita no item 5 deste requisito e não havendo perda de dados gravados no arquivo auxiliar criptografado, impedir o seu próprio funcionamento, exceto:

  1. para as funções previstas no item 6 deste requisito;
  2. se, a critério da unidade federada, tiver ocorrido incremento do CRO, hipótese em que deverá recompor o valor do Totalizador Geral no arquivo auxiliar criptografado a partir do valor correspondente gravado no ECF.

8. caso não haja coincidência nas comparações descritas nos itens 4 ou 5 deste requisito e havendo perda, por motivo acidental, de dados gravados no arquivo auxiliar criptografado:

  1. comparar os números do CRZ e do CRO e o valor da Venda Bruta Diária, referentes à última Redução Z gravada na Memória Fiscal com os números e valor correspondentes no banco de dados a que se refere o item 2 do requisito XXV (campos 06, 08 e 12 do Registro tipo R02 constante no Anexo VI) e:
    1. se os números e valor forem iguais, recompor os dados no arquivo auxiliar (número de série de fabricação do ECF conectado e valor do Totalizador Geral atual do ECF conectado).
    2. se os números ou valor forem diferentes, impedir o seu próprio funcionamento, permitindo-se o funcionamento para as funções descritas no item 1 do Requisito XVII.

Para a recomposição do valor de GT e número de série o ACBrAAC possui dois eventos, onde as verificações devem ser feitas e se tudo estiver OK deve-se então passar ao eventos os novos valores, segue abaixo um exemplo simples de uso dos eventos de recuperação.

Recomposição do número de série:

procedure TForm1.ACBrAAC1VerificarRecomporNumSerie(const NumSerie: string;
  const ValorGT: Double; var CRO, CNI: Integer);
var
  OK: Boolean;
  NumCRZ, NumCRO: Integer;
  VendaBruta: Double;
begin

  // ler os dados da ultima Z no ECF
  ACBrECF1.DadosUltimaReducaoZ;

  NumCRO     := ACBrECF1.DadosReducaoZClass.CRO;
  NumCRZ     := ACBrECF1.DadosReducaoZClass.CRZ;
  VendaBruta := ACBrECF1.DadosReducaoZClass.ValorVendaBruta;

  // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados
  OK := Comparar com dados do BD;

  // setar os parametros se os valores (CRZ, CRO e Venda Bruta) forem iguais
  if OK then
  begin
    CRO := NumCRO;
    CNI := 010101; // codigo nacional de identificação do ECF conforme tabela
  end;

end;

Recomposição do grande total:

procedure TForm1.ACBrAAC1VerificarRecomporValorGT(const NumSerie: string;
  var ValorGT: Double);
var
  OK: Boolean;
  NumCRZ, NumCRO: Integer;
  VendaBruta: Double;
begin

  // ler os dados da ultima Z no ECF
  ACBrECF1.DadosUltimaReducaoZ;

  NumCRO     := ACBrECF1.DadosReducaoZClass.CRO;
  NumCRZ     := ACBrECF1.DadosReducaoZClass.CRZ;
  VendaBruta := ACBrECF1.DadosReducaoZClass.ValorVendaBruta;

  // comparar os dados obtidos com os dados da ultima redução Z gravada no Banco de dados
  OK := Comparar com dados do BD;

  // setar o parametro se os valores (CRZ, CRO e Venda Bruta) forem iguais
  if OK then
    ValorGT := ACBrECF1.GrandeTotal;

end;

Régys Borges da Silveira
Connect on Facebook Connect on Twitter Connect on Google+ Connect on Linkedin

Artigos relacionados

  • Webinar 30 anos de Delphi

    28/02/2025
  • Delphi: 30 Anos de Inovação e Produtividade

    14/02/2025
  • RAD Studio Live 2023

    21/02/2023

1 comentário

  1. Elizio Rezende Responde a Elizio para Elizio Rezende" aria-label=" Responde a Elizio para Elizio Rezende"> Responde a Elizio
    04/10/2017 at 14:46

    Boa tarde Régys,

    Teria alguma forma de recuperar os dados de reduções Z antigas no ACBR?
    Preciso do CRZ, CRO, COO INICIAL, COO FINAL, GT, Venda Liquida, Venda Bruta, Data Movimento.
    Tinha usuário do meu sistema fazendo redução Z por fora, portanto esses dados não foram populados na minha tabela do Sintegra 60M.
    Obrigado pela atenção.

    Um grande abraço.

    • Régys Borges da Silveira Responde a Régys para Régys Borges da Silveira" aria-label=" Responde a Régys para Régys Borges da Silveira"> Responde a Régys
      05/10/2017 at 14:34

      Pelo ACBr não, mas você pode gerar um arquivo MFD completo pelo ECF usando comandos do ACBr e a partir dele recuperar as informações que precisa.

  2. Poliany Tabosa Responde a Poliany para Poliany Tabosa" aria-label=" Responde a Poliany para Poliany Tabosa"> Responde a Poliany
    18/11/2015 at 15:24

    Boa tarde Régys, estou tentando executar o método que tem no AcbrAAC VerificarRecomporNumSerie(parametros…), mas onde ele escreve no arquivo o número de série da ecf corretamente?
    grata desde já pela atenção

    • Régys Borges da Silveira Responde a Régys para Régys Borges da Silveira" aria-label=" Responde a Régys para Régys Borges da Silveira"> Responde a Régys
      23/11/2015 at 12:02

      Desculpe não entendi a pergunta poderia detalhar melhor?

  3. Alexandre Jose Costa Responde a Alexandre para Alexandre Jose Costa" aria-label=" Responde a Alexandre para Alexandre Jose Costa"> Responde a Alexandre
    16/09/2015 at 15:58

    Boa tarde Regys gostaria de uma consultoria e saber quanto voçe cobra? Estou desenvolvendo o PAF-ECF em java utilizando o componente jACBrFramework, mas nao estou encontrando material suficiente assim com tem para o ACBrFramework, agora estou ness parte do uso do componente ACBrAAC mas os exemplos de uso sao muito limitado

    • Régys Borges da Silveira Responde a Régys para Régys Borges da Silveira" aria-label=" Responde a Régys para Régys Borges da Silveira"> Responde a Régys
      17/09/2015 at 16:47

      Eu não tenho muito costume com o jACBrFramework porque uso mais o Delphi, neste caso seria interessante você tentar dentro do tópico do jACBrFramework conseguir uma consultoria com o Rafael que foi quem criou ele.

  4. Gabriela Responde a Gabriela para Gabriela" aria-label=" Responde a Gabriela para Gabriela"> Responde a Gabriela
    19/10/2014 at 19:40

    Ao tentar abrir o ecf aparece a mensagem “arquivo de auxiliar de configurações de ecf nao encontrado”, o que tenho que fazer?

    • Régys Borges da Silveira Responde a Régys para Régys Borges da Silveira" aria-label=" Responde a Régys para Régys Borges da Silveira"> Responde a Régys
      19/10/2014 at 22:34

      Se entendi sua pergunta, ela é referente ao seu aplicativo Paf-ECF em uso, não vou conseguir lhe responder sobre o aplicativo, posso tentar ajudar com a mensagem, pelo que parece o arquivo auxiliar de configuração está faltando, bastaria você entrar em contato com a empresa que lhe vender o aplicativo para que resolvam o problema.

      Se a sua dúvida é quanto ao ACBr, essa mensagem aparece quando você não gravou o arquivo auxiliar via componente ACBrAAC, basta você gravar.

  5. Raquel Responde a Raquel para Raquel" aria-label=" Responde a Raquel para Raquel"> Responde a Raquel
    06/09/2014 at 08:02

    Estou tentando fazer a leitura x do caixa e está aparecendo a seguinte mensagem “GT DIFERENTE DO ECF”. o programa é Casa Magalhães série 10515 versão 16 1 18

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      07/09/2014 at 11:37

      Desculpe mas você está perguntando no lugar errado, deveria perguntar isso ao seu fornecedor de software e não em um blog.

  6. ernesto lemos Responde a ernesto para ernesto lemos" aria-label=" Responde a ernesto para ernesto lemos"> Responde a ernesto
    31/05/2013 at 15:05

    Instalei um outro programa além do utilizado pela impressora fiscal ( SIC) e ao fazer um teste de venda, cancelei a venda, mas ao voltar a usar o programa que já utilizava ficou aparecendo essa mensagem de erro (O valor da Grande Total(GT) armazenado em arquivo é diferente do totaizador da impressora fiscal convênio de ICMS 15/08 alterado pelo ato cotepe/icms 18/08) o que posso fazer para regularizar?

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      31/05/2013 at 15:16

      Entrar em contato com a empresa desenvolvidos do software para efetuar a liberação novamente.

  7. Luiz Paulo Responde a Luiz para Luiz Paulo" aria-label=" Responde a Luiz para Luiz Paulo"> Responde a Luiz
    22/05/2013 at 15:23

    Me desculpe Régys, comi uma parte do texto, segue abaixo correto:

    Régys, boa tarde.
    Pelo que eu entendi na nova Especificação de Requisitos, sempre que eu for enviar um comando para o ECF, devo verificar antes
    se o Número de Fabricação e o Valor Total Geral estão de acordo com o arquivo auxiliar?
    Até ai tdo bem, caso não estejam atualizo conforme vc mensionou acima. Antes ou depois de
    atualizar os valores devo exibir alguma mensagem ao usuario? E caso os valores não sejam iguais, o que fazer?

    Att,

    Luiz

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      22/05/2013 at 17:55

      Se os valores que devem ser checados baterem não precisa informar o usuário, bastar atualizar o arquivo e continuar, agora se não baterem ai sim você mostra uma mensagem ao usuário que não foi possível recompor o arquivo e não continua com o processo.

      • Luiz Paulo Responde a Luiz para Luiz Paulo" aria-label=" Responde a Luiz para Luiz Paulo"> Responde a Luiz
        23/05/2013 at 08:32

        Régys, bom dia.
        Muito obrigado pelo esclarecimento.
        Caso o Número de Série da impressora conectada não esteja cadastrada no arquivo auxiliar, porém os dados da última redução z bata com os dados que estão no banco de dados.
        O que eu faço? Exibir a mensagem de erro para o usuario ou faço o cadastro da impressora automaticamente no arquivo auxiliar?

        Att,

        Luiz Paulo

        • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
          23/05/2013 at 08:44

          Se o número de série não está cadastrado você deve mostrar o erro e somente liberar o uso mediante regravação do arquivo, não pode ser feito automático nesse caso.

  8. Érico Catão Responde a Érico para Érico Catão" aria-label=" Responde a Érico para Érico Catão"> Responde a Érico
    15/05/2013 at 09:10

    No meu programa fiscal está aparecendo essa mensagem. “o valor acumulado no Totalizador Geral (GT) do ECF conectado neste momento com o..” Tem algo a ser feito para normalizar? Ou tenho que pagar pela caríssima atualizacao novamente?

    • Régys Responde a Régys para Régys" aria-label=" Responde a Régys para Régys"> Responde a Régys
      15/05/2013 at 09:54

      Informe a mensagem completa por favor.

      • ernesto lemos Responde a ernesto para ernesto lemos" aria-label=" Responde a ernesto para ernesto lemos"> Responde a ernesto
        31/05/2013 at 16:26

        Obrigado pela atenção entrei em contato e já resolveu…obg!

Dê-nos sua opinião, seu comentário ajuda o site a crescer e melhorar a qualidade dos artigos.Cancelar resposta

Este site utiliza o Akismet para reduzir spam. Saiba como seus dados em comentários são processados.

Inscreva-se nas nossas redes sociais

  • Connect on Facebook
  • Connect on Twitter
  • Connect on LinkedIn
  • Connect on Instagram
  • Connect on RSS
  • Connect on YouTube
  • Connect on Github

Sites parceiros

  • Carlos H. Cantu
  • Delphi Basics
  • Delphi Feeds
  • Isaque Pinheiro
  • Object Pascal OOP

Social Media

  • Connect on Facebook
  • Connect on Twitter
  • Connect on LinkedIn
  • Connect on RSS
  • Connect on YouTube
  • Connect on Github
© Copyright 2014. Todos os direitos reservados.
Vá para versão mobile