Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
20 мая 2024, 05:18

Вывод значений реквизитов табличной части во внешний отчет

Автор aleon1, 18 окт 2019, 12:34

0 Пользователей и 1 гость просматривают эту тему.

aleon1

Добрый день!

Создаю внешний отчет на основе макета, сделанного без применения СКД. Данные получаю в результате следующего запроса;


Запрос.Текст =
"ВЫБРАТЬ
| ЗаказНаПроизводство.Дата КАК Дата,
| ЗаказНаПроизводство.Номер КАК Номер,
| ЗаказНаПроизводство.СостояниеЗаказа КАК Состояние,
| ЗаказНаПроизводство.ЗаказПокупателя.Номер КАК НомерЗакПок,
|   ЗаказПокупателя.Контрагент.Наименование            КАК Заказчик,
| ЗаказНаПроизводство.БС_ДизайнМакет.(
| Разработал КАК Разработал,
| ОписаниеМакета КАК ОписаниеМакета,
| ИмяФайлаМакета КАК ИмяФайлаМакета
| ) КАК ДизайнМакет
|ИЗ
| Документ.ЗаказНаПроизводство КАК ЗаказНаПроизводство
|ГДЕ
| ЗаказНаПроизводство.Дата МЕЖДУ &Начало И &Окончание";


В макете имена параметров названы так, как результирующие поля запроса. Заполняю данные так:

    ЗаполнитьЗначенияСвойств(СтрокаТаблицы.Параметры, ВыборкаДетальныеЗаписи);   

В полученном отчете колонки, соответствующие полям табличной части, не выводятся.
Что надо сделать, чтобы в отчете выводились данные полей табличной части?


antoneus

СтрокаТаблицы.Параметры.Заполнить(ВыборкаДетальныеЗаписи)

upd: стоп, не так понял вопрос. По строкам табличной части надо делать выборку внутри выборки.

aleon1

Цитата: antoneus от 18 окт 2019, 12:39
upd: стоп, не так понял вопрос. По строкам табличной части надо делать выборку внутри выборки.

Пожалуйста, подробнее. Не знаю, как это делается.

wise

(0) пятничный ВОПРОС :D
ну, вот ОТКРОЙТЕ консоль, выполните свой запрос и ПОСМОТРИТЕ...
НЕТ там ЭТИХ полей..! их ведь НАДО достать...

(2) сделайте выборку ВНУТРИ выборки...
Представьте себе, какая была бы тишина, если бы люди говорили только то, что знают

antoneus

А у вас в ТЧ всегда одна строка? Тогда как-то так

ВыборкаДетальныеЗаписи = Запрос.Выполнить().Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
    СтрокаТаблицы.Параметры.Заполнить(ВыборкаДетальныеЗаписи);
    ВыборкаПоДМ = ВыборкаДетальныеЗаписи.ДизайнМакет.Выбрать();
    ВыборкаПоДМ.Следующий();
    СтрокаТаблицы.Параметры.Заполнить(ВыборкаПоДМ);
КонецЦикла;


Ну, если не одна - тогда цикл по ВыборкаПоДМ

aleon1

Цитата: wise от 18 окт 2019, 12:54
НЕТ там ЭТИХ полей..! их ведь НАДО достать...

В консоли выводится колонка ДизайнМакет, внутри нее значения полей, разделенные знаком ";".
Добавлено: 18 окт 2019, 13:09



Добавлено: 18 окт 2019, 13:11


Цитата: antoneus от 18 окт 2019, 12:54
А у вас в ТЧ всегда одна строка? Тогда как-то так

Благодарю! Заработало!

Теги:

Похожие темы (5)

Рейтинг@Mail.ru

Поиск