Каскадное обновление статусов
При загрузке элементов:
Данные о статусах забираются соответственно из регистров сведений: РегистрСведений.ПараметрыПлощадкиОборудования.СрезПоследних(&CurrentDate, Идентификатор = ""Состояние""), ПараметрыУзлаУчета.СрезПоследних(, Идентификатор=""Состояние"").
Статуса (состояния) для корректора и канала не обнаружено.
Если для состояния заполнено "Состояние КСОИ" - берётся оно, если нет, то просто "Состояние". Сделано специально, таким образом может использоваться группировка состояний и использоваться в РГК более расширенный разрез, нежели импортируется в ИМУС.
Алгоритм импорта следующий:
- Для площадок и УУГ
- Если в АИС РГ статус "В эксплуатации" -> в ИМУС будет "включено". Все остальные - "Выключено".
- Для ИО
- "Снят" -> "Ликвидирован", "Работает" -> "Включено", все остальные - "Выключено".
Происходит каскадное обновление статусов объектов (кроме ИО). Алгоритм следующий. При выключении вышестоящего предка (скажем площадки) - выключается вся структура вниз (УУГ -> корректор -> канал). При включении нижнего элемента иерархии (скажем канал вручную) - включается вся данная иерархия вверх. Специально чтобы поддержать интеграцию с АИС РГ и множество сгенерированных элементов, приблизительно с версии 16 добавлено также включение единственного потомка вниз. Например, при включении узла, у которого есть только один корректор - он также будет включен (а если у него 1 канал - и он). Все остальные операции должны быть сделаны вручную, поскольку не могут быть выполнены однозначно!