БСП 2.4.4. Общая форма отчета. Добавить свои команды на панель формы отчета

1. naa1c 79 04.06.18 18:06 Сейчас в теме
БСП 2.4.4. Подсистема ВариантыОтчетов
По возможности стараемся использовать общую форму ФормаОтчета для отчетов.
Ситуация: надо на форму отчета добавить свою команду, ну и обработчик для нее само собой.
События штатный механизм позволяет доопределять, а как добавить в общую форму свою команду и обработчик?
Или нет такой возможности?
Ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
10. user633020_stepanov1c 05.05.21 18:04 Сейчас в теме
(1) можешь поделиться более полным вариантом решения?
2. swimdog 765 05.06.18 01:26 Сейчас в теме
Очень давно смотрел этот вопрос. На тот момент добавить не получилось. Пришлось в свой отчет вставлять общую форму и в ней добавлять.
3. VmvLer 05.06.18 09:07 Сейчас в теме
по-моему взлетит только через расширение.

в подобных случаях(кроме расширения) мне приходилось писать свою форму отчета с фоновым исполнением и "запиливать" открытие типовой формы(не заглушки в общих формах, а именно полноценной формы настроек в общих формах) настроек в которой любимые пользователями отборы из буфера и т.п..

Работенки первый раз было много - потом уже тираж: свои формы отчета с блек-джеком и женщинами низкой соцответственности + фоновое исполнение(бсп) + типовая форма настроек из общих форм(бсп).
4. starik-2005 3036 05.06.18 10:08 Сейчас в теме
А чем не нравится использование экспортной процедуры модуля отбъекта отчета "ПриСозданииНаСервере"? В ней можете добавлять любые команды и, предположу, к ним можно прибиндить какие-нибудь обработчики...
5. naa1c 79 05.06.18 10:24 Сейчас в теме
(4) Угу. Уже так и сделали)
7. Darklight 32 08.02.19 10:32 Сейчас в теме
(5)Очень интересно, что Вы сделали, ведь всё не так просто - смотрите мой пост (6) выше.
8. naa1c 79 08.02.19 15:15 Сейчас в теме
(7) БСП позволяет переопределить события формы для общей формы отчета конкретного отчета.
В данном случае для ПриСозданииНаСервере добавляем свою кнопку через ОтчетыСервер.ВывестиКоманду
для обработчиков команд используем общие модули (клиент или вызов сервера в зависимости от необходимости)
9. naa1c 79 08.02.19 15:24 Сейчас в теме
+ (8)
* в ВариантыОтчетовПереопределяемый.НастроитьВариантыОтчетов() добавляем вызов ВариантыОтчетов.НастроитьОтчетВМодулеМенеджера для нужного отчета
* в модуль менеджера отчета добавляем
Процедура НастроитьВариантыОтчета(Настройки, НастройкиОтчета) Экспорт
НастройкиОтчета.ОпределитьНастройкиФормы = Истина;
КонецПроцедуры
* в модуль объекта отчета
Процедура ОпределитьНастройкиФормы(Форма, КлючВарианта, Настройки) Экспорт
Настройки.События.ПриСозданииНаСервере = Истина;
КонецПроцедуры
* в модуль объекта отчета
Процедура ПриСозданииНаСервере(Форма, Отказ, СтандартнаяОбработка) Экспорт
// Тут добавляем команду через ОтчетыСервер.ВывестиКоманду
КонецПроцедуры
* получаем в процедуре-обработчике команды параметры ФормаОтчета типа УправляемаяФорма и Команда типа КомандаФормы
exzod; pyrkin_vanya; PigMey; +3 Ответить
6. Darklight 32 08.02.19 10:31 Сейчас в теме
(4)Прибиндить конечно можно! Но что? Можно же обработчиком команды назначить только клиентскую процедуру в форме. Есть типовая процедура в типовой форме отчета "Подключаемый_Команда" - позволяющая обрабатывать события любых команд. Но что толку. Она может либо вызывать через кривожопное "ОписаниеОповещения" другую процедуру из формы, общего модуля или общей команды. Либо вызывать предопределённую (пустую) процедуру общего модуля "ОтчетыКлиентПереопределяемый.ОбработчикКоманды". Но всё это лишь клиентский контекст. А у таких отчетов, весь основной функционал сосредоточен в модуле объекта (ну просто больше негде, если это к тому же ещё и внешний отчет) а он, доступен только в серверном контексте (в который, сохранением контекста объекта отчета вне формы отчета перейти очень "сложно и через одно место"; ну что поделаешь, с архитекторами платформы у компании 1С полная беда) и, вот тут то вся загвоздка: использование процедуры "Подключаемый_Команда" никак не позволяет обратиться к модулю объекта отчета (не внося изменений в саму конфигурацию и не назначая отчету свою форму) - как говорится ПРИЕХАЛИ! Ну или я ни черта не понимаю как работать с отчетами в управляемом приложении.

Придётся, всё-таки, свою форму отчету назначать.
Оставьте свое сообщение

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