INTEQ KB
Advertisement
// Percentual a ser reateado
var perc = operacao.pedidoCab.PERCENTUAL

// Determinando valor para calculo
var totalItem = 0
var totalCampoBaseParaRateio = 0
for ( operacao.pedido.first(); !operacao.pedido.eof; operacao.pedido.next() ) {
   totalItem += operacao.pedido.item
   totalCampoBaseParaRateio += operacao.pedido.CAMPO_BASE_PARA_RATEIO
}
var valorParaReatear = round( ( totalCampoBaseParaRateio / 100 ) * perc, 2 )

// Calculo do rateio
var saldoValorParaReatear = valorParaReatear
for ( operacao.pedido.first(); !operacao.pedido.eof; operacao.pedido.next() ) {
   operacao.pedido.VALOR = round( ( operacao.pedido.item / totalItem ) * valorParaReatear, 2 )
   saldoValorParaReatear -= operacao.pedido.VALOR
}
// Atribuindo o resto do rateio no último item
operacao.pedido.VALOR = operacao.pedido.VALOR + saldoValorParaReatear
Advertisement