В качестве примера предлагается следующий вариант:
1. Берем первые 20 записей номенклатуры (код, артикул и ссылка), помещаем их в таблицу значений;
2. Из сформированной таблицы значений создаем еще 2 таблицы значений (в первую мы копируем ссылку и код, во вторую ссылку и артикул). Эти 2 таблицы будут переданы в процессор компоновки данных и соединены.
3. Выводим данные в табличный документ.
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь;
СхемаСКД = ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
КомпановщикМакетаКД = Новый КомпоновщикМакетаКомпоновкиДанных;
МакетКД = КомпановщикМакетаКД.Выполнить(СхемаСКД, СхемаСКД.НастройкиПоУмолчанию);
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ ПЕРВЫЕ 20
| Номенклатура.Ссылка,
| Номенклатура.Код,
| Номенклатура.Артикул
|ИЗ
| Справочник.Номенклатура КАК Номенклатура
|ГДЕ
| НЕ Номенклатура.ЭтоГруппа";
РезультатЗапроса = Запрос.Выполнить();
тз = РезультатЗапроса.Выгрузить();
КодыНоменклатуры = тз.Скопировать(, "Ссылка, Код");
АртикулыНоменклатуры = тз.Скопировать(, "Ссылка, Артикул");
ВнешниеНаборыДанных = новый Структура("КодыНоменклатуры, АртикулыНоменклатуры", КодыНоменклатуры, АртикулыНоменклатуры);
ПроцессорКД = новый ПроцессорКомпоновкиДанных;
ПроцессорКД.Инициализировать(МакетКД, ВнешниеНаборыДанных );
ПроцессорВывода = новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
ПроцессорВывода.УстановитьДокумент(ДокументРезультат);
ПроцессорВывода.Вывести(ПроцессорКД, истина);
КонецПроцедуры
Тестировал на платформе версии 8.3.10.2667.