#27 Меню обработки дополнительной расшифровки в табличном документе (не СКД)

Дата: 29.10.2025 16:17:50
Расшифровка
ТабличныйДокумент
Меню
ОбработкаРасшифровки
ОбработкаДополнительнойРасшифровки
Комментарий:
0
Конфигурация:
Любая
Формы:
Управляемые
Описание:

Пример работы с расшифровкой и дополнительной расшифровкой. Выводит меню (контекстное по правой кнопке мыши) для дополнительной расшифровки табличного документа.

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

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

Укажите в макете ПараметрРасшифровки

Укажите в макете ПараметрРасшифровки

Пример вывода меню в табличном документе:

Пример вывода меню в табличном документе:
Код:
                        #Область ОбработчикиСобытийФормы  

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

#КонецОбласти

#Область ОбработчикиСобытийЭлементовТабличногоДокумента   

// Сюда мы попадаем при двойном клике левой кнопки мыши
&НаКлиенте
Процедура ТабДокОбработкаРасшифровки(Элемент, Расшифровка, СтандартнаяОбработка, ДополнительныеПараметры)  
	СтандартнаяОбработка = Ложь; 
	// Далее код обработки расшифровки, значение которой находится в переменной Расшифровка
КонецПроцедуры  

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

#КонецОбласти

#Область СлужебныеПроцедурыИФункции  

&НаКлиенте
Процедура ОписаниеОповещенияОЗакрытии(ВыбранныйЭлемент, ДополнительныеПараметры) Экспорт   

	// ВыбранныйЭлемент примет значение списка значений
	// Открыть, Добавить, Удалить, которые мы задали ранее
	// или Неопределено в случае отказа от выбора   
	
	// ДополнительныеПараметры сюда выше переданы данные расшифровки
	
КонецПроцедуры

#КонецОбласти
                    

Станьте частью сообщества!
Войдите или зарегистрируйтесь, и вы сможете участвовать в обсуждениях.


1c-only | Фриланс © 2025