О2_Routing_МенеджерИнтервалов.ДобавитьФиксированный
Создаёт интервал с фиксированной (константной) длительностью. Основной способ вызова: О2.Модели().МодельМаршрутизации().СоздатьМодель().Интервалы().ДобавитьФиксированный(Размер, ...).
Синтаксис
О2.Модели().МодельМаршрутизации().СоздатьМодель().Интервалы().ДобавитьФиксированный(
Размер,
НачалоМин, НачалоМакс,
КонецМин, КонецМакс,
Условие
)
Параметры
- Размер — Число — фиксированная длительность интервала. Целое неотрицательное число. Обязательный параметр.
- НачалоМин — Число, Неопределено — минимум домена начала интервала.
- НачалоМакс — Число, Неопределено — максимум домена начала интервала.
- КонецМин — Число, Неопределено — минимум домена конца интервала. Дополнительно сужает домен начала: фактически
НачалоМин = КонецМин - Размер. - КонецМакс — Число, Неопределено — максимум домена конца интервала. Дополнительно сужает домен начала: фактически
НачалоМакс = КонецМакс - Размер. - Условие — ФиксированнаяСтруктура, Неопределено — булево выражение модели. Если задано, интервал создаётся как опциональный.
Возвращаемое значение
- ФиксированнаяСтруктура — объект интервала типа
ФиксированныйИнтервал.
Описание
Метод О2.Модели().МодельМаршрутизации().СоздатьМодель().Интервалы().ДобавитьФиксированный(...) создаёт интервал, в котором длительность Размер известна заранее и не является переменной. Это отличает его от Добавить, где длительность — самостоятельная переменная.
В отличие от нефиксированного интервала:
- Автоматически регистрируется только одна переменная —
НачалоИнтервала. ПолучитьКонецвозвращает линейное выражениеНачалоИнтервала + Размер, а не отдельную переменную.ПолучитьРазмервозвращает число (ту же константуРазмер), а не переменную.
Пример
Модель = О2
.Модели()
.МодельМаршрутизации()
.СоздатьМодель();
Интервалы = Модель.Интервалы();
// Операция длительностью 60 мин, начало в рабочие часы [480, 960]
Обслуживание = Интервалы.ДобавитьФиксированный(60, 480, 960);
// Фиксированный опциональный интервал
Флаг = Модель.Переменные().ДобавитьБулеву();
Доп = Интервалы.ДобавитьФиксированный(30, 0, 480, , , Флаг);
// Обращение к переменным — типы отличаются от Добавить
Начало = Интервалы.ПолучитьНачало(Обслуживание); // Переменная НачалоИнтервала
Конец = Интервалы.ПолучитьКонец(Обслуживание); // Линейное выражение: Начало + 60
Размер = Интервалы.ПолучитьРазмер(Обслуживание); // Число: 60