private void initComponentsCustom() {
    mnBizPartnerId = 0;
    msBizPartnerCatSng =
        SBpsUtils.getBizPartnerCategoryName(mnBizPartnerCategoryId, SUtilConsts.NUM_SNG);
    msBizPartnerCatPlr =
        SBpsUtils.getBizPartnerCategoryName(mnBizPartnerCategoryId, SUtilConsts.NUM_PLR);
    jlBizPartner.setText(msBizPartnerCatSng + ": *");
    jbPickBizPartner.setToolTipText(
        SUtilConsts.TXT_SELECT + " " + msBizPartnerCatSng.toLowerCase());
    setTitle("Movimientos contables de " + msBizPartnerCatPlr.toLowerCase() + " por documento");

    switch (mnBizPartnerCategoryId) {
      case SDataConstantsSys.BPSS_CT_BP_SUP:
        manSysMoveTypeKey = SDataConstantsSys.FINS_TP_SYS_MOV_BPS_SUP;
        SFormUtilities.populateComboBox(
            miClient, jcbBizPartner, mnOptionPickerId = SDataConstants.BPSX_BP_SUP);
        break;
      case SDataConstantsSys.BPSS_CT_BP_CUS:
        manSysMoveTypeKey = SDataConstantsSys.FINS_TP_SYS_MOV_BPS_CUS;
        SFormUtilities.populateComboBox(
            miClient, jcbBizPartner, mnOptionPickerId = SDataConstants.BPSX_BP_CUS);
        break;
      default:
        miClient.showMsgBoxWarning(SLibConstants.MSG_ERR_UTIL_UNKNOWN_OPTION);
    }

    moFieldYear = new SFormField(miClient, SLibConstants.DATA_TYPE_INTEGER, true, jtfYear, jlYear);
    moFieldYear.setIntegerMin(2000);
    moFieldYear.setIntegerMax(2100);
    moFieldYear.setMinInclusive(true);
    moFieldYear.setMaxInclusive(true);
    moFieldYear.setDecimalFormat(miClient.getSessionXXX().getFormatters().getYearFormat());
    moFieldBizPartner =
        new SFormField(miClient, SLibConstants.DATA_TYPE_KEY, true, jcbBizPartner, jlBizPartner);
    moFieldBizPartner.setPickerButton(jbPickBizPartner);
    moFieldDateRef =
        new SFormField(miClient, SLibConstants.DATA_TYPE_DATE, true, jftDateRef, jlDateRef);
    moFieldDateRef.setPickerButton(jbPickDateRef);

    mvFields = new Vector<SFormField>();
    mvFields.add(moFieldYear);
    mvFields.add(moFieldBizPartner);
    mvFields.add(moFieldDateRef);

    jbPickBizPartner.addActionListener(this);
    jbPickDateRef.addActionListener(this);
    jbPrint.addActionListener(this);
    jbClose.addActionListener(this);
    jckShowPayDays.addItemListener(this);
    jtfYear.addFocusListener(this);
    jftDateRef.addFocusListener(this);

    SFormUtilities.createActionMap(
        rootPane, this, "actionPrint", "print", KeyEvent.VK_ENTER, KeyEvent.CTRL_DOWN_MASK);
    SFormUtilities.createActionMap(rootPane, this, "actionClose", "close", KeyEvent.VK_ESCAPE, 0);
  }
  private void actionOk() {
    SFormValidation validation = formValidate();

    if (validation.getIsError()) {
      if (validation.getComponent() != null) {
        validation.getComponent().requestFocus();
      }
      if (validation.getMessage().length() > 0) {
        miClient.showMsgBoxWarning(validation.getMessage());
      }
    } else {
      mnFormResult = SLibConstants.FORM_RESULT_OK;
      setVisible(false);
    }
  }