При клике по ссылке на документ открыть нужную табличную часть

1. user705522_constantin_h 35 16.05.19 14:29 Сейчас в теме
Сделал внешний отчет на СКД. В нём есть ссылка на документ. Как при клике по ссылке открыть нужную табличную часть?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. tusv 211 16.05.19 15:09 Сейчас в теме
(1)Да тут уже без события ОбработкаРасшифровки не обойтись
Когда то написал для обработки, где Расшифровка не работает в принципе.
АдресСхемы это Адрес во временом хранилище Схемы компоновки,
АдресРасшифровки это Адрес во временном хранилище ДанныеРасшифровки
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
	
	СтандартнаяОбработка = ложь;
	
	Настройки = РезультатОбработкаРасшифровкиНаСервере(Расшифровка);
	Если Настройки.Отбор.Элементы.Количество() Тогда
		ПоказатьЗначение(,Настройки.Отбор.Элементы[Настройки.Отбор.Элементы.Количество()-1].ПравоеЗначение);	
	КонецЕсли;
КонецПроцедуры
&НаСервере
Функция  РезультатОбработкаРасшифровкиНаСервере(Расшифровка)
	Источник =  Новый ИсточникДоступныхНастроекКомпоновкиДанных(АдресСхемы);
	ОбработкаРасшифровки =  Новый ОбработкаРасшифровкиКомпоновкиДанных(АдресРасшифровки,Источник);
	Возврат ОбработкаРасшифровки.Расшифровать(Расшифровка,Новый ПолеКомпоновкиДанных("Расшифровка"));
КонецФункции
Показать

Вам надо вместо АдресаСхемы указать Схему компоновки данных отчета.Вместо АдресРасшифровки ДанныеРасшифровки И вместо ПоказатьЗначение, открыть форму документа с активизированной Табличной частью
5. user705522_constantin_h 35 16.05.19 16:58 Сейчас в теме
(3)Сделал так.
&НаСервере
Функция  РезультатОбработкаРасшифровкиНаСервере(Расшифровка)
	Перем ВыполненноеДействие;
	
	ОтчетОбъект = ДанныеФормыВЗначение(Отчет, Тип("ОтчетОбъект"));
	
	СхемаКомпоновкиДанных = ОтчетОбъект.СхемаКомпоновкиДанных;                      
	
	СтандартнаяОбработка = Ложь;
	СписокДействий = Новый СписокЗначений;
	ДоступныеДействия = Новый Массив();
	ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
	ОбработкаРасшифровки = Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
	
	Возврат ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, СписокДействий);
	
КонецФункции

&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
	
	СтандартнаяОбработка = ложь;
	
	Настройки = РезультатОбработкаРасшифровкиНаСервере(Расшифровка);
	Если Настройки.Отбор.Элементы.Количество() Тогда
	    ПоказатьЗначение(,Настройки.Отбор.Элементы[Настройки.Отбор.Элементы.Количество()-1].ПравоеЗначение);    
	КонецЕсли;
КонецПроцедуры
Показать

Ошибка:Ошибка при вызове метода контекста (Выполнить)
Возврат ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, СписокДействий);
по причине:
Метод контекста недоступен
6. tusv 211 16.05.19 17:07 Сейчас в теме
(5)Только что проверил. Значение открывает
&НаКлиенте
Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
		
	СтандартнаяОбработка = ложь;
	
	Настройки = РезультатОбработкаРасшифровкиНаСервере(Расшифровка);
	Если Настройки.Отбор.Элементы.Количество() Тогда
		ПоказатьЗначение(,Настройки.Отбор.Элементы[Настройки.Отбор.Элементы.Количество()-1].ПравоеЗначение);	
	КонецЕсли;

КонецПроцедуры
&НаСервере
Функция  РезультатОбработкаРасшифровкиНаСервере(Расшифровка)
	Источник =  Новый ИсточникДоступныхНастроекКомпоновкиДанных(РеквизитФормыВЗначение("Отчет").СхемаКомпоновкиДанных);
	ОбработкаРасшифровки =  Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Источник);
	Возврат ОбработкаРасшифровки.Расшифровать(Расшифровка,Новый ПолеКомпоновкиДанных("Расшифровка"));
КонецФункции
Показать
7. user705522_constantin_h 35 16.05.19 17:18 Сейчас в теме
(6)Так ошибка: Ошибка при вызове метода контекста (Расшифровать)
Возврат ОбработкаРасшифровки.Расшифровать(Расшифровка,Новый ПолеКомпоновкиДанных("Расшифровка"));
по причине:
Нельзя расшифровывать детальные записи
8. tusv 211 16.05.19 17:34 Сейчас в теме
(7)Не знаю. Все работает и с детальными записями
Прикрепленные файлы:
ВнешнийОтчет2.erf
user705522_constantin_h; +1 Ответить
9. user705522_constantin_h 35 16.05.19 17:38 Сейчас в теме
(8)У вас управляемые или обычные формы?
У вас работает, буду разбираться: в чём у меня ошибки.
10. tusv 211 16.05.19 17:41 Сейчас в теме
(9)Я же отчетик прикрепил. УФ
user705522_constantin_h; +1 Ответить
11. user705522_constantin_h 35 16.05.19 17:45 Сейчас в теме
(10)Заработало. Нужно не детальные записи, а поля выбрать.
12. tusv 211 16.05.19 18:04 Сейчас в теме
(11)Этот код был для программно созданной Схемы компоновки.
Чтоб по любому просто открылся документ, элемент можно через макет поля
Прикрепленные файлы:
2. VictorRGB2 13 16.05.19 15:01 Сейчас в теме
непонятен вопрос
раз есть ссылка, значит можно открыть сам объект и уже в нем увидеть табличную часть

или же вопрос в том как где-то открыть отдельно табличную часть объекта без самого объекта? типовыми средствами точно нельзя, писать отдельную форму для обработчика события... ну не знаю, а смысл в этом?
4. user705522_constantin_h 35 16.05.19 15:19 Сейчас в теме
(2)Нужно чтобы сразу открылась нужная табличная часть, чтобы не нужно было на неё переключаться.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот