Имя: Пароль:
1C
1С v8
ОФ. В табличном поле установлен отбор, как получить строки соотв. отбору?
0 Puzoter
 
24.08.18
14:53
В табличном поле на форме установлен отбор, нужно перебрать строки и для тех, которые отбору соответствуют выполнить определенные действия. Как получить строки, соответствующие отбору?
1 lubitelxml
 
24.08.18
14:54
НайтиСтроки(Отбор)
2 Михаил Козлов
 
24.08.18
14:56
В зависимости от того, что под табличным полем (ТЧ, Справочник/Документ/...Список) или таблица значений.
Для ТЗ, кажется ПроверитьСтроку, для других построительОтчета с источником = Справочник.Список.
3 Cyberhawk
 
24.08.18
14:58
Скормить построителю
4 Puzoter
 
24.08.18
14:59
(2) табличное поле - поле табличной части обработки
5 Puzoter
 
24.08.18
15:02
(1) А можно как-то сделать проще, чем преобразование отбора табличного поля в структуру?
6 Михаил Козлов
 
24.08.18
15:04
построитель = Новый ПостроительОтчета;
построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(ТЧ);
построитель.Выполнить();
выборка = построитель.Результат.Выбрать();
7 Timon1405
 
24.08.18
15:06
(6) и как ваш построитель узнает про отбор строк в ТЧ?
8 Puzoter
 
24.08.18
15:06
(6) Спасибо, а то, если честно, я с построителем не очень
А как в этом примере ему задать отбор?
9 Михаил Козлов
 
24.08.18
15:08
Наверное ошибся: вместо ТЧ нужно само табличное поле.
(8) Отбор уже стоит в табличном поле.
10 Puzoter
 
24.08.18
15:11
(9) Несоответствие типов
11 Puzoter
 
24.08.18
15:15
Отбор в отбор как-то можно скопировать?
12 Михаил Козлов
 
24.08.18
15:19
построитель.ИсточникДанных = Новый ОписаниеИсточникаДанных(<имяЭлементаФормы - табличного поля>);
Так работает:
пост = Новый ПостроительОтчета;
пост.ИсточникДанных = Новый ОписаниеИсточникаДанных(списокРН);
пост.Выполнить();
выборка = пост.Результат.Выбрать();
списокРН - имя элемента формы (табличное поле) для списка РТиУ.