СКД расшифровка сразу открыть документ по клику

Как в отчете на системе компоновки данных сразу открыть документ по клику

Стандартный обработчик работает в режиме  диалога с пользователем, т.е. предлагает ему самому выбрать вариант расшифровки.

Открытие документа по расшифровке

Для того, чтобы установить свой обработчик данного события в поле табличного документа добавляется событие обработка расшифровки

Событие обработка расшифровки

Далее пишется код обработчика, например, вот такой:

Процедура РезультатОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка)
	Перем ВыполненноеДействие;
		
	Если ТИПЗНЧ(Расшифровка)= Тип("ИдентификаторРасшифровкиКомпоновкиДанных") Тогда
		
		Попытка
			Поля = ДанныеРасшифровки.Элементы[Расшифровка].ПолучитьПоля();
			Если Поля.Количество() = 0 Тогда
				Значение = Неопределено;
			Иначе	
				Значение = Поля[0].Значение;
			КонецЕсли;	
		Исключение
			Значение = Неопределено;
		КонецПопытки;	
		Если ТипЗнч(Значение) = тип("ДокументСсылка.УчетДолгов") Тогда
                     //Если значение определенного типа тогда
			СтандартнаяОбработка = Ложь;
			СписокДействий = Новый СписокЗначений;
			ДоступныеДействия = Новый Массив();
			ДоступныеДействия.Добавить(ДействиеОбработкиРасшифровкиКомпоновкиДанных.ОткрытьЗначение);
			ОбработкаРасшифровки=Новый ОбработкаРасшифровкиКомпоновкиДанных(ДанныеРасшифровки,Новый ИсточникДоступныхНастроекКомпоновкиДанных(СхемаКомпоновкиДанных));
			Настройки = ОбработкаРасшифровки.Выполнить(Расшифровка, ВыполненноеДействие, ДоступныеДействия, СписокДействий);
			
			
			Если Настройки <> Неопределено Тогда
				//КомпоновщикНастроек.ЗагрузитьНастройки(Настройки);
				//ЭлементыФормы.Результат.Очистить();
                               //СкомпоноватьРезультат(ЭлементыФормы.Результат,ДанныеРасшифровки);
			КонецЕсли;
		КонецЕсли;
		
	КонецЕсли;	
	

КонецПроцедуры

Алгоритм обработчика:

  • Пытаемся получить значение расшифровки
  • При ошибке присваиваем Неопределено
  • Если значение типа ссылки на “Учет долгов” тогда сразу открываем документ (для тестовой конфигурации 1С:Деньги, в вашем случае может быть другой тип или несколько )
  • В остальных случаях используется стандартный обработчик

Реклама — это когда изо всех сил колотят палкой по днищу пустой кастрюли.

— Джордж Оруэлл