Здравствуйте, вывожу в ТабДок данные из табличной части "Характеристики" справочника Товары и из регистра сведений "СведенияОТоваре".
Первый запрос работает, нужная информация выводится, а вот совместно со вторым не выводится ничего. Нужно ли для каждого запроса писать отдельный цикл? И стоит ли объединять запросы в один? также не выводится наименование

```1c
    &НаКлиенте
    Процедура Печать(Команда) Экспорт

    ТабДок = Новый ТабличныйДокумент;
    ПечатьНаСервере(ТабДок);
    ТабДок.Показать("Информация");

    КонецПроцедуры

    &НаСервере
    Процедура ПечатьНаСервере(ТабДок) Экспорт

    Макет = ПолучитьМакетНаСервере();

    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    | ТоварыХарактеристики.Значение,
    | ТоварыХарактеристики.НомерСтроки,
    | ТоварыХарактеристики.Характеристика,
    | Товары.Ссылка.Наименование
    |ИЗ
    | Справочник.Товары.Характеристики КАК ТоварыХарактеристики
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Товары КАК Товары
    | ПО ТоварыХарактеристики.Ссылка = Товары.Ссылка
    |ГДЕ
    | ТоварыХарактеристики.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

    Запрос2 = Новый Запрос;
    Запрос2.Текст ="ВЫБРАТЬ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики КАК ВидХарактеристики2,
    | СведенияОТоварахСрезПоследних.НомерСтроки КАК НомерСтроки2,
    | СведенияОТоварахСрезПоследних.ЗначениеХарактеристики КАК ЗначениеХарактеристики2
    |ИЗ
    | РегистрСведений.СведенияОТоварах.СрезПоследних КАК СведенияОТоварахСрезПоследних
    |ГДЕ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики.Ссылка = &Ссылка";

    Запрос2.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи = Запрос2.Выполнить().Выбрать();

    Область = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтруктура = Макет.ПолучитьОбласть("табличныйдокумент");
    ОбластьСтруктура2 = Макет.ПолучитьОбласть("табличныйдокумент2");

    Область.Параметры.ДатаОтчета = Формат(ТекущаяДата(), "ДЛФ=DD");
    ТабДок.Вывести(Область);

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ОбластьСтруктура.Параметры.Значение = ВыборкаДетальныеЗаписи.Значение;
    ОбластьСтруктура.Параметры.N = ВыборкаДетальныеЗаписи.НомерСтроки;
    ОбластьСтруктура.Параметры.Характеристика = ВыборкаДетальныеЗаписи.Характеристика;
    Область.Параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;

    ОбластьСтруктура2.Параметры.Значение2 = ВыборкаДетальныеЗаписи.ЗначениеХарактеристики2;
    ОбластьСтруктура2.Параметры.N2 = ВыборкаДетальныеЗаписи.НомерСтроки2;
    ОбластьСтруктура2.Параметры.Характеристика2 = ВыборкаДетальныеЗаписи.ВидХарактеристики2;

    ТабДок.Вывести(ОбластьСтруктура);
    ТабДок.Вывести(ОбластьСтруктура2);

    КонецЦикла;

    КонецПроцедуры

    &НаСервере
    Функция ПолучитьМакетНаСервере()

    Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет66");

    КонецФункции
```
---
вот так сработает:

```1c
    &НаКлиенте
    Процедура Печать(Команда) Экспорт

    ТабДок = Новый ТабличныйДокумент;
    ПечатьНаСервере(ТабДок);
    ТабДок.Показать("Информация");

    КонецПроцедуры

    &НаСервере
    Процедура ПечатьНаСервере(ТабДок) Экспорт

    Макет = ПолучитьМакетНаСервере();

    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    | ТоварыХарактеристики.Значение,
    | ТоварыХарактеристики.НомерСтроки,
    | ТоварыХарактеристики.Характеристика,
    | Товары.Ссылка.Наименование
    |ИЗ
    | Справочник.Товары.Характеристики КАК ТоварыХарактеристики
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Товары КАК Товары
    | ПО ТоварыХарактеристики.Ссылка = Товары.Ссылка
    |ГДЕ
    | ТоварыХарактеристики.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

    Область = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтруктура = Макет.ПолучитьОбласть("табличныйдокумент");
    ОбластьСтруктура2 = Макет.ПолучитьОбласть("табличныйдокумент2");

    Область.Параметры.ДатаОтчета = Формат(ТекущаяДата(), "ДЛФ=DD");
    ТабДок.Вывести(Область);

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ОбластьСтруктура.Параметры.Значение = ВыборкаДетальныеЗаписи.Значение;
    ОбластьСтруктура.Параметры.N = ВыборкаДетальныеЗаписи.НомерСтроки;
    ОбластьСтруктура.Параметры.Характеристика = ВыборкаДетальныеЗаписи.Характеристика;
    Область.Параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;

    ТабДок.Вывести(ОбластьСтруктура);

    КонецЦикла;

    Запрос2 = Новый Запрос;
    Запрос2.Текст ="ВЫБРАТЬ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики КАК ВидХарактеристики2,
    | СведенияОТоварахСрезПоследних.НомерСтроки КАК НомерСтроки2,
    | СведенияОТоварахСрезПоследних.ЗначениеХарактеристики КАК ЗначениеХарактеристики2
    |ИЗ
    | РегистрСведений.СведенияОТоварах.СрезПоследних КАК СведенияОТоварахСрезПоследних
    |ГДЕ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики.Ссылка = &Ссылка";

    Запрос2.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи2 = Запрос2.Выполнить().Выбрать();

    Пока ВыборкаДетальныеЗаписи2.Следующий() Цикл

    ОбластьСтруктура2.Параметры.Значение2 = ВыборкаДетальныеЗаписи2.ЗначениеХарактеристики2;
    ОбластьСтруктура2.Параметры.N2 = ВыборкаДетальныеЗаписи2.НомерСтроки2;
    ОбластьСтруктура2.Параметры.Характеристика2 = ВыборкаДетальныеЗаписи2.ВидХарактеристики2;

    ТабДок.Вывести(ОбластьСтруктура2);
    КонецЦикла;

    КонецПроцедуры

    &НаСервере
    Функция ПолучитьМакетНаСервере()

    Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет66");

    КонецФункции
```
---
Объединять запросы однозначно нужно, т.к. это значительно ускорит вывод печатной формы. В конце концов запрос в цикле - моветон. :)

Приведите самую важную информацию для того, чтобы Вам можно было помочь, а именно как именно Вы объединили запросы. И решение сразу найдется, вот увидите.

И еще возникает вопрос относительно условия во втором запросе. Кажется, что здесь ошибка, т.к. параметр "Ссылка" судя по коду - это товар, а не вид характеристики. Т.е. условие заведомо невыполнимое. Плюсом к этому Вы используете одну и ту же переменную для выборки из результата что первого, что второго запроса. Полагаю это и привело к тому, что данных в отчете нет - обход осуществляется результата именно второго запроса, который как я уже указал, заведомо пустой.
---
да, насчет ссылки, это товар. а могу ли я тогда использовать во втором запросе, например: ?

```1c
    | СведенияОТоварахСрезПоследних.ВидХарактеристики.Ссылка = &Ссылка2";

    Запрос2.УстановитьПараметр("Ссылка2", Объект.Объект);
```

насчет объединения, думал объединить их конструкцией ОБЪЕДИНИТЬ

а насчет цикла не понял, я в одном цикле задаю и параметры первого запроса и второго? или для каждого свой цикл делать (пока как умею))
эти все данные выводятся из макета внешней обработки
---
Использовать "Ссылка2" можно. Тем не менее условие по-прежнему кажется некорректным. Что из себя представляет колонка "ВидХарактеристики" в регистре сведений? Какого он типа? Наверняка не "СправочникСсылка.Товары", верно?

По поводу цикла. Замечание касается другого аспекта. У Вас 2 разных запроса, и каждый возвращает свой результат. Но обходите результат Вы только второго запроса, т.к. переменная "ВыборкаДетальныеЗаписи" ссылается на выборку результата второго запроса.

Как организовать работу по формированию табличного документа ничего подсказать не могу, т.к. просто по коду не понимаю что должно выводиться в отчет и в каком виде. Нужно больше информации.
---
вид характеристики - это то же самое, что в первом запросе "характеристика". в первом и втором запросах идентичные поля выводятся, просто по-разному названы. Характеристика, ее значение и номер строки, на которой находится эта характеристика
Просто в справочнике, имеющем табличную часть "Характеристики" есть еще табличная часть, которая заполняется из регистра сведений, но выглядят эти табличные части идентично с по-разному названными "характеристика, значение, номер"
---
В конце концов запрос в цикле - моветон. :)
Кстати о птичках.
Ссылка.Наименование в цикле это тоже запрос, но скрытый, вида
Выбрать Наименование ИЗ Таблица, где Ссылка =&Ссылка
---
Да там и как такового запроса в цикле явного и не оказалось. Поверил в описание, не проверив код. :)

P.S. Ну и про птичек продолжу. Не для Вас, т.к. Вам очевидно известно, а для автора. Там не просто "Выбрать Наименование" будет, там выборка полного набора реквизитов и табличных частей.
---
В коде этого нет. Это я так на всякий случай, чтобы знали про моветон в кубе :)
---
я так понимаю, Вы сначала написали только один запрос, выборку по нему, заполнили Табличный документ - и сочли , что все работает, а значит можно добавить такой же код со вторым запросом чуть ниже, и все сработеет так же? Да, это произойдет, если вы зададите имя выборки другое для второго запроса и заполнять параметры будете ссылаясь на новую выборку. Правильно ли составлен сам второй запрос и выбираются ли там данные Вы можете проверить методом Результат.Пустой(), Где Результат = Запрос2.Выполнить()
Ну и цикл для второй выборки тоже свой надо конечно же
---
ВыборкаДетальныеЗаписи - одна для обоих запросов? Это неправильно как минимум. Если Вы хотите получить сначала данные первого запроса в отчете, а потом ниже данные второго запроса - то для второго запроса задайте другое имя для выборки. Иначе вообще не знаю, как у вас данные первого запроса выводятся, по идее не должно вообще работать и ругаться на остутствующие поля выборки.
---
он работет, только если закомментировать второй запрос) Спасибо за замечание
---
вот так сработает:

```1c
    &НаКлиенте
    Процедура Печать(Команда) Экспорт

    ТабДок = Новый ТабличныйДокумент;
    ПечатьНаСервере(ТабДок);
    ТабДок.Показать("Информация");

    КонецПроцедуры

    &НаСервере
    Процедура ПечатьНаСервере(ТабДок) Экспорт

    Макет = ПолучитьМакетНаСервере();

    Запрос = Новый Запрос;
    Запрос.Текст ="ВЫБРАТЬ
    | ТоварыХарактеристики.Значение,
    | ТоварыХарактеристики.НомерСтроки,
    | ТоварыХарактеристики.Характеристика,
    | Товары.Ссылка.Наименование
    |ИЗ
    | Справочник.Товары.Характеристики КАК ТоварыХарактеристики
    | ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Товары КАК Товары
    | ПО ТоварыХарактеристики.Ссылка = Товары.Ссылка
    |ГДЕ
    | ТоварыХарактеристики.Ссылка = &Ссылка";

    Запрос.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();

    Область = Макет.ПолучитьОбласть("Шапка");
    ОбластьСтруктура = Макет.ПолучитьОбласть("табличныйдокумент");
    ОбластьСтруктура2 = Макет.ПолучитьОбласть("табличныйдокумент2");

    Область.Параметры.ДатаОтчета = Формат(ТекущаяДата(), "ДЛФ=DD");
    ТабДок.Вывести(Область);

    Пока ВыборкаДетальныеЗаписи.Следующий() Цикл

    ОбластьСтруктура.Параметры.Значение = ВыборкаДетальныеЗаписи.Значение;
    ОбластьСтруктура.Параметры.N = ВыборкаДетальныеЗаписи.НомерСтроки;
    ОбластьСтруктура.Параметры.Характеристика = ВыборкаДетальныеЗаписи.Характеристика;
    Область.Параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;

    ТабДок.Вывести(ОбластьСтруктура);

    КонецЦикла;

    Запрос2 = Новый Запрос;
    Запрос2.Текст ="ВЫБРАТЬ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики КАК ВидХарактеристики2,
    | СведенияОТоварахСрезПоследних.НомерСтроки КАК НомерСтроки2,
    | СведенияОТоварахСрезПоследних.ЗначениеХарактеристики КАК ЗначениеХарактеристики2
    |ИЗ
    | РегистрСведений.СведенияОТоварах.СрезПоследних КАК СведенияОТоварахСрезПоследних
    |ГДЕ
    | СведенияОТоварахСрезПоследних.ВидХарактеристики.Ссылка = &Ссылка";

    Запрос2.УстановитьПараметр("Ссылка", Объект.Объект);
    ВыборкаДетальныеЗаписи2 = Запрос2.Выполнить().Выбрать();

    Пока ВыборкаДетальныеЗаписи2.Следующий() Цикл

    ОбластьСтруктура2.Параметры.Значение2 = ВыборкаДетальныеЗаписи2.ЗначениеХарактеристики2;
    ОбластьСтруктура2.Параметры.N2 = ВыборкаДетальныеЗаписи2.НомерСтроки2;
    ОбластьСтруктура2.Параметры.Характеристика2 = ВыборкаДетальныеЗаписи2.ВидХарактеристики2;

    ТабДок.Вывести(ОбластьСтруктура2);
    КонецЦикла;

    КонецПроцедуры

    &НаСервере
    Функция ПолучитьМакетНаСервере()

    Возврат РеквизитФормыВЗначение("Объект").ПолучитьМакет("Макет66");

    КонецФункции
```
---
Спасибо большое
---
рада, что помогла :)
---
правда еще вот эта строка мне непонятна. Зачем область шапки в цикле параметр заполнять? Вы ее уже вывели эту область вроде )

```1c
    Область.Параметры.Наименование = ВыборкаДетальныеЗаписи.Наименование;
```