public List<TblProducto> autoComplete(String prefijo) {
   try {
     return productoFacade.findByNombreProducto("%" + prefijo + "%", 0, 10);
   } catch (Exception ex) {
     ex.printStackTrace();
     this.addError(ex.getMessage(), ex.getMessage());
   }
   return new ArrayList<TblProducto>();
 }
  public List<SelectItem> getTblProductoList() {
    if (tblProductoList.isEmpty()) {
      try {
        List<TblProducto> l = productoFacade.findActive();

        tblProductoList.add(new SelectItem(-1, "Seleccione un producto"));
        for (TblProducto tblProducto : l) {
          tblProductoList.add(
              new SelectItem(tblProducto.getNumProducto(), tblProducto.getNomProducto()));
        }
      } catch (Exception ex) {
        ex.printStackTrace();
      }
    }
    return tblProductoList;
  }
 public void seleccionarProducto(ValueChangeEvent v) {
   try {
     TblProducto producto = productoFacade.find((Integer) v.getNewValue());
     if (producto != null) {
       tblDetalleComprobanteDonacion.setTblDetalleComprobanteDonacionPK(
           new TblDetalleComprobanteDonacionPK(
               this.tblComprobanteDonacion.getNumComDonacion(), producto.getNumProducto()));
       tblDetalleComprobanteDonacion.setPreUniComDonacion(producto.getPreFinProducto());
       tblDetalleComprobanteDonacion.setTotIteComDonacion(
           producto.getPreFinProducto() * tblDetalleComprobanteDonacion.getCanProComDonacion());
       tblDetalleComprobanteDonacion.setPresentacion(
           producto.getCatPresentacionProducto().getNomPreProducto());
     }
   } catch (Exception ex) {
     ex.printStackTrace();
     this.addError(ex.getMessage(), ex.getMessage());
   }
 }