Спецификация

Допускаемые упрощения при создании обработчиков

За одно изменение данных о сотруднике пользователь никогда НЕ изменяет/добавляет/удаляет более одной записи о Должности.

Действия при удалении записи в объекте «Сотрудник»

Реализовано в BeforeDelete обработчике.

Всем пользователям, кроме администратора, выводится интерфейс подтверждения.

  • Текст сообщения: Вы уверены, что хотите удалить сотрудника {Name}?

  • Текст в кнопке подтверждения: Подтвердить.

Валидация данных при сохранении записи в объекте «Сотрудник»

Реализовано в BeforeSave обработчике.

Выполняется проверка введенных дат в соответствии с условиями:

  • Дата увольнения не может быть раньше Даты рождения

  • Дата увольнения не может быть раньше Даты приема на работу

  • Дата приема на работу не может быть раньше Даты рождения

  • Дата увольнения не может быть раньше, чем Дата начала какой-либо должности

При нарушении условия, пользователю выводится сообщение об ошибке, содержащее текст нарушенного условия.

Автоматическое заполнение атрибутов записи о сотруднике при сохранении

Реализовано в AfterSave обработчике.

  • Для всех новых записей пустая Дата приема на работу заполняется сегодняшней датой.

  • Для всех новых записей пустая Должность заполняется должностью Инженер-программист (Code = SOP_DEV).

    • Дата начала должности проставляется равной Дате приема на работу.
  • Даты окончания всех должностей сотрудника заполняются по следующей логике:

    • Дата окончания каждой должности проставляется равной Дате начала следующей (по Дате начала) должности минус 1 день.

    • Дата окончания последней (по Дате начала) должности устанавливается равной Дате увольнения.

      • Если Дата увольнения не заполнена, то 2100-01-01.