|
БСП 3.1.4: Как добавить свою кнопку на панель формы отчета? | ☑ | ||
---|---|---|---|---|
0
conscious
04.08.21
✎
13:30
|
Нужно добавить свою кнопку на форму отчета (рядом со "Сформировать"). Отчет на СКД.
Конфигурация на базе БСП 3.1.4 Добавил свой отчет в конфигурациию, добавил в него свою форму отчета, когда запустил в пользовательском режиме, при нажатии на кнопку "Настройки" формы отчета выдается сообщение об ошибке: Не передан служебный параметр "Настройки отчета". Удалил свою форму отчета из отчета, выбрал в свойствах отчета общую форму "ФормаОтчета" конфигурации. В модуле "ВариантыОтчетовПереопределяемый", в процедуре "НастроитьВариантыОтчетов" попытался вызвать ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера(Настройки, Метаданные.Отчеты.МойОтчет), чтобы в ней попытаться вызвать ОтчетыСервер.ВывестиКоманду Но в эту процедуру даже не заходит выполнение (ставил точку останова). Подскажите, как правильно сделать, плиз. |
|||
1
banco
04.08.21
✎
14:13
|
Всю информацию можно прочитать к документации к БСП и пример посмотреть в демо базе.
В процедуре НастроитьВариантыОтчета ВариантыОтчетов.ОписаниеОтчета(Настройки, Метаданные.Отчеты.ТвойОтчет).ОпределитьНастройкиФормы = Истина; в модуле отчета Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт Настройки.События.ПриСозданииНаСервере = Истина; КонецПроцедуры Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт ТвояКоманда = Форма.Команды.Добавить("названиекоманды"); ТвояКоманда.Действие = "Подключаемый_Команда"; ТвояКоманда.заголовок = "Заголовок"; Форма.ПостоянныеКоманды.Добавить(ТвояКоманда.Имя); ТвояКнопка= Форма.Элементы.Добавить(ТвояКоманда .Имя, Тип("КнопкаФормы"), Форма.Элементы.ГруппаПрограммныйИнтерфейс); ТвояКнопка.ИмяКоманды = ТвояКоманда .Имя; ТвояКнопка.ТолькоВоВсехДействиях = Ложь; КонецПроцедуры |
|||
2
conscious
04.08.21
✎
14:55
|
(1) Странно, но отладчик так и не останавливается в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов(). Т.е., выполнение туда не заходит.
|
|||
3
conscious
04.08.21
✎
15:02
|
(2) Заработало после запуска обновления вспомогательных данных.
(1) Большое спасибо! |
|||
4
xaozai
05.08.21
✎
09:57
|
(1) А не могли бы дать ссылку на статью ИТС, где вот это всё описано?
|
|||
5
banco
05.08.21
✎
09:59
|
||||
6
xaozai
05.08.21
✎
10:07
|
(5) Я имел ввиду непосредственно по теме этой ветке. Где там описано, как события переопределять (ПриСозданииНаСервере), про ОпределитьНастройкиФормы, как действие команды описывается?
|
|||
7
banco
05.08.21
✎
10:19
|
(6) https://its.1c.ru/db/bsp315doc#content:4:1:issogl3_установить_настройки_формы_отчета
События – Структура – события, для которых определены обработчики в модуле объекта отчета (обработчики событий рекомендуется определять в области ПрограммныйИнтерфейс, после процедуры ОпределитьНастройкиФормы): ПриСозданииНаСервере – если установить в значение Истина, то в модуле объекта отчета следует определить процедуру ПриСозданииНаСервере по шаблону: // Вызывается в обработчике одноименного события формы отчета после выполнения кода формы. // // Параметры: // Форма - ФормаКлиентскогоПриложения - Форма отчета. // Отказ - Булево - Признак отказа от создания формы. // См. описание одноименного параметра "ФормаКлиентскогоПриложения.ПриСозданииНаСервере" в синтакс-помощнике. // СтандартнаяОбработка - Булево - Признак выполнения стандартной (системной) обработки события. // См. описание одноименного параметра "ФормаКлиентскогоПриложения.ПриСозданииНаСервере" в синтакс-помощнике. // // См. также: // Процедура для вывода добавленных команд в форму: ОтчетыСервер.ВывестиКоманду(). // Глобальный обработчик этого события: ОтчетыПереопределяемый.ПриСозданииНаСервере(). // // Пример добавления команды: // Команда = Форма.Команды.Добавить("<ИмяКоманды>"); // Команда.Действие = "Подключаемый_Команда"; // Команда.Заголовок = НСтр("ru = '<Представление команды...>'"); // ОтчетыСервер.ВывестиКоманду(Форма, Команда, "<ВидГруппы>"); // Обработчик команды пишется в процедуре ОтчетыКлиентПереопределяемый.ОбработчикКоманды. // Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт // Обработка события. КонецПроцедуры |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |