1. SantiouS 12.09.19 10:56 Сейчас в теме

Настройка вывода параметров СКД

Есть отчёт СКД, в котором параметром к запросу выступает ссылка на документ. В выбранном документе есть реквизит "Рейс", который мне нужно так же отобразить после компоновки отчёта, что бы при печати был виден ещё и рейс. Как это сделать?

То есть я хочу получить состав отчёта:
Параметры: Ссылка: ........
Рейс: ........ (Ссылка.Рейс)
(Результат выполнения запроса)

Пытался написать так, как указано на скрине, но СКД так не может :)
Прикрепленные файлы:
Найденные решения
4. dhurricane 12.09.19 16:31 Сейчас в теме
(3) Возможно не самое изящное решение, но быть может оно Вам подойдет. Оставьте выражение параметра "Маршрут" пустым, включите использование всегда, а в обработчике компоновки результата отчета напишите это:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	ПараметрСсылки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Ссылка");
	ЗначениеСсылки = ПараметрСсылки.Значение;
	
	Если ЗначениеЗаполнено(ПараметрСсылки.ИдентификаторПользовательскойНастройки) Тогда
		ПараметрСсылки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрСсылки.ИдентификаторПользовательскойНастройки);
		ЗначениеСсылки = ПараметрСсылки.Значение;
	КонецЕсли;
 
	ПараметрМаршрут = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Маршрут");
	Если ЗначениеЗаполнено(ЗначениеСсылки) Тогда
		ПараметрМаршрут.Значение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗначениеСсылки, "Маршрут");
	Иначе
		ПараметрМаршрут.Значение = Неопределено;
	КонецЕсли; 
	
КонецПроцедуры
Показать
SantiouS; +1 Ответить
Остальные ответы
Избранное Подписка Сортировка: Древо
3. SantiouS 12.09.19 14:03 Сейчас в теме
(2)

Логично :)
Я ошибся в описании, не "Рейс", а "Маршрут". Пишу "&Ссылка.Маршрут" (реквизит "Маршрут" есть у документа по "Ссылка") в "Выражение" и все равно при окончании редактирования получаю ошибку СКД: "Параметр не найден:Ссылка.Маршрут. Продолжить редактирование?"
4. dhurricane 12.09.19 16:31 Сейчас в теме
(3) Возможно не самое изящное решение, но быть может оно Вам подойдет. Оставьте выражение параметра "Маршрут" пустым, включите использование всегда, а в обработчике компоновки результата отчета напишите это:
Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
	
	ПараметрСсылки = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Ссылка");
	ЗначениеСсылки = ПараметрСсылки.Значение;
	
	Если ЗначениеЗаполнено(ПараметрСсылки.ИдентификаторПользовательскойНастройки) Тогда
		ПараметрСсылки = КомпоновщикНастроек.ПользовательскиеНастройки.Элементы.Найти(ПараметрСсылки.ИдентификаторПользовательскойНастройки);
		ЗначениеСсылки = ПараметрСсылки.Значение;
	КонецЕсли;
 
	ПараметрМаршрут = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Маршрут");
	Если ЗначениеЗаполнено(ЗначениеСсылки) Тогда
		ПараметрМаршрут.Значение = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(ЗначениеСсылки, "Маршрут");
	Иначе
		ПараметрМаршрут.Значение = Неопределено;
	КонецЕсли; 
	
КонецПроцедуры
Показать
SantiouS; +1 Ответить
5. SantiouS 12.09.19 19:39 Сейчас в теме
(4) Я немного по другому решил свою задачу, но отмечу Ваш вариант как лучший за его развернутость. Спасибо!
Оставьте свое сообщение
Новые вопросы с вознаграждением
Автор темы объявил вознаграждение за найденный ответ, его получит тот, кто первый поможет автору.

Вакансии

Программист 1С
Санкт-Петербург
зарплата от 130 000 руб.
Полный день


Программисты 1С УТ / БУЗ/ЗУП / БИТ ФИНАНС
Москва
зарплата от 100 000 руб. до 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 150 000 руб. до 150 000 руб.
Полный день

Программист, аналитик, эксперт 1С
Санкт-Петербург
По совместительству