Данный класс содержит методы для работы с объектами SimpleSchedule, например, для получения названия календаря, определения соответствия текущего и рабочего времени и возврата разницы между этими двумя значениями.

SimpleSchedule(id, timezoneTitle)


Используйте этот конструктор для создания нового объекта SimpleSchedule.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
idStringНетНет
timezoneTitleStringНет'UTC'

Пример:

SimpleSchedule
const schedule = new SimpleSchedule('157165292607666710', 'UTC');

duration(startDateTime, endDateTime)


Используйте этот метод, чтобы определить разницу во времени по календарю между значениями startDateTime и endDateTime на основе часового пояса календаря или, если не указано, часового пояса сессии.

Передаваемое значение datetime должно быть в календаре. Чтобы это проверить, используйте метод isInSchedule(datetime).

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
startDateTimeSimpleDateTime objectДаНет
endDateTimeSimpleDateTime objectДаНет

Возвращаемое значение:

ТипОписание
SimpleDuration objectМетод возвращает разницу между двумя значениями времени.

Пример:

duration()
const startDatetime = new SimpleDateTime('2022-01-25 08:00:00');
const endDatetime = new SimpleDateTime('2022-01-29 08:00:00');
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
const duration = schedule.duration(startDatetime, endDatetime);
ss.info(duration.getValue()); // Информация: 1970-01-02 08:00:00

getName()


Используйте этот метод, чтобы получить название определенного календаря.

Возвращаемое значение:

ТипОписание
StringМетод возвращает название календаря.

Пример:

getName()
const schedule = new SimpleSchedule('157165292607666710');
ss.info(schedule.getName()); // Информация: 8x5 не включая государственные праздники РФ

isInSchedule(datetime)


Используйте этот метод, чтобы проверить, включает ли текущий календарь указанный параметр datetime.

Исключенные сегменты календаря возвращают значение true при проверке этим методом.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTime objectДаНет

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает true, если указанное в параметре datetime значение находится в календаре; если значение отсутствует, метод возвращает false.

Пример:

isInSchedule()
const nowDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isInSchedule(nowDatetime)); // Информация: false

isValid()


Используйте этот метод, чтобы проверить действительность указанного календаря.

Календарь считается недействительным, когда:

  1. Переданный календарь не существует.
  2. Календарь не содержит элементов календаря рабочего типа, например Исключая или Отгул.

В обоих случаях, указанных выше, метод isValid() возвращает значение false.

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если календарь действителен, если нет, метод возвращает значение false.

Пример:

isValid()
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isValid()); // Информация: true

isWorkingTime(datetime)


Используйте этот метод, чтобы определить, является ли указанные время и дата рабочими.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTime objectДаНет

Возвращаемое значение:

ТипОписание
BooleanМетод возвращает значение true, если указанные дата и время являются рабочим временем, в противном случае метод возвращает значение false.

Пример:

isWorkingTime()
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
const firstDatetime = new SimpleDateTime('2020-12-15 05:59:59');
const secondDatetime = new SimpleDateTime('2020-12-15 06:00:00');
ss.info(schedule.isWorkingTime(firstDatetime)); // Информация: false
ss.info(schedule.isWorkingTime(secondDatetime)); // Информация: true

load(sysId, timezoneTitle)


Используйте этот метод для инициализации календаря по указанному ID с учётом часового пояса.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sysIdStringДаНет
timezoneTitleString Нет'UTC'

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

load()
const schedule = new SimpleSchedule();
schedule.load('157165292607666710'); // sys_schedule.sys_id

setTimeZone(timezoneTitle)


Используйте этот метод, чтобы применить указанный часовой пояс к текущему календарю.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
timezoneTitleStringДаНет

Возвращаемое значение:

ТипОписание
VoidМетод не возвращает значение.

Пример:

setTimeZone()
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
schedule.setTimeZone('US/Central');

whenNext(datetime, timezoneTitle)


Используйте этот метод, чтобы вернуть оставшееся до начала следующего элемента расписания время в виде объекта SimpleDuration.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
datetimeSimpleDateTime objectДаНет
timezoneTitle

String

Нет''

Возвращаемое значение:

ТипОписание
SimpleDurationobjectМетод возвращает объект SimpleDuration. Метод возвращает null, если календарь недействительный.

Пример:

whenNext()
const startDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info('Осталось секунд: ' + schedule.whenNext(startDatetime).getDurationSeconds()); // Информация: Осталось секунд: 6052

whenWillExpire(startDateTime, finalWorkingSeconds)


Используйте метод для расчета даты и времени истечения срока, указанного в параметре finalWorkingSeconds в секундах, относительно времени, указанного в startDateTime, с учётом выбранного календаря.

Параметр finalWorkingSeconds не поддерживает отрицательные значения.

Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
startDate

SimpleDateTime object

ДаНет
finalWorkingSecondsIntegerДаНет

Возвращаемое значение:

ТипОписание
SimpleDateTime objectМетод возвращает объект SimpleDateTime.

Если объект класса SimpleSchedule недействительный (метод isValid() возвращает false для этого объекта), метод whenWillExpire() возвращает null.

Пример:

whenWillExpire()
const startDatetime = new SimpleDateTime('2022-01-23 08:00:00');
const finalWorkingSeconds = 5 * 8 * 3600; // длительность 5 рабочих дней в секундах
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info(schedule.whenWillExpire(startDatetime, finalWorkingSeconds).getValue()); // Информация: 2022-01-28 18:30:00