Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Перебор элементов формы в цикле для получения их значения
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 7.7
Valdi77
Делаю отчет, Для гибкости в его использовании, на форме расположил 10 элементов типа флаг.
(Это позволяет пользователю выбирать какие доп поля он хочет видеь у себя в отчете)

Каждому элементу формы, я присвоил соответствующий идентификактор Флаг1, Флаг 2, Флаг3,

а в макете отчета сделал соответствующие секции Флаг_1, Флаг_2 и.т.д

пишу код

Для Н =1 по 9 Цикл

       Если Форма.["Флаг"+Н ] = 1 Тогда
         Таб.ПрисоединитьСекцию("Заголовок|Флаг"+Н);
      КонецЕсли;

КонецЦикла;

Получаю ошибку в выражении Форма.["Флаг"+Н ]

Подскажите, как можно из формы отчета, обратиться програмно к элементам диалога и получить их значения

Пробовал по разному, к примеру конструции вида

Форма.ПолучитьАтрибут("Флаг"+Н) Заголовок("Нет");
Форма.ПолучитьАтрибут("Флаг"+Н).видимость(0);

вполне работают, но

Форма.ПолучитьАтрибут("Флаг"+Н)


возвращает Х.З. что, а не значение элемента и не ссылку на него как написано в документации

ТекЭлемент = Форма.ПолучитьАтрибут("Флаг"+Н);


ТекЭлемент пишет НеизвестныйОбъект

и что с ним дальше делать не понятно


 ! 

Последнее предупреждение! В следующий раз все окажется в корзине!
Выделяйте код. И прочтите правила.

 
l2d808
Форма.ИспользоватьЗакладки(1);
Форма.Закладки.ДобавитьЗначение(1,"Основное");
Форма.Закладки.ДобавитьЗначение(2,"Флаг1");
Форма.Закладки.ДобавитьЗначение(3,"Флаг2");
Форма.ИспользоватьСлой("Общий,Флаг1,Флаг2",2);



По моему как-то так.
Valdi77
Мне нужно просто анализировать стоит флаг или нет,
Просто сейчас на форме 10 флажков если выбран к отчету добавляется соотвественная секция.

в отчете покатолько 3 (три) горизонтальные секции:

Заголовок,
ТекущийДок,
Итоги

и при выводе каждой из них, надо анализировать нажат или не нажат каждый флаг, чтобы присоединить нужную секцию

получается очень много однотипного кода. Хочется автоматизировать.

и вместо 10 (Если Тогда), сделать один цикл, в которм перибирать эти флажки. для этого я и назвал флажки однотипно чтобы к ним было просто обратиься в коде но пока проблема

Форма.["Флаг"+Шаг]
sava1
Копать в сторону Шаблон или Формекс
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.