private void calcularDescuento(int index, PrecioItemProxy object, String value) { if (!FieldVerifier.notIsNumberPositivo(value, "Descuento")) { ContextMantenimientoPrecioItem context = FACTORY.contextMantenimientoPrecioItem(); FACTORY.initialize(EVENTBUS); PrecioItemProxy beanEdit = context.edit(object); BigDecimal valPrecioSd = object.getPrecioSD(); BigDecimal valDescuento = BigDecimal.valueOf(Double.parseDouble(value)); BigDecimal valPrecioVenta = object.getPrecioSD().subtract(valDescuento); BigDecimal valValorVenta = valPrecioVenta.divide( UISesionImpl.beanInitParam .getIgv() .divide(BigDecimal.valueOf(100), 5, RoundingMode.HALF_UP) .add(BigDecimal.ONE), 5, RoundingMode.HALF_UP); BigDecimal igv = valPrecioVenta.subtract(valValorVenta); beanEdit.setPrecioSD(valPrecioSd); beanEdit.setDescuento(valDescuento); beanEdit.setPrecioVenta(valPrecioVenta); beanEdit.setValorVenta(valValorVenta); beanEdit.setIgv(igv); // GWT.log("Index Vista: " + index); // index = dataProvider.getList().indexOf(object); int indexModel = data.indexOf(object); // GWT.log("Index Modelo: " + indexModel); data.set(indexModel, beanEdit); indexUpdates.add(indexModel); context.fire(); dataProvider.refresh(); // Update the row and subrow. setKeyboardSelectedRow(index, 0, true); // Update the column index. setKeyboardSelectedColumn(6, true); } else { } }