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 {

    }
  }