|
Помогите вывести данные из табличной части в макет в качестве нестандартной расшифровки. | ☑ | ||
---|---|---|---|---|
0
klever_RUZX
30.03.22
✎
16:54
|
Проблема вот в чем мне необходимо сделать отчет через конструктор запрос с обработкой результата, все почти выводится, но только при открытии расшифровки выходит ошибка переменная не определена РСконтрагента, сразу скажу с кодом я на вы.
&НаКлиенте Процедура Печать(Команда) ТабДок = ПечатьОтчета(); КонецПроцедуры Функция ПечатьОтчета() Макет = Отчеты.Отчет1.ПолучитьМакет("Макет1"); Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | Контрагенты.НаименованиеКонт КАК НаименованиеКонт, | Контрагенты.ТипКонтрагента КАК ТипКонтрагента, | Контрагенты.ОсновнойРС КАК ОсновнойРС, | Контрагенты.АдресКонтрагента КАК АдресКонтрагента |ИЗ | Справочник.Контрагенты КАК Контрагенты"; РезультатЗапроса = Запрос.Выполнить(); ОбластьЗаголовок = Макет.ПолучитьОбласть("Заголовок"); ОбластьПодвал = Макет.ПолучитьОбласть("Подвал"); ОбластьШапкаТаблицы = Макет.ПолучитьОбласть("ШапкаТаблицы"); ОбластьПодвалТаблицы = Макет.ПолучитьОбласть("ПодвалТаблицы"); ОбластьДетальныхЗаписей = Макет.ПолучитьОбласть("Детали"); Таб=Новый ТабличныйДокумент(); Таб.Очистить(); Таб.Вывести(ОбластьЗаголовок); Таб.Вывести(ОбластьШапкаТаблицы); Таб.НачатьАвтогруппировкуСтрок(); ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать(); Пока ВыборкаДетальныеЗаписи.Следующий() Цикл ОбластьДетальныхЗаписей.Параметры.Заполнить(ВыборкаДетальныеЗаписи); Таб.Вывести(ОбластьДетальныхЗаписей, ВыборкаДетальныеЗаписи.Уровень()); КонецЦикла; Таб.ЗакончитьАвтогруппировкуСтрок(); Таб.Вывести(ОбластьПодвалТаблицы); Таб.Вывести(ОбластьПодвал); //}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА Возврат Таб; КонецФункции &НаКлиенте Процедура ТабДокОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры) СтандартнаяОбработка=ложь; НаименованиеКонт=Расшифровка; ТабСчетов=Новый ТабличныйДокумент(); ТабСчетов=ВыполнитьРасшифровку(НаименованиеКонт); ТабСчетов.ТолькоПросмотр=Истина; ТабСчетов.Показать(""); КонецПроцедуры Функция ВыполнитьРасшифровку(НаименованиеКонт) ТабСчетов=Новый ТабличныйДокумент(); МакетСчетов= Справочники.Контрагенты.ПолучитьМакет("Макетсчетов") ; Область = МакетСчетов.ПолучитьОбласть("Шапка"); Область.Параметры.НаименованиеКонт=НаименованиеКонт; ТабСчетов.Вывести(Область); Для каждого Стр из НаименованиеКонт.РСконтрагента Цикл Область = МакетСчетов.ПолучитьОбласть("Строка"); Область.Параметры.НаименованиеРС=Стр.НаименованиеРС; Область.Параметры.Банк=Стр.Банк; Область.Параметры.ВалютаРасчета=Стр.ВалютаРасчета; Область.Параметры.АдресБанка=Стр.АдресБанка; ТабСчетов.Вывести(Область); КонецЦикла; Возврат ТабСчетов; КонецФункции |
|||
1
ololoraise
30.03.22
✎
16:57
|
В ячейке ПараметрРасшифровки указан?
|
|||
2
Amra
30.03.22
✎
16:58
|
У тебя в НаименованиеКонт не ссылка на контрагента, а строка
|
|||
3
klever_RUZX
30.03.22
✎
17:06
|
А как ее объявить ссылкой, не доходит просто
|
|||
4
Лирик
30.03.22
✎
18:05
|
В запросе добавь поле "Контрагенты.Ссылка Как КонтрагентСсылка"
В ячейке макета куда выводится контрагент в параметр расшифровки укажи "КонтрагентСсылка"; |
|||
5
klever_RUZX
30.03.22
✎
21:14
|
(4) Спасибо, огромное помогли!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |