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