lcdvs4 Posted November 26 Topic Count: 3 Topics Per Day: 0.01 Content Count: 5 Content Per Day: 0.02 Reputation: 0 Achievement Points: 60 Solved Content: 0 Days Won: 0 Status: Offline Age: 42 Device: Windows Report Posted November 26 Alguém sabe me dizer porque a formula está sempre cortando um digito nas casas decimais quando o resultado do cálculo é fechado ? O problema só ocorre quando o resultado do valor é fechado. Ex: 13,50, 12,40, 11,30, etc. Nesse caso, o sistema está sempre removendo o zero e imprime o valor faltando 1 casa decimal, mas se o resultado for 13,51, 12,42, 11,35 no histórico sai exatamente desse jeito. Formula que traz a informação acima no histórico do movimento: SE TABMOV('CODTMV','S')<>'2.2.54' ENTAO "" SENAO "ALIQUOTA DE ICMS A 12% CONF. ITEM IV, ART. 54 DO RICMS/00. " + "RETENÇÃO DO IMPOSTO DE RENDA, CONFORME INSTRUÇÃO NORMATIVA RFB Nº2145 DE 26 DE JUNHO DE 2023, COM VALOR BASE DE R$" + VALTOSTR (MVB) + ", REFERENTE A 1,2% NO VALOR DE R$ " + "" + VALTOSTR (ARREDVALOR(0.012*MVB,2)) + ", ORDEM DE FORNECIMENTO N 002/2024 NOTA DE EMPENHO: E16925/2024" FIMSE O problema da fórmula está nesse trecho aqui : VALTOSTR (ARREDVALOR(0.012*MVB,2)) Precisei utilizar a função VALTOSTR para converter valor para string, visto que, se trata de um campo texto ( HISTÓRICO DO MOVIMENTO). Observe abaixo que ao invés de a formula trazer o valor de 13,50 está trazendo 13,5. Ou seja, o sistema está removendo o zero no final. Quote
caiiomonteiro Posted November 28 Topic Count: 11 Topics Per Day: 0.00 Content Count: 158 Content Per Day: 0.06 Reputation: 54 Achievement Points: 1,024 Solved Content: 0 Days Won: 24 Status: Offline Age: 27 Device: Windows Report Posted November 28 Bom dia Tente usar a função VALTOSTRFORMAT e passar a máscara '#,#.00' ao invés da função VALTOSTR 1 Quote
Recommended Posts
Join the conversation
You can post now and register later. If you have an account, sign in now to post with your account.