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

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

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

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

aleon1

Добрый день!

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


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


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

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

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

Программист без "1С".
Знал Fortran, Macroassembler, Lisp, C, Pascal, VBA, JavaScript, вот только никак не могу одолеть 1С

antoneus

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

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

aleon1

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

Пожалуйста, подробнее. Не знаю, как это делается.
Программист без "1С".
Знал Fortran, Macroassembler, Lisp, C, Pascal, VBA, JavaScript, вот только никак не могу одолеть 1С

wise

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

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

antoneus

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

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


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

aleon1

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

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



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


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

Благодарю! Заработало!
Программист без "1С".
Знал Fortran, Macroassembler, Lisp, C, Pascal, VBA, JavaScript, вот только никак не могу одолеть 1С

Теги:

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

Рейтинг@Mail.ru Rambler's Top100

Поиск