Обратиться к реквизиту параметра в СКД #748387


#0 by commdt
Есть отчет на СКД. Есть параметр &Контрагент, который до недавнего времени напрямую выводился в шапку печатной формы через Задача: Вывести в шапку реквизит "НаименованиеПолное" параметра &Контрагент. Менять стандартное представление не нужно, &Контрагент["НаименованиеПолное"] не ругается, но выдаёт всё равно стандартное представление.
#1 by commdt
Сделал через глобальную функцию. Но чувствую, что должен быть другой способ
#2 by mikecool
а так: (&Контрагент).НаименованиеПолное
#3 by mikecool
или мб так (Выразить &Контрагент Как Справочник.Контрагенты).НаименованиеПолное
#4 by commdt
так пробовал, не катит ВЫРАЗИТЬ со скобками не принимает ни в макете, ни в вычисляемых полях
#5 by Artful Den
Так может легче сделать ЛЕВОЕ СОЕДИНЕНИЕ Справочник.Контрагенты КАК Контрагент по Контрагент.Ссылка = &Контрагент ? Потом Контрагент.ПолноеНаименование
#6 by Aprobator
..Менять стандартное представление не нужно, но вывести Наименование полное... - это как?
#7 by Aprobator
Потом еще выяснится, что вывод то в шапку формы через макет СКД делается.
#8 by ВРедная
какой формы? вроде ясно в начале написано, что речь про отчет и его шапку. В шапке отчета нужно вывести полное наименование контрагента, по которому сформирован отчет. Контрагент задан в параметрах отчета.
#9 by Aprobator
ну отчета, не суть. Шапка то отчета где то рисуется или как? Другого места как в макете, я не нахожу. Если бы это поле отчета на СКД, там все просто - в наборе данных переопределил представление и всё. Стандартный же вывод параметра (мало ли речь про произвольный отчет), я не представляю как можно переопределить.
#10 by ВРедная
суть в том, что вывод шапки отчета (своей шапки, не стандартной) кроме как через макет никак и не сделаешь, странно этому удивляться
#11 by commdt
не круто, зачем тащить из запроса лишние данные (причём для каждой строки из результата), когда есть параметр?
#12 by Aprobator
тогда непонятно в чем тут вообще может быть проблема. Потому как прописать в макете вывод требуемого - минута делов.
#13 by commdt
Так просвети нас, как это написать, об этом я и спрашиваю. Напомню ещё раз, есть параметр, который является элементом справочника. Нужно вывести в шапку отчёта (через макет, разумеется) произвольный реквизит этого параметра, не прибегая к запросам. Можно получить этот реквизит в основном запросе, но это плохо и неправильно. Можно написать для реквизитов отдельный минизапрос, но это тоже плохо. Я пока получил его через глобальную функцию, но это тоже не очень хорошо. А ситуация очень распространенная, уже не первый раз возникает необходимость получить реквизит параметра, поэтому поднял этот вопрос.
#14 by Aprobator
давай тогда по шагам. Представление(&Контрагент) ты где пишешь? В описании параметров макета СКД? И там выражение &Контрагент["НаименованиеПолное"]не отрабатывает? Как вариант можешь попробовать ВЫРАЗИТЬ(&Контрагент КАК Справочник.Контрагенты).НаименованиеПолное. Кроме того, можно у самого поля воспользоваться Шаблон и там прописать [Контрагент].НаименованиеПолное.
#15 by Andry888
А че нельзя просто забубенить еще один параметр &Контрагент_ПолноеНаименование?
#16 by commdt
&Контрагент["НаименованиеПолное"] в описании параметра не прокатывает, даёт стандартное представление элемента. Кстати, в вычисляемых полях то же самое вываливается с ошибкой о нехватке скобок ) ")" ВЫРАЗИТЬ(&Контрагент КАК Справочник.Контрагенты).НаименованиеПолное - и это пробовали, при любом использовании ВЫРАЗИТЬ (и в описании параметра, и в вычисляемых полях) ругается на скобки Шаблон и там прописать [Контрагент].НаименованиеПолное - звучало интересно, но нет. Выдаёт строку "[ТутСтандартноеПредставлениеЭлемента].НаименованиеПолное"
#17 by Aprobator
где именно ты это прописываешь? Нефига не пойму что то. Я вел речь про Параметры макета (СКД вкладка Макеты), там где внизу слева табличка с именами макета. Шаблон там же имелся в виду.
#18 by SeraFim
+ а чтоб он автоматически заполнялся - это можно через выражение сделать
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С