Hierarchy
- ProductionSchedule
Properties
Readonly
specialCalendars
Объект для работы календарями исключительных дней.
Readonly
workCalendars
Объект для работы с рабочими календарями.
Methods
calcDate
-
Метод позволяет вычислить дату, входящую в интервал рабочего времени.
Дата вычисляется от заданной даты и с указанной продолжительностью. Если передан пользователь, то для расчёта будет использоваться рабочий календарь, связанный с этим пользователем, в противном случае — календарь по умолчанию, указанный для компании в целом.
Например, можно вычислить, какая дата в рамках рабочего времени будет стоять через 14 часов после даты запуска процесса:
const workingTime = await System.productionSchedule.calcDate(Context.data.__createdAt, new Duration(14, 'hours'));
Важно: параметр
time
должен быть кратен минутам.Результат — объект типа
TDatetime
, который будет с той же временной зоной, что и у значения входного параметраfrom
.Parameters
Returns Promise<TDatetime>
deleteSpecialDays
-
Удалить исключения в рабочем календаре по умолчанию.
Пример удаления праздничных или укороченных дней:
await System.productionSchedule.deleteSpecialDays([ new TDate(2023, 12, 31), new TDate(2023, 12, 30), ]);
Parameters
-
dates: TDate[]
Returns Promise<void>
-
getGeneralSettings
-
Метод получает общие настройки рабочего календаря.
К общим настройкам относятся режим рабочего времени и выходные дни недели.
const generalSettings = await System.productionSchedule.getGeneralSettings();
Returns Promise<ProductionScheduleGeneralSettings>
getSpecialDays
-
Метод получает укороченные и праздничные дни рабочего календаря.
Укороченные и праздничные дни возвращаются за определенный период, передаваемый в аргументах метода:
Parameters
Returns Promise<ProductionScheduleSpecialDay[]>
getWorkingTime
-
Метод позволяет получить продолжительность рабочего времени за определённый период.
Продолжительность рабочего времени возвращается за период, передаваемый в аргументах метода. Если передан пользователь, то для расчёта будет использоваться рабочий календарь, связанный с этим пользователем, в противном случае — календарь по умолчанию, указанный для компании в целом.
Parameters
Returns Promise<TDuration>
saveGeneralSettings
-
Метод позволяет изменить общие настройки рабочего календаря по умолчанию, т. е. календаря, который указан в настройках компании.
Пример изменения настроек:
const settings = await System.productionSchedule.getGeneralSettings(); settings.weekends = { monday: false, tuesday: false, wednesday: false, thursday: false, friday: false, saturday: true, // Суббота — выходной sunday: true, // Воскресенье — выходной } await System.productionSchedule.saveGeneralSettings(settings);
Parameters
-
settings: ProductionScheduleGeneralSettings
Returns Promise<void>
-
saveSpecialDays
-
Создать или изменить исключения в рабочем календаре по умолчанию.
Пример создания укороченных и праздничных дней:
await System.productionSchedule.saveSpecialDays([ { date: new TDate(2023, 12, 30), holiday: false, from: 16 * 60 * 60, // с 16:00 to: 18 * 60 * 60, // до 18:00 }, { date: new TDate(2023, 12, 31), holiday: true, // Праздничный день from: 0, to: 0, }, ]);
Parameters
-
specialDays: ProductionScheduleSpecialDay[]
Returns Promise<void>
-
Объект рабочего календаря
Используется для получения настроек рабочего календаря, таких как: