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:
- para as funções previstas no item 6 deste requisito;
- 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:
- 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:
- 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).
- 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;
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.
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.
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
Desculpe não entendi a pergunta poderia detalhar melhor?
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
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.
Ao tentar abrir o ecf aparece a mensagem “arquivo de auxiliar de configurações de ecf nao encontrado”, o que tenho que fazer?
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.
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
Desculpe mas você está perguntando no lugar errado, deveria perguntar isso ao seu fornecedor de software e não em um blog.
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?
Entrar em contato com a empresa desenvolvidos do software para efetuar a liberação novamente.
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
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.
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
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.
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?
Informe a mensagem completa por favor.
Obrigado pela atenção entrei em contato e já resolveu…obg!