“Изменение состава элементов недоступно” при добавлении элемента

Ошибка возникает в момент программного добавления элемента на управляемую форму (поля формы, кнопки, группы формы, прочих элементов) при вызове в процедуре или функции с директивой &НаКлиенте 

Поведение системы

  • Отображается окноИзменение состава элементов недоступно
  • по кнопке “Подробно” можно просмотреть  место возникновения (если это не внешний объект, в нем отладить сложнее)
  • программа продолжает работать, но форма может не открыться или перестанет выполнять часть функционала

 

Причина

Добавление элементов возможно только при выполнение на серверной процедуре (с директивой &НаСервере), например в предопределенной процедуре “ПриСозданииНаСервере()” (самый оптимальный вариант).

Либо возможен вызов серверной процедуры из клиентской.

Стоит заметить негативные моменты такого вызова:

  • при вызове серверной процедуры передаются все данные формы (для сложной формы замедление может визуально  заметно)
  • при изменении состава элементов формы отрабатывает событие перерисовки формы и по цепочке могут отработать события других элементов, например “ПриАктивизацииСтроки” табличного поля, если оно присутствует, зачастую вызвав еще большее замедление, чем в первом случае

Искусство пропаганды в том виде, как его понимают современные политики, напрямую связано с искусством рекламы. Психология как наука во многом обязана рекламодателям.

— Бертран Рассел