Пример работы с расшифровкой и дополнительной расшифровкой. Выводит меню (контекстное по правой кнопке мыши) для дополнительной расшифровки табличного документа.
Для обработки расшифровки требуется создать два события у табличного документа на форме:
Укажите в макете ПараметрРасшифровки
В модуле формы создайте код:
#Область ОбработчикиСобытийФормы
// В этой процедуре выводим макет и указываем расшифровку для строки
&НаСервере
Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)
ОбъектОбработки = РеквизитФормыВЗначение("Объект");
МакетДок = ОбъектОбработки.ПолучитьМакет("Макет");
ОбластьШапка = МакетДок.ПолучитьОбласть("Шапка");
ТабДок.Вывести(ОбластьШапка);
Сотрудники = Справочники.Пользователи.Выбрать();
Пока Сотрудники.Следующий() Цикл
ОбластьДанные = МакетДок.ПолучитьОбласть("Данные");
ОбластьДанные.Параметры.Сотрудник = Сотрудники.Ссылка;
// В качестве расшифровки можно передать необходимые данные
// для примера я передаю ссылку
ОбластьДанные.Параметры.СотрудникРасшифровка = Сотрудники.Ссылка;
ТабДок.Вывести(ОбластьДанные);
КонецЦикла;
КонецПроцедуры
#КонецОбласти
#Область ОбработчикиСобытийЭлементовТабличногоДокумента
// Сюда мы попадаем при двойном клике левой кнопки мыши
&НаКлиенте
Процедура ТабДокОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
// Далее код обработки расшифровки, значение которой находится в переменной Расшифровка
КонецПроцедуры
// Сюда попадаем при клике правой кнопки мыши (контекстное меню)
&НаКлиенте
Процедура ТабДокОбработкаДополнительнойРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)
СтандартнаяОбработка = Ложь;
// Создаем список действий для контекстного меню
Действия_ = Новый СписокЗначений;
Действия_.Добавить("Открыть", , , БиблиотекаКартинок.ОткрытьФайл);
Действия_.Добавить("Добавить", , , БиблиотекаКартинок.ДобавитьЭлементСписка);
Действия_.Добавить("Удалить", , , БиблиотекаКартинок.УдалитьЭлементСписка);
ОписаниеОповещенияОЗакрытии = Новый ОписаниеОповещения("ОписаниеОповещенияОЗакрытии", ЭтотОбъект, Расшифровка);
ПоказатьВыборИзМеню(ОписаниеОповещенияОЗакрытии, Действия_, Элемент);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ОписаниеОповещенияОЗакрытии(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт
// ВыбранныйЭлемент примет значение списка значений
// Открыть, Добавить, Удалить, которые мы задали ранее
// или Неопределено в случае отказа от выбора
// ДополнительныеПараметры сюда выше переданы данные расшифровки
КонецПроцедуры
#КонецОбласти
Пример вывода меню в табличном документе:
ОбработкаДополнительнойРасшифровки (БСП)
ФормаОтчетаОбработкаДополнительнойРасшифровки (БСП)
ФормаОтчетаОбработкаРасшифровки (БСП)
ПриОбработкеДополнительнойРасшифровки (БСП)