![]() |
![]() |
![]() |
|
в отчете на СКД не могу открыть документ по клику | ☑ | ||
---|---|---|---|---|
0
I_learn_1c
17.06.25
✎
14:07
|
Доброго дня,
Помогите плиз разобраться в чем может быть проблема Есть отчет на СКД, в ячейке выводится ссылка на документ. Это точно именно ссылка, не представление и т.п. Это регистратор, поэтому тип документа разный может быть. Но почему-то по клику на эту ячейку не могу открыть сам документ. По клику правой кнопкой тоже "Открыть" недоступно (скрин). В аналогичном отчете, но более простом - открывается все без проблем. Макетов никаких не назначено, обработчиков тоже. В какую сторону можно посмотреть? будто глюк какой-то https://disk.yandex.ru/i/7iTgtieC2bE-YA |
|||
1
Волшебник
17.06.25
✎
14:07
|
надо заполнить параметр расшифровки
|
|||
2
I_learn_1c
17.06.25
✎
14:08
|
(1) где заполнить? это не макет же
|
|||
3
Волшебник
17.06.25
✎
14:16
|
Вероятно, что при программной компоновке отчета не указывается расшифровка.
Адрес = ПоместитьВоВременноеХранилище(ДанныеРасшифровкиСКД,УникальныйИдентификатор); ДанныеРасшифровки = Адрес ; найдите строку: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки); исправьте на: МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); |
|||
4
I_learn_1c
17.06.25
✎
15:12
|
сам отчет (этот проблемный) и есть расшифровка по регистратору другого отчета. В модуле объекта проблемного пусто.
Из модуля объекта основного отчета вот ниже кусок кода ПриКомпоновкеРезультата. Данные расшифровки передаются. Т.е. в этом куске ниже: ЭтоРасшифровка = Истина. ВнешниеНаборыДанных - возвращает Возврат Новый Структура("ТаблицаДанных", Запрос.Выполнить().Выгрузить());
в запросе точно возвращается именно ссылка, если отладкой смотреть на этом месте ТаблицаДанных - это имя объекта, содержащего данные. в наборе данных. И далее поле попадает в выбранные поля, не ресурс, не в группировке. Процедура ПриКомпоновкеРезультата(ДокументРезультат, ДанныеРасшифровки, СтандартнаяОбработка)
СтандартнаяОбработка = Ложь; НастройкиКомпоновки = КомпоновщикНастроек.ПолучитьНастройки(); КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных; МакетКомпоновки = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных, НастройкиКомпоновки, ДанныеРасшифровки); ПроцессорКомпоновкиДанных = Новый ПроцессорКомпоновкиДанных; ИсключаемыеХозОперации = РасчетСебестоимостиПрикладныеАлгоритмы.ХозяйственныеОперацииПеремещений(); НастройкиКомпоновки.ПараметрыДанных.УстановитьЗначениеПараметра("ИсключаемыеХозОперации", ИсключаемыеХозОперации); ЭтоРасшифровка = ДанныеРасшифровки.Настройки.Отбор.Элементы.Количество() > 0 И ОбщегоНазначенияКлиентСервер.ЕстьРеквизитИлиСвойствоОбъекта(МакетКомпоновки.Тело[МакетКомпоновки.Тело.Количество()-1],"Группировка") И МакетКомпоновки.Тело[МакетКомпоновки.Тело.Количество()-1].Группировка[0].ИмяПоля = "ОтчетРасшифровка"; ТекстФильтра1 = ""; ТекстФильтра2 = ""; ТекстФильтра3 = ""; ЗапросСОтбором = МакетКомпоновки.НаборыДанных.НаборДанныхОбъединение.Элементы.НаборДанныхОтбор.Запрос; ПозицияОтбораГДЕ = СтрНайти(ЗапросСОтбором, "ГДЕ"); Если ПозицияОтбораГДЕ > 0 Тогда ТекстФильтра1 = Сред(ЗапросСОтбором, ПозицияОтбораГДЕ + 4); ТекстФильтра1 = СтрЗаменить(ТекстФильтра1, "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)", "Организация"); ТекстФильтра1 = СтрЗаменить(ТекстФильтра1, "ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)", "Склад"); ТекстФильтра1 = СтрЗаменить(ТекстФильтра1, "ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)", "Номенклатура"); ТекстФильтра2 = Сред(ЗапросСОтбором, ПозицияОтбораГДЕ + 4); ТекстФильтра2 = СтрЗаменить(ТекстФильтра2, "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)", "Организация"); ТекстФильтра2 = СтрЗаменить(ТекстФильтра2, "ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)", "АналитикаУчетаНоменклатуры.МестоХранения"); ТекстФильтра2 = СтрЗаменить(ТекстФильтра2, "ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)", "АналитикаУчетаНоменклатуры.Номенклатура"); ТекстФильтра3 = Сред(ЗапросСОтбором, ПозицияОтбораГДЕ + 4); ТекстФильтра3 = СтрЗаменить(ТекстФильтра3, "ЗНАЧЕНИЕ(Справочник.Организации.ПустаяСсылка)", "Партии.Организация"); ТекстФильтра3 = СтрЗаменить(ТекстФильтра3, "ЗНАЧЕНИЕ(Справочник.Склады.ПустаяСсылка)", "Партии.АналитикаУчетаНоменклатуры.МестоХранения"); ТекстФильтра3 = СтрЗаменить(ТекстФильтра3, "ЗНАЧЕНИЕ(Справочник.Номенклатура.ПустаяСсылка)", "Партии.АналитикаУчетаНоменклатуры.Номенклатура"); КонецЕсли; Если ЭтоРасшифровка Тогда Отчет = Отчеты._ок_РасшифровкаСверкиПоПартиямТоваров.Создать(); Настройки = Отчет.КомпоновщикНастроек.Настройки; Для Каждого ОтборРасшифровки Из ДанныеРасшифровки.Настройки.Отбор.Элементы Цикл КомпоновкаДанныхКлиентСервер.ДобавитьОтбор(Настройки, Строка(ОтборРасшифровки.ЛевоеЗначение), ОтборРасшифровки.ПравоеЗначение, ОтборРасшифровки.ВидСравнения, ОтборРасшифровки.Использование); КонецЦикла; Для Каждого ПараметрДанных Из ДанныеРасшифровки.Настройки.ПараметрыДанных.Элементы Цикл КомпоновкаДанныхКлиентСервер.УстановитьПараметр(Настройки, ПараметрДанных.Параметр, ПараметрДанных.Значение, ПараметрДанных.Использование); КонецЦикла; МакетКомпоновки = КомпоновщикМакета.Выполнить(Отчет.СхемаКомпоновкиДанных, Настройки, ДанныеРасшифровки); ТаблицаДанных = Отчеты._ок_РасшифровкаСверкиПоПартиямТоваров.ВнешниеНаборыДанных(ТекстФильтра1, ТекстФильтра2, ТекстФильтра3, МакетКомпоновки.ЗначенияПараметров); Иначе ТаблицаДанных = ВнешниеНаборыДанных(ТекстФильтра1, ТекстФильтра2, ТекстФильтра3, МакетКомпоновки.ЗначенияПараметров); КонецЕсли; ПроцессорКомпоновкиДанных.Инициализировать(МакетКомпоновки, ТаблицаДанных, ДанныеРасшифровки, Истина, Ложь); ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент; ПроцессорВывода.УстановитьДокумент(ДокументРезультат); ПроцессорВывода.Вывести(ПроцессорКомпоновкиДанных); // Устанавливаем фиксацию в табличном документе ДокументРезультат.ФиксацияСлева = 1; КонецПроцедуры |
|||
5
I_learn_1c
17.06.25
✎
15:25
|
аналогично устроен другой отчет со своей расшифровкой, и там из расшифровки можно открыть документ из ячейки без проблем.
Поэтому и не могу понять в чем отличие вообще тут.. отличие в том, что запрос в ВнешниеНаборыДанных собирает данные по другим регистрам, тексты фильтров отличаются.. но сама процедура ПриКомпоновкеРезультата такая же |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |