Имя: Пароль:
1C
1С v8
как быстро и корректно сделать типовой отчет в БП 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".