|
как быстро и корректно сделать типовой отчет в БП 3 внешним |
☑ |
0
breakthrough
02.12.14
✎
14:28
|
Собственно поясню в чем загвоздка.
Беру отчет, к примеру "Книга покупок", выгружаю его из конфигурации.
В отчете мне ,например, нужно изменить вывод в макет: подвал, шапка и т.п - это не столь важно. При этом ,я хочу сохранить выполнение формирования отчета в фоне.
Но! Из команды "сформировать" через вызов фонового задания идет обращение к процедуре УчетНДСПереопределяемый.ПодготовитьПараметрыКнигиПокупок, а далее к процедурам Менеджера объекта СформироватьОтчет() и т.д.
А вывод в макет как раз находится именно в процедурах менеджера объекта. Вопрос: Как правильней создавать копию объекта, свой общий модуль? Или обходится без фоновых заданий во внешних обработках(отчетах)?
Или есть другой путь?
Спасибо за внимание!
|
|
1
breakthrough
02.12.14
✎
14:30
|
Быстро печатал. Вот главный вопрос топика:
Как правильней делать: Создавать копию объекта, свой общий модуль или обходиться без фоновых заданий во внешних обработках(отчетах)?
|
|
2
breakthrough
02.12.14
✎
14:32
|
Разумеется конфигурация типовая. Вносить изменения в типовые объекты не буду)
|
|
3
Барматолог
02.12.14
✎
14:36
|
перенести процедуры менеджера в модуль объекта внешнего отчета?
|
|
4
breakthrough
02.12.14
✎
14:38
|
(3) И как к ним обратиться потом чтобы они выполнялись в фоне?
|
|
5
breakthrough
02.12.14
✎
14:45
|
Вообще вот эта конструкция имеет смысл во внешней обработке?
Если ИБФайловая Тогда
АдресХранилища = ПоместитьВоВременноеХранилище(Неопределено, УникальныйИдентификатор);
УчетНДСПереопределяемый.ПодготовитьПараметрыКнигиПокупок(ПараметрыОтчета, АдресХранилища);
РезультатВыполнения = Новый Структура("ЗаданиеВыполнено", Истина);
Иначе
РезультатВыполнения = ДлительныеОперации.ЗапуститьВыполнениеВФоне(
УникальныйИдентификатор,
"УчетНДСПереопределяемый.ПодготовитьПараметрыКнигиПокупок",
ПараметрыОтчета,
БухгалтерскиеОтчетыКлиентСервер.ПолучитьНаименованиеЗаданияВыполненияОтчета(ЭтаФорма));
ИдентификаторЗадания = РезультатВыполнения.ИдентификаторЗадания;
АдресХранилища = РезультатВыполнения.АдресХранилища;
КонецЕсли;
Или можно напрямую к процедурам объекта обращаться сразу?
|
|
6
elCust
02.12.14
✎
15:01
|
Правильнее - создать свой модуль функционала отчета, а вывод подключить к стандартному блоку ФЗ.
|
|
7
breakthrough
02.12.14
✎
15:06
|
(6) Спасибо.Да, видимо только так. Хотя, столько геморроя ради внешнего отчета. Проще вообще тогда фоновые задания не использовать в них.
|
|
8
elCust
02.12.14
✎
15:11
|
(7) Все зависит от длительности операции. Особенно книга. Может формироваться долго.
|
|
9
breakthrough
02.12.14
✎
15:14
|
(8) Как раз это и послужило поводом для размышлений) Рад, что помогли расставить все точки над "i".
|
|
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший