у меня есть форма обработки. На ней в цикле создаются закладки. На всех этих закладках одинаковые элементы диалога. Мне нужо в цикле пробежаться по этим закладкам и прочитать или задать значение каждого из аналогичных элементов диалога. Закладок от 20 до 50. Если для каждого элемента писать:
то придется писать 50 строк. А если таких элементов на закладке несколько 3-5? А если закладок не 50 а 70-100?
ВОПРОС - как можно обратиться к свойству или методу элемента диалога не указывая имя этого элемента диалога явно, а задавать его имя в виде какой то переменной или как-то еще.
У нас здесь своя атмосфера...
Группа: Основатель
Сообщений: 13958
Из: Киев
Спасибо сказали: 4524 раз
Рейтинг: 3647.7
ПолучитьАтрибут(<?>);
Синтаксис: Форма.ПолучитьАтрибут(ИмяРеквизита) Назначение: Возвращает ссылку на элемент формы. Параметры: ИмяРеквизита - строковое выражение, содержащее идентифика-тор элемента формы, как он задан в Конфигураторе. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
Синтаксис: Форма.ПолучитьАтрибут(ИмяРеквизита) Назначение: Возвращает ссылку на элемент формы. Параметры: ИмяРеквизита - строковое выражение, содержащее идентифика-тор элемента формы, как он задан в Конфигураторе. Замечание: Доступ к методу возможен только в контексте Модуля формы через атрибут Форма.
Ув. VOFKA,
похоже что это сработает! Только не пойму как получив ссылку на данный элемент, изменить его параметры - Видимость, Доступность, Значение... Черкните пару строк примера.
ДокМД = Метаданные.Документ(ТекущийДокумент().Вид()); Для Ин = 2 По ДокМД.РеквизитТабличнойЧасти() Цикл ИдРекв = ДокМД.РеквизитТабличнойЧасти(Ин).Идентификатор; Форма.ПолучитьАтрибут(ИдРекв).Видимость(0); КонецЦикла;
Этот вариант работает точно. Обращаю внимание Форма.ПолучитьАтрибут(ИдРекв).Видимость(0);
ДокМД = Метаданные.Документ(ТекущийДокумент().Вид()); Для Ин = 2 По ДокМД.РеквизитТабличнойЧасти() Цикл ИдРекв = ДокМД.РеквизитТабличнойЧасти(Ин).Идентификатор; Форма.ПолучитьАтрибут(ИдРекв).Видимость(0); КонецЦикла;
Этот вариант работает точно. Обращаю внимание Форма.ПолучитьАтрибут(ИдРекв).Видимость(0);
Так я работаю с реквизитаим диалога на форме обоработки. Или я по молодости чего-то не понял?
Я вас уже наверное задолбал :-) Я работаю с реквизитом диалога, тип которого ПЕРЕЧИСЛЕНИЕ. И мне нужно получить .ПорядковыйНомер()
Строка НомерВариантаДляБронирВFS1.ПорядковыйНомер(); Дает нормальный результат
На строку Форма.ПолучитьАтрибут("НомерВариантаДляБронирВFS1").ПорядковыйНомер(); выдает ошибку: Поле агрегатного объекта не обнаружено (ПорядковыйНомер)
Живет на форуме
Группа: Пользователи
Сообщений: 4121
Из: Киев
Спасибо сказали: 957 раз
Рейтинг: 0
подозреваю что нужен какой-нибудь formex.dll "Методы для последовательного перебора и перебора по условию всех реквизитов формы " [необходимо зарегистрироваться для просмотра ссылки]
1С Предприятие 8.3, 1С Предприятие 8.2, 1С Предприятие 8.1, 1С Предприятие 8.0, 1С Предприятие 7.7, Литература 1С, Общие вопросы по администрированию 1С, Методическая поддержка 1С - всё в одном месте: на Украинском 1С форуме!