You are viewing an old version of this page. View the current version.

Compare with Current View Page History

Version 1 Next »

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

SimpleSchedule(id, timezoneTitle)


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


Параметры:

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


Пример:

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


duration(startDateTime, endDateTime)


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


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


Параметры:

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


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

ТипОписание
SimpleDurationРазница между двумя значениями времени.

Пример:

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()); // Info: 1970-01-02 08:00:00

getName()


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


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

ТипОписание
StringНазвание расписания

Пример:

getName
const schedule = new SimpleSchedule('157165292607666710');
ss.info(schedule.getName()); // Info: 8x5 excluding Russian Holidays

isInSchedule(datetime)


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

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

Параметры:

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


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

ТипОписание
BooleanThis method returns 'true' if the specified datetime is in schedule; otherwise, it returns 'false'.

Пример:

isInSchedule
const nowDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isInSchedule(nowDatetime)); // Info: false

isValid()


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

Объект считается невалидным, когда:

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

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


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

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

Пример:

isValid
const schedule = new SimpleSchedule('157165292607666710'); // sys_schedule.sys_id
ss.info(schedule.isValid()); // Info: true

isWorkingTime(datetime)


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

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


Параметры:

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


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

ТипОписание
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)); // Info: false
ss.info(schedule.isWorkingTime(secondDatetime)); // Info: true

load(sysId, timezoneTitle)


Этот метод запускает расписание, указанное с помощью sys_id.


Параметры:

НазваниеТипОбязательныйЗначение по умолчанию
sysIdStringДаНет
timezoneTitleString (empty string by default)Нет''

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

ТипОписание
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)


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


Параметры:

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

String

Нет''

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

ТипОписание
SimpleDurationОбъект SimpleDuration


Пример:

whenNext
const startDatetime = new SimpleDateTime();
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info('Seconds Left: ' + schedule.whenNext(startDatetime).getDurationSeconds()); // Info: Seconds Left: 6052

whenWillExpire(startDateTime, finalWorkingSeconds)


Этот метод определяет время после передачи значения рабочих секунд, указанного в параметре finalWorkingSeconds.

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

Параметры:

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

SimpleDateTime

ДаНет
finalWorkingSecondsIntegerДаНет


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

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

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

Пример:

whenWillExpire
const startDatetime = new SimpleDateTime('2022-01-23 08:00:00');
const finalWorkingSeconds = 5 * 8 * 3600; // duration of 5 eight-hour days in seconds
const schedule = new SimpleSchedule('161050499417811121'); // sys_schedule.sys_id
ss.info(schedule.whenWillExpire(startDatetime, finalWorkingSeconds).getValue()); // Info: 2022-01-28 18:30:00

  • No labels