Pesquisar na Comunidade
Showing results for tags 'R05'.
Encontrado 1 registro
-
Dúvida Geração Do Registro R05 - Tpaf_R.writeregistror05
um tópico no fórum postou carlosmarian ACBrSintegra/ACBrPAF
Olá, Atualizei recentemente o ACBR e ao comparar os arquivo gerados antes e depois da atualização verifiquei uma pequena diferença no valor gerado para o campo "NUM_CONT" na linha R05. Antes gerava "042165" depois da atualização passou a gerar "421650", completando o valor com o zero a direita e não a esquerda. Avaliando o código verifiquei a seguinte alteração no código: Antes era: "LFill(RegR04.NUM_CONT, 6) +" e agora é : "LFill( IfThen(NUM_CONT=-1, RegR04.NUM_CONT, NUM_CONT), 6) +" Ao debugar vi que o método LFILL que é invocado depois da alteração é o com a assinatura : "LFill(Value: Currency; Size: Integer; Decimal: Integer = 2; Nulo: Boolean = false; Caracter: Char = '0'; Mascara: String = ''): String; overload;"; e não com a assinatura "LFill(Value: Integer; Size: Integer; Nulo: Boolean = false; Caracter: Char = '0'): String; overload;" Para contornar eu fiz a seguinte alteração de: "LFill( IfThen(NUM_CONT=-1, RegR04.NUM_CONT, NUM_CONT), 6) +" para: "LFill( IfThen(NUM_CONT=-1, IntToStr(RegR04.NUM_CONT), IntToStr(NUM_CONT)), 6) +" Mas eu acredito que não seja a melhor forma, outra coisa que vi é que o método "ifthen" que é chamado e o "function IfThen(AValue: Boolean; const ATrue: Char; AFalse: Char): Char; overload;" que esta na classe "ACBrSpedUtils" e não na classe "ACBrUtil". Acredito que se passar a usar o IFTHEN do ACBRUtil já deve corrigir isso pq ele tem uma assinatura que recebe dois valores inteiros e que retorna um iteiro, diferente dos que hj estão disponíveis no "ACBrSpedUtils". No aguardo. Obrigado pela atenção.