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