Частенько получается так, что данные лежат в таблице значений, и надо, например, вытащить данные из нее по к-то
условию. Для этого можно задействовать запрос. Делаем так (вставляю пример текста, чтоб было под рукой):
//при запросе к ТЗ типы колонок ТЗ д.б. объявлены явно.
КЧ14_3 = Новый КвалификаторыЧисла(14,3);
КС190 = Новый КвалификаторыСтроки(190);
КС10 = Новый КвалификаторыСтроки(10);
Массив = Новый Массив;
Массив.Добавить(Тип("Строка"));
ОписаниеТиповС190 = Новый ОписаниеТипов(Массив, , КС190);
ОписаниеТиповС10 = Новый ОписаниеТипов(Массив, , КС10);
Массив.Очистить();
Массив.Добавить(Тип("Число"));
ОписаниеТиповЧ = Новый ОписаниеТипов(Массив, КЧ14_3);
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Группа", ОписаниеТиповС190);
ТЗ.Колонки.Добавить("Наименование", ОписаниеТиповС190);
ТЗ.Колонки.Добавить("Артикул", ОписаниеТиповС10);
ТЗ.Колонки.Добавить("Менеджер", ОписаниеТиповС10);
ТЗ.Колонки.Добавить("Колво", ОписаниеТиповЧ);
// 2. необходимо подключить Менеджер временных таблиц
// один запрос будет все же упоминаться 2 раза. Т.к. чтобы по результатам запроса можно было
// потом пройти, надо сначала выбрать данные из ТЗ во временную таблицу, а потом уже из нее
// сделать выборку-результат
Запрос = Новый Запрос();
МенеджерВТ = Новый МенеджерВременныхТаблиц();
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
| врТаблицаДанных.Артикул,
| врТаблицаДанных.Наименование
|ПОМЕСТИТЬ Товары
|ИЗ
| &врТаблицаДанных КАК врТаблицаДанных
|ГДЕ
| врТаблицаДанных.Группа = &выбрГруппа";
Запрос.УстановитьПараметр("врТаблицаДанных", ТЗ);
Запрос.УстановитьПараметр("выбрГруппа", выбрГруппа);
Запрос.Выполнить();
Запрос = Новый Запрос();
Запрос.МенеджерВременныхТаблиц = МенеджерВТ;
Запрос.Текст =
"ВЫБРАТЬ
| Товары.Артикул,
| Товары.Наименование,"+допСтр2+"
|ИЗ
| Товары КАК Товары";
РезультатЗапроса = Запрос.Выполнить();
Выборка = РезультатЗапроса.Выбрать();
Пока Выборка.Следующий() Цикл
НаименованиеТов = Выборка.Наименование;
//... любая обработка
КонецЦикла;