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