Имя: Пароль:
1C
 
Событие ОбработкаРасшифровки с использованием ФормаОтчета БСП
0 Chonguk228
 
06.05.26
13:28
Всем привет, у меня есть отчет в расширении на СКД, он включен добавлен в подсистему вариантов отчета (т.е. в модуле объекта у меня теперь есть событие ПриСозданииНаСервере)

Задача: необходимо, чтобы по двойному клику по ячейке открывался присоединенный файл (т.е. не просто форма элемента, а именно код выполнялся). Как я понял, за это отвечает событие ОбрабоктаРасшифровки

Однако, как мне его добавить в модуль объекта отчета? Чтобы прописать свою логику расшифровки

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда

#Область ОписаниеПеременных

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

#Область ПрограммныйИнтерфейс

#Область ДляВызоваИзДругихПодсистем

// СтандартныеПодсистемы.ВариантыОтчетов

// Задать настройки формы отчета.
//
// Параметры:
//   Форма - ФормаКлиентскогоПриложения
//         - Неопределено
//   КлючВарианта - Строка
//                - Неопределено
//   Настройки - см. ОтчетыКлиентСервер.НастройкиОтчетаПоУмолчанию
//
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
    
    Настройки.События.ПриСозданииНаСервере = Истина;                                                        
    
КонецПроцедуры


В этой процедуре в соыбтиях нету "ОбработкаРасшифровки", упоминание ее увидел в ОтчетыКлиентПереопределяемый
1 Chonguk228
 
06.05.26
13:35
Т.е. сложность именно в том, чтобы не создавать свою форму отчета, а использовать бспшную ФормаОтчета
2 Мультук
 
гуру
06.05.26
13:54
(0)

ИМХО

1) Смотрим свойства общего модуля "ОтчетыКлиентПереопределяемый".

Клиент = Истина.

Это и логично, ибо будут действия опять же "на клиенте" (ОткрытьФорму и т.п.).

2) Смотрим сюда

#Если Сервер Или ТолстыйКлиентОбычноеПриложение Или ВнешнееСоединение Тогда


И понимаем, что в модуль объекта отчёта, то что вы хотите засунуть не выйдет.

3) Я бы в расширении "расширил" ОтчетыКлиентПереопределяемый.ОбработкаРасшифровки(..)
Дописав своё нужное.

Своё нужное см пример из ОтчетыУТКлиентПереопределяемый.ОбработкаРасшифровки(..),
там определены расшифровки для кучи отчётов.


И всё на этом.
3 Chonguk228
 
06.05.26
13:58
(2) гений, а ведь и вправду, спасибо большое!
\
4 Chonguk228
 
06.05.26
23:30
сделал также, о чем писали в (2). В общем модуле ОтчетыКлиентПереопределяемый захватил процедуру ОбработкаРасшифровки в расширении (аннотация &После), и в этой процедуре, ориентируюсь по полному имени отчета (ФормаОтчета.НастройкиОтчета.ПолноеИмя)
Это и единственный вариант в целом
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший