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

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;
Esta entrada foi publicada em ACBr e marcada com a tag , , , , , . Adicione o link permanente aos seus favoritos.

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

  1. Érico Catão disse:

    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?

  2. Luiz Paulo disse:

    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 disse:

      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 disse:

        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 disse:

          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.

  3. ernesto lemos disse:

    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?

  4. Raquel disse:

    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

Deixe uma resposta