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

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

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

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

  1. В меню навигации выберите "Справочники" → "Системные справочники" → "Классы обслуживания".
  2. В блоке "Элементы справочника" нажмите кнопку Загрузить исключения.

  3. На форме загрузки исключений:

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

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

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

    • Установите параметры загрузки:

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

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

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

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

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

        Параметр применяется для классов обслуживания, связанных с хотя бы одним объектом системного класса "Запрос" (serviceCall). Для таких классов обслуживания ведется версионирование, см. Версионный способ редактирования класса обслуживания.

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

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

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

Чтобы выполнить выгрузку исключений для отдельного класса обслуживания в файл, выполните следующие действия:

  1. В меню навигации выберите "Справочники" → "Системные справочники" → "Классы обслуживания".
  2. Откройте карточку класса обслуживания.
  3. В блоке "Исключения в графике обслуживания" нажмите кнопку Экспорт списка.

    На экране откроется стандартное окно сохранения файла. Имя файла по умолчанию "имя класса обслуживания _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