Создание собственного действия в отчете на СКД

1. PavelZnaikin 175 03.04.18 14:40 Сейчас в теме +3 $m
Как в отчете на СКД создать три команды с собственными действиями.
1. По двойному клику на ячейку необходимо прочить всю строку и сделать запись в регистр сведений.
2. Возможность удалить запись из регистра сведений.
3. Отредактировать запись в регистре сведений
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Boneman 298 03.04.18 14:50 Сейчас в теме
(1) да просто контекстное меню у табличного документа выводишь, и свои команды.
А дальше обрабатывай, либо по расшифровке, либо по данным полей отчета.

Расшифровкой можно сделать структуру, содержащую все необходимые данные строки (даже которых визуально в отчете может и не быть). И при обработке ячейки, проверяешь на тип значения этой расшифровки и все.
3. PavelZnaikin 175 03.04.18 15:06 Сейчас в теме
А можете пример с кодом выложить
4. PavelZnaikin 175 03.04.18 22:24 Сейчас в теме
Вот что получилось, но теперь не могу понять, как мне получить значения все строки по которой выполняется мое действие

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

////////////////////////////////////////////////////////////­///////////

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

////////////////////////////////////////////////////////////­/////////////

&НаКлиенте
Функция ЗаписатьВРегистрСведений(Расшифровка)
	
	     Сообщить(111);
	
КонецФункции    

////////////////////////////////////////////////////////////­/////////////

&НаКлиенте
Функция УдалитьИзРегистраСведений(Расшифровка)
	
	   Сообщить(222);

КонецФункции 
Показать

[/1C-CODE]
5. PavelZnaikin 175 04.04.18 23:19 Сейчас в теме
Оставьте свое сообщение

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