расшифровка строки отчёта СКД #766139


#0 by supervk
Здравствуйте. Есть отчёт на СКД, в котором пара десятков полей, каждая строка отчёта соответствет отдельному документу (грубо говоря, регистратору). Группировок нет, только детальные записи. Надо при клике на любое поле открывать документ этой строки. Есть варианты решения этой задачи без прописывания в макете расшифровки для каждого реквизита и без изменения генерации отчёта (надо, чтобы он генерировался СКД стандартно)? Подскажите, пожалуйста. В идеале хочется обойтись обработкой расшифровки табличного документа. До чего добрался: добавил в макет одну расшифровку, где прописал ссылку, которая должна открываться. Данные расшифровки отчёта получаю, там все ссылки есть. Но не могу понять, как добраться до данных именно текущей "кликнутой" строки. Это вообще возможно?
#1 by Cyberhawk
&НаСервере
#2 by Cyberhawk
&НаСервере Сам напишешь уже
#3 by supervk
Спасибо, Cyberhawk. Но не выходит, возвращается только значение расшифровки текущей ячейки. Что я не так делаю? Вызываю: После такого вызова функция получает значение поля и вызывает получение расшифровки для родителей, но оттуда ничего не извлекает, т.к. ЭлементРасшифровкиПоля    = ЭлементРасшифровкиКомпоновкиДанныхГруппировка поэтому не заходит в условие         ... В итоге функция возвращает лишь значение расшифровки текущей ячейки
#4 by SFilchakov
#5 by supervk
Спасибо,  SFilchakov, но это тоже ничего кроме расшифровки текущей ячейки не даст.
#6 by supervk
Сделал такую "корягу": прохожу по всем ячейкам текущей строки, беру из них расшифровки. Из полученных расшифровок беру поля, ну а по из нужного мне поля, например, "ДокументСсылка" беру ссылку для обработки. Как-то шибко замороченно получилось и много всяких "но" и "если". Умнее ничего не придумал, если есть соображения, подскажите, пожалуйста. ТабДок = ЭтаФорма.ОтчетТабличныйДокумент; Оптимизировать ещё надо, но общий смысл такой.
#7 by Cyberhawk
Ну, либо дедовским методом - перебирать ячейки табличного документа, либо все-таки добавить в макеты СКД в макет каждого поля, куда можно кликать, в выражение расшифровки необходимые поля
#8 by supervk
Ясно, спасибо, Cyberhawk. Я сперва и делал макеты. Первый десяток отчётов. Но потом мне пришёл ещё десяток заданий на такие отчёты, в каждом по полтора - два десятка колонок и везде прописано одно и тоже - при клике на строку открывать её документ. Вот и надоело - прописал стандартную расшифровку. Правда, как минимум одно поле всё-таки надо делать с макетом, чтобы ссылка была в расшифровке. :-)
#9 by supervk
Да, ещё один вариант тут подсказали. Добавить реквизит расшифровки в группировку, но не выводить его. Тогда до него можно добраться через: ЭлементРасшифровки.ПолучитьРодителей[0].ПолучитьПоля И можно ячейки строки не перебирать.
#10 by Новиков
если у тебя только детальные записи, без группировок то не покатит. Если сделал группировку, то покатит. Это и есть, кста, единственный нормальный вариант (без макета), как это можно сделать в принципе. Перебор ТабДок'а - лютый адъ. Лучше уж макеты нарисовать.
#11 by FIXXXL
как вариант - через вычисляемые поля: путь к данным - имя поля выражение - путь к документу расшифровки
#12 by FIXXXL
+ при этом самого дока(ссылки) в выдодимых данных может и не быть, он должен присутствовать в выборке только
#13 by Tateossian
Помнится есть такой параметр расшифровки в макете - "Использование расшифровки" - Строка (для всей строки). Это поможет?
#14 by supervk
FIXXXL Да, насчёт этого варианта я в курсе, но редко использую. Эдакий "хакерский" способ. С ним тяжело работать, когда полей больше десятка, вносит путаницу. Кроме того, возникают проблемы с отборами и группировками у пользователя, т.к. он не понимает, что там на самом деле.
#15 by supervk
Tateossian Мне не удалось в СКД заставить его работать на всю строку.
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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