Настраиваемые поля и расширяемость
Добавление поля, которого нет в стандартной комплектации платформы, без выпуска релиза и без изменения основных таблиц.
Поле, необходимое вашему бизнесу, но не предусмотренное платформой, добавляется как пользовательское поле. Оно определяется для каждой компании, прикрепляется к ресурсу, получает тип и метку, после чего отображается в форме этого ресурса, в его столбцах списка, фильтрах, сопоставлении импорта и экспорте.
- Пользовательские поля находятся вне основных таблиц, поэтому добавление такого поля не изменяет схему, используемую всеми компаниями.
- Это обычные поля, которые после определения становятся доступными для фильтрации, сортировки, импорта и экспорта, а не поле для заметок с меткой.
- Это относится к каждой компании отдельно, поэтому изменения, внесенные одной компанией, незаметны для другой.
- Поле «Да/Нет» оформлено как флажки в самом продукте: квадратик рядом с его названием, само название кликабельно, а под ним — справка.
Прежде чем добавлять список классификации, проверьте, подходит ли он для этой задачи. Если вам нужно добавить новое значение в существующий выпадающий список, это уже настройка, а не расширение.
Сделать поле обязательным для заполнения
Чтобы сделать поле всегда обязательным или обязательным перед таким шагом, как отправка или публикация, используйте Платформа › Настройка › Требования к полям: отметьте этот пункт, правило писать не нужно. См. раздел «Сделать любое поле обязательным: Требования к полям». Пользовательская логика, приведенная ниже, предназначена для условия.
В разделе «Платформа → Настройка → Пользовательская логика» хранятся правила, которые компания устанавливает самостоятельно: проверка, которая отклоняет сохранение, значение, вычисляемое каждый раз при сохранении записи, и значение по умолчанию для новой записи. Чтобы сделать поле обязательным — будь то поле, поставляемое с продуктом, или добавленное вами — напишите на этом экране проверку, которая выполняется только тогда, когда поле имеет значение, и отображайте сообщение, которое должны видеть пользователи, когда значение отсутствует.
- Откройте «Платформа» → «Настройка» → «Пользовательская логика» и выберите модуль и экран — HRMS, «Сотрудники».
- Добавьте правило типа «Проверка», которое будет выполняться при каждом сохранении.
- Укажите условие, которое должно выполняться. `not_empty(iqama_number)` делает номер икамы обязательным для каждого сотрудника. `is_saudi` или `not_empty(iqama_number)` делают его обязательным для всех, кто не является гражданином Саудовской Аравии, что обычно и подразумевается: у гражданина Саудовской Аравии есть национальное удостоверение личности, а не икама.
- Напишите сообщение — «Для сотрудника, не являющегося гражданином Саудовской Аравии, требуется номер Iqama» — и сохраните. Перед тем как полагаться на него, протестируйте его на том же экране, сравнив с записью.
Сервер проверяет это правило при каждом сохранении, независимо от способа получения записи: через форму, импорт, запрос на подтверждение (ASK) или API. Изменение существующей записи таким образом, чтобы она нарушала это правило, также отклоняется.
В Саудовской Аравии в анкете сотрудника также указываются данные о гражданстве Саудовской Аравии: гражданин Саудовской Аравии, номер и срок действия вида на жительство (икама), срок действия разрешения на работу, номер и категория плательщика GOSI, перевод спонсорства, дата приема на работу по хиджре, а также базовая заработная плата и жилищно-транспортные пособия, на основании которых рассчитывается GOSI. Любой из этих пунктов может быть таким образом сделан обязательным. В анкете уже отображаются только те данные, которые необходимы: номер и срок действия вида на жительство (икама), срок действия разрешения на работу и перевод спонсорства, если не отмечено гражданство Саудовской Аравии, и категория плательщика GOSI, если она отмечена.
Оцените ценность, которую несут ваши поля.
В разделе «Платформа» → «Настройка» → «Пользовательские поля» для выбранного вами экрана отображается таблица с записями этого экрана, в столбцах которой представлены поля вашей компании. Таблица доступна для поиска и постраничного просмотра, как любой список, поэтому вы можете проверить, какие поля были заполнены, не открывая записи по одной.
- В списке отображаются только те записи, которые вы уже могли открыть на этом экране.
- Поля отображаются с помощью соответствующих меток, как их видят пользователи в форме, а не по каким-либо внутренним названиям.
Аналогичный простой формат представления используется везде, где значения перечислены для удобства чтения: подробные сведения о записи аудита, запрос агента на утверждение и результат действия отображают таблицу полей и значений, а не исходные данные.