- Главная [object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object],[object Object]
- Начало работы
- Как решить вашу задачу
-
API
- Типы объектов
- Типы данных
-
Глобальные константы
- Application
- ApplicationProject
- ApplicationProjectPlanElement
- ApplicationUserProfile
- ApplicationWithParams
- BrandingSettings
- Converter
- Directories
- Files
- HttpApiHandler
- HttpApiRequest
- ICache
- IStorage
- MailMessage
- Mailbox
- OrganisationStructure
- OrganisationStructureTree
- Portal
- PortalPageInfo
- PortalSettings
- Portals
- Process
- Processes
- ProductionSchedule
- Reminders
- Replacements
- Serial
- ServerCollection
- Service
- SignupUrlParams
- SystemCollections
- SystemCollectionsWithEvents
- Templater
- Translator
- UserGroups
- Users
- Watermarks
- Report
- Reports
- SR
- Работа с приложениями
- Веб-запросы
- Права доступа
- Документооборот
- Линии
- Виджет «Код»
- Подписи
- Рабочие календари
- Интеграция с IP-телефонией
- Интеграция с сервисами рассылок
Объект рабочего календаря
Используется для получения настроек рабочего календаря, таких как:
Hierarchy
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
from: TDatetime
time: number | TDuration
Optional user: TUser
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
from: TDatetime | TDate
to: TDatetime | TDate
Returns Promise<ProductionScheduleSpecialDay[]>
getWorkingTime
Метод позволяет получить продолжительность рабочего времени за определённый период.
Продолжительность рабочего времени возвращается за период, передаваемый в аргументах метода. Если передан пользователь, то для расчёта будет использоваться рабочий календарь, связанный с этим пользователем, в противном случае — календарь по умолчанию, указанный для компании в целом.
Parameters
from: TDatetime
to: TDatetime
Optional user: TUser
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>
Properties
Methods