Ir para conteúdo
  • Cadastre-se

dev botao

Bloco X - Redução Z


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

Recommended Posts

Bom dia Pessoal,

    Me surgiu uma duvida nos arquivos de reduções z do bloco x. Nos campos VendaBrutaDiaria e GT devem ser informado um numero inteiro com zeros a esquerda para completar o tamanho. Supondo que tenho um valor de Venda Bruta de 1.065,98 esse campo deve ser informado de qual forma:

<VendaBrutaDiaria>00000000106598</VendaBrutaDiaria> Com as decimais

<VendaBrutaDiaria>00000000001065</VendaBrutaDiaria> Sem as decimais.

----------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

Eu já iniciei os envios do bloco x nos postos de combustível e acabei vendo o seguinte, o ACBr manda com as casas decimais, mais quando é um valor que termina com 0 ele corta uma casa, exemplo, com o mesmo valor usado acima '1.065,98' ele vai:

<VendaBrutaDiaria>00000000106598</VendaBrutaDiaria>

Agora se o valor terminar com 0, por exemplo, '1.065,90' ele vai:

<VendaBrutaDiaria>00000000010659</VendaBrutaDiaria> acaba desconsiderando a ultima casa,

Alguém verificou essa situação? Estou com o ACBr atualizado com a ultima versão.

 

Até mais.

Link para o comentário
Compartilhar em outros sites

Contornei o problema fazendo um ajuste na unit ACBrBlocoX_ReducaoZ na procedure TACBrBlocoX_ReducaoZ.GerarXML.

Comentei as seguintes linhas

//  FGerador.wCampo(tcNumStr, '', 'VendaBrutaDiaria', 14, 14, 1, OnlyNumber(CurrToStr(VendaBrutaDiaria)));
//  FGerador.wCampo(tcNumStr, '', 'GT', 18, 18, 1, OnlyNumber(CurrToStr(GT)));

e substitui o 'CurrToStr' por um FormatFloat. Não sei se é a melhor forma mais assim fica garantido que sempre ele vai trabalhar com duas casas decimais antes de tirar os outros caracteres do valor e acrescentar os zeros a esquerda.

  FGerador.wCampo(tcNumStr, '', 'VendaBrutaDiaria', 14, 14, 1, OnlyNumber(FormatFloat('0.00', VendaBrutaDiaria)));
  FGerador.wCampo(tcNumStr, '', 'GT', 18, 18, 1, OnlyNumber(FormatFloat('0.00', GT)));

 

Link para o comentário
Compartilhar em outros sites

  • Este tópico foi criado há 2251 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.