Вечер добрый! У вас получилось получить программно Список элементов управления формой? у меня стоит сейчас подобная задача, а как именно ее реализовать я без понятия. подскажите если не трудно!
Список всех элементов это понятное дело как получить. А вот как получить что этот элемент находится на данной панели?
ТО есть документ РКО, там куча панелей. Отображение панелей зависит от вида документов. А вот как понять какие именно элементы принадлежат данной панели - не знаю. подскажите если знаете
Список всех элементов это понятное дело как получить. А вот как получить что этот элемент находится на данной панели?
ТО есть документ РКО, там куча панелей. Отображение панелей зависит от вида документов. А вот как понять какие именно элементы принадлежат данной панели - не знаю. подскажите если знаете
Процедура УстановитьДоступностьОтгрузок(ПризнакТолькоПросмотр)
Для Каждого ЭлементПанели из ЭлементыФормы Цикл
Попытка ЭлементПанели["ТолькоПросмотр"] = ПризнакТолькоПросмотр; Исключение КонецПопытки;
// исключаем из обработки элементы у которых нет признака ТолькоПросмотр
КонецЦикла;
КонецПроцедуры
Процедура ПриОткрытии()
ЭтаФормаТолькоПросмотр = Ложь; //признак для дальнейшего использования доступности других кнопок
Если Статус = Перечисления.СтатусыПропусков.Закрыт
ИЛИ Статус = Перечисления.СтатусыПропусков.Отгружен Тогда
//ЭтаФорма.ТолькоПросмотр = Истина; //Раньше был этот код
ЭтаФормаТолькоПросмотр = Истина;
УстановитьДоступностьОтгрузок(ЭтаФормаТолькоПросмотр);
ЭлементыФормы.ЗаказыПоставщику.ТолькоПросмотр = Ложь;
ЭлементыФормы.КоманднаяПанельОтгрузок.Доступность = Ложь;
КонецЕсли;
Более подробно закрыл. Мне в этом надобности не было, но если до конца закрывать форму то так:
Для Каждого ЭлементПанели из ЭлементыФормы Цикл
Попытка
ЭлементПанели["ТолькоПросмотр"] = ПризнакТолькоПросмотр;
Исключение
Попытка
ЭлементПанели["Доступность"] = НЕ ПризнакТолькоПросмотр;
Исключение
КонецПопытки;
КонецПопытки;
Попытка
Кнопки = ЭлементПанели["Кнопки"];
Для Каждого Кнопка из Кнопки Цикл
Кнопка.Доступность = НЕ ПризнакТолькоПросмотр;
КонецЦикла;
Исключение
КонецПопытки;
КонецЦикла;
При добавлении-то, понятно, на какой элемент формы помещать созданный ЭУ.
А вот как получить "владельца" элемента управления, определить, на какой он странице панели расположен? Что-то я торможу на праздниках :)
Единственное, что у элементов на панели другая нумерация порядка обхода и порядка отображения. И все, других отличительных черт не замечено (ну кроме еще, разве привязки к границам панели)... Но, сформировать дерево элементов формы (аля 8.2) пока не знаю как...