11. Почему поле пропало
Состав свойств компонента не фиксирован: часть полей появляется и исчезает в зависимости от значений соседних. Механика простая, но знать её нужно точно — иначе поиск «пропавшего» поля отнимает время на ровном месте.
Поля зависят друг от друга
Свойства компонента не независимы. Незачем спрашивать про длину паузы, если пауза выключена, и незачем показывать двадцать полей SIP-сообщения тому, кто отправляет обычное уведомление.
Поэтому у большинства свойств есть условие видимости: они появляются в панели, только когда в них есть смысл.
Поменяем одно поле — Режим — на «Сообщение Sip».
Изменилось всё: пропала группа «2. Дополнительные», пропал Текст, появились From, Event, Content-Type и остальное, что нужно SIP-сообщению. Компонент тот же, номер тот же — другой только режим.
Значение никуда не делось
Это главное, что стоит запомнить.
|
Скрытое поле не очищается. Значение, которое вы задали, остаётся в сценарии, просто его сейчас не видно. Верните Режим обратно — и Текст вернётся с прежним содержимым. |
Отсюда следствие: скрытое поле продолжает существовать и на сервере. Если вы что-то настроили, а потом переключили режим, старая настройка никуда не пропала — она просто перестала действовать.
Порядок вычисления
Условия читаются сверху вниз, в том порядке, в каком свойства идут в панели. Для каждого свойства берутся значения тех, что выше него.
Отсюда две вещи, которые иногда удивляют:
-
Цепочки работают. Скрыли поле — скрылись и те, что зависели от него: для соседей ниже скрытое поле считается незаполненным — значение в сценарии остаётся, но на их видимость больше не влияет. Одно движение может убрать половину панели.
-
Порядок имеет значение. Поле не может зависеть от того, что идёт ниже него.
Что делать, если поле не появляется
-
Посмотрите, какое поле выше по списку его включает. Обычно это Режим, Тип или подобный переключатель в самом верху группы. Поставьте его в нужное положение — поле появится.
-
Сверьтесь со справочником компонентов. Условия задаются вместе с описанием типа: в справочнике (Компоненты сценариев) указано, при каких значениях какое поле работает.
-
Если поле нужно, а включить его нечем — скорее всего, вы выбрали не тот тип компонента.
|
Условие видимости может оказаться и неверно записанным в метаданных. В этом случае редактор не падает и не прячет поле наугад: поле считается видимым, а сама ошибка уходит в журнал диагностики. Так что «лишнее» поле в панели — тоже сигнал, только редкий. |