Ir para conteúdo
  • Cadastre-se

dev botao

Erro Paf_R.writeregistror05


Ver Solução Respondido por Régys Silveira,
  • Este tópico foi criado há 4175 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Recommended Posts

Postado

Após a revision 4886 (28/02/2013), os registros R05 estão sendo gerados com o número do CCF/CVC/CBP (NUM_CONT) errados.

 

Fonte antigo (revision 4885): funcionando

LFill(RegR04.NUM_CONT, 6)

Fonte novo (revision 4886 em diante): gerando errado

LFill( IfThen(NUM_CONT=-1, RegR04.NUM_CONT, NUM_CONT), 6)

Por exemplo, você passa um CCF = 5 e ele gera 000500.

 

 

Segue a correção com esta linha de código modificada.

 

 

ACBrPAF_R_Class.pas

Leandro Gobbo

Postado

Vou repassar ao Régys para ele analisar, obrigado.

  • Curtir 1

--
Isaque Pinheiro
Aracruz/ES - Brasil
___________________________________________________________________________
Site Oficial: www.isaquepinheiro.com.br 
Youtube: youtube.com/isaquepinheirooficialbr
Facebook: facebook.com.br/isaquepinheirooficialbr
Instagram: instagram.com/isaquepinheirooficialbr
Linkdin: https://www.linkedin.com/in/isaquepinheirooficialbr

Conheça o Projeto ORMBr Framework for Delphi - https://www.ormbr.com.br

 

  • Moderadores
  • Solution
Postado

Na verdade o que o fonte antigo faz é:

- Se passar NUM_CONT = -1 ele usa o NUM_CONT do reg0 pai, se for outro valor usar o NUM_CONT normal.

- sempre vai formatar em 6 casas, mas usando como a regra acima.

 

Para continuar do modo antigo basta passar -1 em NUM_CONT ou deixar sem informar.

 

O que você fez foi tirar a decisão é deixar fixo para pegar sempre o NUM_CONT, que seria o equivalente a passar o valor a propriedade ao invés de informar -1.

  • Curtir 2

Equipe ACBr

Régys Borges da Silveira

http://www.regys.com.br

certificacao delphicertificacao delphi
Postado

Régys e Isaque, boa tarde.

 

Testei novamente agora e o problema não aconteceu mais... (deve ter sido falha no meu banco de dados do final de semana). Então, por favor, considerem com assunto encerrado, problema resolvido.

 

Desculpem o transtorno.

Leandro Gobbo

Postado (editado)

Régys e Isaque, boa tarde.

 

PROBLEMA NÃO RESOLVIDO... consegui simular novamente o erro que encontrei no final de semana. E já detectei o problema no código-fonte:

 

Atual:

LFill( IfThen(NUM_CONT=-1, RegR04.NUM_CONT, NUM_CONT), 6)

Proposta para correção:

IfThen(NUM_CONT=-1, LFill(RegR04.NUM_CONT, 6), LFill(NUM_CONT, 6)) +

Com isso, não interessa como o registro R05 foi abastecido (ou deixado nulo), ele sempre gerará o valor com a formatação correta.

 

 

Exemplos dos meus testes:

 

CORRETO => Revision 4885

CCF=1 <=> 000001

R05EMULADOR            OMP-2100 TH FI       01000005000001001599371...

ERRADO => Revision 4886 em diante

CCF=1 <=> 000100

R05EMULADOR            OMP-2100 TH FI       01000005000100001599371

Seguem em anexo os arquivo de testes gerados e também o código-fonte modificado para análise de uma nova revision.

 

 

Obrigado.

ACBrPAF_R_Class.pas

Testes - Movimento por ECF.zip

Editado por gobbo

Leandro Gobbo

Postado (editado)

Os arquivos de testes foram verificados com o aplicativo "Visualizador de Arquivos Paf" e gostaria de parabenizar seus idealizadores pela excelente iniciativa.

 

 

P.S. Ainda estou usando a ER 01.11, homologuei nesta versão e ainda está válida para nossos clientes.

 

O único detalhe nesta aplicação é que ao validar um arquivo 01.11, ele informa uma inconsistência:

valor informado 0111, valor esperado 0112

 

Isso mesmo selecionando o layout 01.11 no "combo box" do aplicativo.

 

Agora sem este aplicativo, nem perceberia este probleminha na geração do "Movimento por ECF".

Editado por gobbo

Leandro Gobbo

Postado (editado)

Régys, boa tarde.

 

Não não.. me expressei mal... Eu homologuei em 2012 (nesta versão ER 01.11), e como minha homologação continua válida (por 2 anos), continuo precisando usar o layout da ER 01.11.

 

Mas como tive que modificar outras coisas no meu PDV, estamos solicitando somente uma alteração de MD5 na Secretaria de Estado da Fazenda. Mas o nosso aplicativo continua usando ER 01.11 de acordo com o laudo de 2012 (e por isso continuo validando meus arquivos no seu programa selecionando a ER 01.11).

 

 

Quanto a alteração da geração do registro R05, creio ser indiferente a versão da ER. O problema estava na "formatação" do NUM_CONT, causando a geração de um número errado. Por exemplo:

 

Código-fonte atual:

CCF=1 (um) => geração 000100 (cem)

 

Código-fonte corrigido:

CCF=1 (um) => geração 000001 (um)

 

 

Para avaliar ambos os casos, baixe os anexos acima (Testes - Movimento por ECF.zip) e valide-os no seu programa. Você verá os 2 problemas mencionados:

 

- ER 01.11 sendo exigido o valor 0112 (em todos os arquivos);

 

- Registro R05 com o CCF 000100 (cem) ao invés de 000001 (um) comparando com o registro R04

(arquivo "030904000000EMULADOR23072013 - ERRADO - Revision 4886 em diante.txt")

Editado por gobbo

Leandro Gobbo

  • Este tópico foi criado há 4175 dias atrás.
  • Talvez seja melhor você criar um NOVO TÓPICO do que postar uma resposta aqui.

Crie uma conta ou entre para comentar

Você precisar ser um membro para fazer um comentário

Criar uma conta

Crie uma nova conta em nossa comunidade. É fácil!

Crie uma nova conta

Entrar

Já tem uma conta? Faça o login.

Entrar Agora
×
×
  • 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.

The popup will be closed in 10 segundos...