Загрузка и выгрузка исключений для классов обслуживания

Загрузка исключений в классы обслуживания

Описание

В справочнике "Классы обслуживания" (servicetime) предоставляется возможность массовой загрузки исключений из файла в выбранные классы обслуживания. Процесс загрузки исключений представляет собой поочередное создание исключений, описанных в файле для выбранных классов обслуживания. Если в процессе загрузки находится исключение, которое пересекается по дате или времени с уже имеющимися в классе обслуживания, то оно игнорируется при дальнейшей загрузке.

Место настройки в интерфейсе

Меню навигации "Справочники" → "Системные справочники" → "Классы обслуживания".

Выполнение настройки

В блоке "Элементы справочника" нажмите Загрузить исключения. Заполните поля на форме загрузки исключений, нажмите Загрузить и подтвердите действие, нажав Да.

Поля на форме загрузки исключений:

  • "Файл" — выберите файл в формате .ics (универсальный формат календаря iCal).

    Во избежание искажения значений времени при загрузке в систему, для создания или редактирования файлов .ics во внешних редакторах рекомендуется использовать Mozilla Thunderbird или Яндекс.Календарь. Часовой пояс, установленный в настройках этих календарей, будет корректно интерпретироваться при загрузке. При использовании других редакторов календарей необходимо в их настройках установить часовой пояс пользователя — UTC.

    Описание файла формата ics, см. Сопоставление объектов формата iCal и объектов системы.

  • Загрузить для — укажите одно из значений:

    • "Всех классов" — загрузка исключений для всех классов обслуживания, хранящихся в справочнике "Классы обслуживания".
    • "Выбранных классов" — загрузка исключений только для классов обслуживания, выбранных в поле "Классы обслуживания".

      Для выбора доступны элементы справочника "Классы обслуживания".

  • Автоматически утвердить черновики:

    • флажок установлен — классы обслуживания, для которых добавлено исключение, будут автоматически переведены из состояния "Черновик", в состояние "Активный";
    • флажок снят — классы обслуживания, для которых добавлено исключение, останутся в состоянии "Черновик".

    Параметр применяется для классов обслуживания, у которых ведется версионирование, см. Активация версии класса обслуживания.

Результат настройки

После подтверждения действия исключения загружаются в выбранные классы обслуживания

При загрузке исключений будут добавлены только те исключения, которые попадают на дни, отличные от уже зарегистрированных в системе дат исключения. Если в процессе загрузки находится исключение, которое пересекается по дате с уже имеющимися в классе обслуживания (даже если существующие периоды исключений не пересекаются с импортируемыми), то такое исключение будет проигнорировано.

Выгрузка исключений из класса обслуживания

Место настройки в интерфейсе

Меню навигации "Справочники" → "Системные справочники" → "Классы обслуживания" → страница класса обслуживания → блок "Исключения в графике обслуживания".

Выполнение настройки

В блоке "Исключения в графике обслуживания" нажмите Экспорт списка. На экране откроется стандартное окно сохранения файла.

Имя файла по умолчанию "имя класса обслуживания _exclusions.ics". Описание файла формата ics, см. Сопоставление объектов формата iCal и объектов системы.

Сопоставление объектов формата iCal и объектов системы

Файл формата iCal состоит из:

  • Описания календаря (заключено между тегами BEGIN:VCALENDAR и END:VCALENDAR);
  • Описаний событий, вложенных в календарь (описание каждого события заключено между тегами BEGIN:VEVENT и END:EVENT).

Пример файла в формате iCal:

BEGIN:VCALENDAR
BEGIN:VEVENT
DTSTART:20170817T093000Z
DTEND:20170817T103000Z
END:VEVENT
BEGIN:VEVENT
DTSTART:20170817T073000Z
DTEND:20170817T083000Z
END:VEVENT
END:VCALENDAR

В SMP исключение состоит из даты исключения и набора периодов исключения.

Объекты Naumen SMP Объекты формата iCal
Дата исключения Дата, содержащаяся в тегах DTSTART: и DTEND:
Период исключения Событие в iCal с 1 января по 5 января 2018
Начало периода исключения Время, содержащееся в теге DTSTART:
Конец периода исключения Время, содержащееся в теге DTEND:

Примеры:

  • Исключение без периодов (выходной день) — в редакторах календарей используется событие с признаком "Весь день".

    Например, исключение 5 ноября 2018 в iCal соответствует событию:

    DTSTART;VALUE=DATE:20181105
    DTEND;VALUE=DATE:20181106
  • Исключение с периодом 00:00—24:00 (полные рабочие сутки) — в редакторах календарей используется событие с датой окончания 00:00 последующего дня.

    Например, исключение 19 августа 2018 00:00—24:00 в iCal соответствует событию:

    DTSTART:20180819T000000Z
    DTEND:20180820T000000Z
  • Для создания трех или более последовательных выходных дней возможно использование одного события, датой начала которого является дата первого выходного дня, а датой окончания — дата последнего выходного дня.

    Например, выходные дни с 1 января по 5 января 2018 года в iCal соответствует событию:

    DTSTART:20180101T000000Z
    DTEND:20180105T00000Z

    В этом случае признак "Весь день" события должен быть снят.

    Для создания двух последовательных исключений необходимо использовать два отдельных события.

  • При выгрузке исключений, для которых указан конкретный период, в экспортируемом файле создается несколько событий: событие, соответствующее целому дню, и события для каждого из периодов исключений.

    Например, для исключения 11.10.2017 08:00—13:30, 14:30—19:00 в файле будут созданы три события:

    1. BEGIN:VEVENT
      DTSTART;VALUE=DATE:20171027
      DTEND;VALUE=DATE:20171028
      END:VEVENT
    2. BEGIN:VEVENT
      DTSTART:20171011T083000Z
      DTEND:20171011T133000Z
      END:VEVENT
    3. BEGIN:VEVENT
      DTSTART:20171011T143000Z
      DTEND:20171011T190000Z
      END:VEVENT