@Command
  @NotifyChange({"clientes"})
  public void setCliente(Event evt) {
    clientesBean = new ClientesBean();

    cuentaCheques.clearErrorMessage();
    nombreCliente.clearErrorMessage();
    codigoBicEnvio.clearErrorMessage();
    codigoBicRecepcion.clearErrorMessage();
    cdContratoSicoco.clearErrorMessage();
    errorIva.clearErrorMessage();
    moneda.clearErrorMessage();

    logger.debug("Entrando");
    logger.debug(cuentaCheques.getValue());
    logger.debug(nombreCliente.getValue());
    logger.debug(codigoBicRecepcion.getValue());
    logger.debug(codigoBicEnvio.getValue());
    logger.debug(iva.getSelectedItem() != null ? iva.getSelectedItem().getValue() : "");
    logger.debug(moneda.getValue());
    logger.debug(clienteAAA.isChecked());
    logger.debug(cuentaActiva.isChecked());
    logger.debug(mensualidad.isChecked());
    logger.debug(anualidad.isChecked());
    logger.debug(fechaAlta.getValue());
    logger.debug(cdContratoSicoco.getValue());

    boolean errorGuardar = false;
    if (cuentaCheques.getValue().isEmpty()) {
      cuentaCheques.setErrorMessage("Favor de introducir el Número de Cuenta de Cheques");
      errorGuardar = true;
    } else if (cuentaCheques.getValue().length() < 10) {
      cuentaCheques.setErrorMessage("El Número de Cuenta de Cheques dede ser de 10 digitos");
      errorGuardar = true;
    } else if (!cuentaCheques.getValue().matches(".[0-9]+")) {
      cuentaCheques.setErrorMessage("El Número de Cuenta de Cheques solo debe contener números");
      errorGuardar = true;
    }

    if (codigoBicRecepcion.getValue().isEmpty()) {
      codigoBicRecepcion.setErrorMessage("Favor de introducir el Código BIC de Recepción");
      errorGuardar = true;
    } else if (codigoBicRecepcion.getValue().length() < 11) {
      codigoBicRecepcion.setErrorMessage("El Código BIC de Recepción dede ser de 11 digitos");
      errorGuardar = true;
    } else if (!codigoBicRecepcion.getValue().matches(".[a-zA-Z0-9]+")) {
      codigoBicRecepcion.setErrorMessage(
          "El Código BIC de Recepción solo debe contener números o letras");
      errorGuardar = true;
    }

    if (!codigoBicEnvio.getValue().isEmpty()) {
      if (codigoBicEnvio.getValue().length() < 11) {
        codigoBicEnvio.setErrorMessage("El Código BIC de Envío dede ser de 11 digitos");
        errorGuardar = true;
      } else if (!codigoBicEnvio.getValue().matches(".[a-zA-Z0-9]+")) {
        codigoBicEnvio.setErrorMessage(
            "El Código BIC de Envío solo debe contener números o letras");
        errorGuardar = true;
      }
    }

    if (cdContratoSicoco.getValue().isEmpty()) {
      cdContratoSicoco.setErrorMessage("Favor de introducir el Número de Contrato");
      errorGuardar = true;
    } else if (cdContratoSicoco.getValue().length() < 12) {
      cdContratoSicoco.setErrorMessage("El Número de Contado dede ser de 12 digitos");
      errorGuardar = true;
    } else if (!cdContratoSicoco.getValue().matches(".[0-9]+")) {
      cdContratoSicoco.setErrorMessage("El Número de Contrato solo debe contener números");
      errorGuardar = true;
    }

    if (iva.getSelectedItem() == null
        || iva.getSelectedItem().getValue() == null
        || iva.getSelectedItem().getValue().toString().isEmpty()) {
      errorIva.setErrorMessage("No se ha seleccionado el valor del IVA.");
      errorGuardar = true;
    }

    if (nombreCliente.getValue().isEmpty()) {
      nombreCliente.setErrorMessage("Favor de introducir el nombre del cliente.");
      errorGuardar = true;
    }

    if (monedaCbx.getValue() != null && monedaCbx.getValue().isEmpty()) {
      monedaCbx.setErrorMessage("Favor de seleccionar la moneda");
      errorGuardar = true;
    }

    if (!cuentaActiva.isChecked()) {
      cuentaActiva.setChecked(true);
    }

    if (!errorGuardar) {
      // if(false){
      logger.info("ContratoController: - Metodo: setCliente -- **inicio**");
      tgm138Mt101ctrato = new Tgm138Mt101ctrato();
      tgm138Mt101ctrato.setCdCuentaCheques(cuentaCheques.getValue().toUpperCase().trim());
      tgm138Mt101ctrato.setCdMoneda(new Integer(moneda.getValue()));
      tgm138Mt101ctrato.setCdCodSwRec(codigoBicRecepcion.getValue().toUpperCase().trim());
      tgm138Mt101ctrato.setCdCodSwEnv(codigoBicEnvio.getValue().toUpperCase().trim());
      tgm138Mt101ctrato.setNbEmpresa(nombreCliente.getValue().toUpperCase().trim());
      tgm138Mt101ctrato.setCdTpClienteAaa(
          ((Boolean) clienteAAA.isChecked()).toString().trim().equals("true") ? "1" : "0");
      // tgm138Mt101ctrato.setCdContrato(null);
      tgm138Mt101ctrato.setCdContratoSicoco(cdContratoSicoco.getValue().toUpperCase().trim());
      tgm138Mt101ctrato.setCdMensualidad(
          ((Boolean) mensualidad.isChecked()).toString().trim().equals("true") ? "1" : "0");
      tgm138Mt101ctrato.setCdAnualidad(
          ((Boolean) anualidad.isChecked()).toString().trim().equals("true") ? "1" : "0");
      tgm138Mt101ctrato.setCdIva(new Integer((String) iva.getSelectedItem().getValue()));
      Timestamp timestampFechaAlta = new Timestamp(fechaAlta.getValue().getTime());
      tgm138Mt101ctrato.setFhAlta(timestampFechaAlta);
      // ((Boolean)this.cuentaActiva.isChecked()).toString().trim()
      if (cuentaCheques.isReadonly()) {
        if (clientesBean.existeCodigoBicRecepcion(tgm138Mt101ctrato) == null) {
          codigoBicRecepcion.setErrorMessage("No existe el código BIC de recepción capturado.");
          errorGuardar = true;
        }
        if (!tgm138Mt101ctrato.getCdCodSwEnv().isEmpty()) {
          if (clientesBean.existeCodigoBicEnvio(tgm138Mt101ctrato) == null) {
            codigoBicEnvio.setErrorMessage("No existe el código BIC de envío capturado.");
            errorGuardar = true;
          }
        }
        if (!errorGuardar) {
          logger.debug("Actualizando cliente");
          clientesBean.actualizarCliente(tgm138Mt101ctrato);
          registraEvento("editó la cuenta " + tgm138Mt101ctrato.getCdCuentaCheques());
          cdContratoSicoco.setValue(null);
          cdContrato.setValue(null);
          cuentaCheques.setValue(null);
          moneda.setValue(null);
          monedaCbx.setValue(null);
          codigoBicRecepcion.setValue(null);
          codigoBicEnvio.setValue(null);
          nombreCliente.setValue(null);
          clienteAAA.setChecked(false);
          mensualidad.setChecked(false);
          anualidad.setChecked(false);
          cuentaActiva.setChecked(false);
          iva.setSelectedItem(null);
          cuentaCheques.setReadonly(false);
          establecerFiltroClientes();

          Messagebox.show(
              "Registro actualizado con exito!!",
              "Confirmación",
              Messagebox.OK,
              Messagebox.INFORMATION);
          this.clientes = this.getAllClientes();
          this.clientesGrid.invalidate();
        }
      } else {
        if (clientesBean.obtieneCuentaCheques(tgm138Mt101ctrato) != null) {
          cuentaCheques.setErrorMessage("El número de cuenta ya tiene servicio.");
          errorGuardar = true;
        }
        if (clientesBean.existeCodigoBicRecepcion(tgm138Mt101ctrato) == null) {
          codigoBicRecepcion.setErrorMessage("No existe el código BIC de recepción capturado.");
          errorGuardar = true;
        }
        if (!tgm138Mt101ctrato.getCdCodSwEnv().isEmpty()) {
          if (clientesBean.existeCodigoBicEnvio(tgm138Mt101ctrato) == null) {
            codigoBicEnvio.setErrorMessage("No existe el código BIC de envío capturado.");
            errorGuardar = true;
          }
        }
        if (!errorGuardar) {

          logger.debug("Registrando nuevo cliente");
          clientesBean.salvarCliente(tgm138Mt101ctrato);
          registraEvento("regsitró la cuenta " + tgm138Mt101ctrato.getCdCuentaCheques());
          cdContratoSicoco.setValue(null);
          cdContrato.setValue(null);
          cuentaCheques.setValue(null);
          moneda.setValue(null);
          monedaCbx.setValue(null);
          codigoBicRecepcion.setValue(null);
          codigoBicEnvio.setValue(null);
          nombreCliente.setValue(null);
          clienteAAA.setChecked(false);
          mensualidad.setChecked(false);
          anualidad.setChecked(false);
          cuentaActiva.setChecked(false);
          iva.setSelectedItem(null);
          cuentaCheques.setReadonly(false);
          Messagebox.show(
              "Registro guardado con exito!!",
              "Confirmación",
              Messagebox.OK,
              Messagebox.INFORMATION);
          this.clientes = this.getAllClientes();
          this.clientesGrid.invalidate();
        }
      }
    }
  }