@Override
  public void applyInitRules(Service36400242Form form) throws RuleException {
    Person person = getPerson(form);

    if ("M".equals(person.getSex().name())) {
      form.setSex("Мужской");
    }
    if ("F".equals(person.getSex().name())) {
      form.setSex("Женский");
    }
    form.setPassport_type(person.getMainDocument().getDocumentTypeName());
  }
  private Person getPerson(Service36400242Form form) {
    final IPrincipal principal = form.getPguAssertion().getPrincipal();
    Assert.notNull(principal, "Principal is null.");

    final Long userId = principal.getUserId();
    Assert.notNull(userId, "userId is null");

    final String authToken = principal.getAuthToken();
    Assert.notNull(authToken, "authToken is null");

    PersonalDataService personalDataService =
        ServiceClientFactory.getServiceClient(
            UDDINames.NAME_PO_PERSONALDATA_SERVICE, PersonalDataService.class);
    final GetPersonalDataRequest personalDataRequest = new GetPersonalDataRequest();
    personalDataRequest.setAuthToken(authToken);
    personalDataRequest.setUserId(userId);

    final GetPersonalDataResponse personalDataResponse =
        personalDataService.getPersonalData(personalDataRequest);
    if (personalDataResponse.getError() != null
        && personalDataResponse.getError().getErrorCode() != 0) {
      logger.error(
          personalDataResponse.getError().getErrorMessage(), personalDataResponse.getError());
      return null;
    }

    return personalDataResponse.getPerson();
  }
  @Override
  protected StepProcessingResult determineNextStepNumOnStepProcessing(
      Service36400242Form form, boolean goback, Map<String, Object> model) {
    final StepProcessingResult res =
        super.determineNextStepNumOnStepProcessing(form, goback, model);

    if ("1".equals(form.getAccount_skills())) {
      switch (form.getStepNum()) {
        case 2:
          res.setStepNum(4);
          break;
        case 4:
          if (goback) res.setStepNum(2);
          break;
      }
    }

    return res;
  }