3. Автоматическое заполнение периода табеля
Пользователь должен заполнять табель за всю неделю целиком.
Определение текущей недели должно быть автоматическим.
Для этого необходимо реализовать следующие функции:
- В компоненте с идентификатором
ts_period_date_from
установить в качестве даты понедельник текущей недели - В компоненте с идентификатором
ts_period_date_to
установить в качестве даты воскресенье текущей недели
Рекомендации к написанию кода
Часто на форме может быть довольно большое количество скриптов, что может значительно усложнить читаемость кода и его отладку.
Хорошей практикой будет создание глобального компонента формы, в котором будут храниться все скрипты компонентов формы.
Добавьте на форму, в верхнюю левую ячейку компонент "Неизменяемый текст" со значением " " (чтобы был не виден на форме) и идентификатором main_script
.
В своем приложении необходимо разместить следующий код:
AS.FORMS.bus.on(AS.FORMS.EVENT_TYPE.formShow, function (event, model, view) {
if (model.formCode === "timesheet") {
model.on(AS.FORMS.EVENT_TYPE.dataLoad, function () {
portal.main(portal.player.view.getViewWithId("main_script"), portal.player.model.getModelWithId("main_script"));
});
}
});
Суть его в том чтобы когда форма будет отображена и загружены ее данные вызвать функцию portal.main(view, model)
, для выполнения дальнейших скриптов.
Сигнатура функции main следующая:
main: function (view, model) {
}