Формирование внешнего отчета в фоне

0. partizand 77 07.08.19 18:30 Сейчас в теме
Принципы формирования внешнего отчета в фоновом режиме. Используя стандартную форму отчета БСП или свою. Вопросы передачи параметров от команды внешнего отчета в фоновом процессе к ожидающей завершения процедуре формы.

Перейти к публикации

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. ids79 5789 08.08.19 08:55 Сейчас в теме
А как быть с данными расшифровки. Вы уверены, что они будут корректно заполнены при фоновом формировании с использованием своей формы?
4. partizand 77 08.08.19 11:26 Сейчас в теме
(1) Если вы про механизмы СКД, то не уверен. Пока не понимаю СКД досконально.
Процедуры формирования брал с упомянутой мной статьи Пример формирования внешнего отчета программно и в фоновом режиме. Насколько я понимаю механизм работы идентичный.
Беглым ознакомлением нашёл эту статью: https://infostart.ru/public/542223/
По итогу, необходимо будет добавить событие обработки расшифровки. Данные расшифровки возвращаются из фоновой процедуры.
Попробую допилить реализацию. Спасибо за замечание.
10. ids79 5789 08.08.19 22:07 Сейчас в теме
(4)Вообще, данные расшифровки, это реквизит формы отчета, который связан с одноименным параметром формы. Во время стандартной компоновки в него передается адрес на временное хранилище с данными расшифровки. В этом случае, обработка расшифровки работает автоматически. В вашем случае, очень может быть, что придется обрабатывать событие расшифровки табличного поля самостоятельно.
11. partizand 77 09.08.19 11:30 Сейчас в теме
(10) Исправил по вашим замечаниям. Так работает лучше.
Самостоятельно обрабатывать не надо, просто по окончании программного формирования помещаем ДанныеРасшифровки в хранилище.

Спасибо. После экспериментов, удаляя лишние реквизиты, удалил и ДанныеРасшифровки, не понимая зачем они :)
12. ids79 5789 09.08.19 13:21 Сейчас в теме
2. dsdred 1482 08.08.19 09:15 Сейчас в теме
Бегло посмотрел, такое ощущение что чего то не хватает...

П.С. Проще с БСП с ФормыОтчета выдрать один раз и сохранить шаблон.
3. partizand 77 08.08.19 10:49 Сейчас в теме
(2) Может чего-то и не хватает, могу ошибаться

На мой взгляд брать код из формы БСП некорректно. Форма БСП использует внутренний интерфейс БСП, который меняется без предупреждения (он не для вас по сути). Ну и понимание никто не отменял.
5. dsdred 1482 08.08.19 12:12 Сейчас в теме
(3)Я имею ввиду выдрать ту часть что завязана на Длительных операциях (ФЗ)
У меня выдран и я часто просто копи паст делаю.

Сначала делаю код, тестирую, а потом добавляю часть из готового шаблона которая его в ФЗ запускает.
Если в базе БСП нет тогда пишу запуск фонового задания не через длительные операции.
8. partizand 77 08.08.19 13:49 Сейчас в теме
(5) Да, можно и так, согласен
Если у меня есть время, почему бы и не поковыряться :)
По моему опыту копипаст обычно все-равно заканчивается разбором и пониманием, т.к. часто перестаёт работать.
Длительные операции БСП в принципе не сложны для реализации, всего 3 функции. Пример в описании самой процедуры ДлительныеОперации.ВыполнитьВФоне
6. buganov 154 08.08.19 12:26 Сейчас в теме
А чем на кнопке Сформитровать не понравилось "ЭтаФорма.СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый);" ?
7. buganov 154 08.08.19 12:29 Сейчас в теме
Если честно, я не совсем понял статью.
1. Не создать форму внешнего отчета, будет открыта форма отчета конфигурации или платформенная, которая формирует отчет в фоне.
2. Для чего здесь нужна БСП, если все формируется одной строкой?
9. partizand 77 08.08.19 14:11 Сейчас в теме
(7)
1. Форма отчета БСП не всегда формирует в фоне. Причины я нашёл в коде БСПшной формы и описал в статье, т.к. этот момент нигде не освещён (или я не нашёл). Вдруг кому пригодится.
Платформенная форма, насколько я понимаю, в фоне отчет не формирует. Или ошибаюсь?
2. Например, расшифровка не работает. И не известны условия формирования в фоне (для меня).

БСП не обязательно, конечно. Отчёт писался для реальной базы БП, где присутствует БСП и используется БСПшная форма отёта (см. п.1). Вариант 2 в статье родился из дальнейшего интереса к теме, что бы закрыть вопрос фонового формирования отчётов. И заодно так же будут работать фоновые обработки.

Было бы интересно сформулировать 3 вариант фонового формирования отчёта в вашем примере (одной строкой), я бы добавил в статью. Если вы имеете в виду создание своей формы и формирование по СкомпоноватьРезультат(РежимКомпоновкиРезультата.Фоновый), то будем считать это реализованным в варианте 2 :)
13. 7OH 32 15.11.19 12:41 Сейчас в теме
Искал причину формирования отчетов, которые не в составе конфигурации, не в фоне.
Оказалось банально - в общей форме отчета

ФоновоеЗаданиеЗапустить(ФормированиеПриОткрытии, НастройкиОтчета.Внешний Или НастройкиОтчета.Безопасный);


убрать лишнюю проверку (расширением, своей формой, непосредственно - на своё усмотрение).
14. user621646_elena-2509 24.12.19 20:44 Сейчас в теме
partizand, Скопировала приведенный Вами код в новый внешний отчет, но почему-то зависает на формировании и ничего не выводит.
Оставьте свое сообщение
Вопросы с вознаграждением
Help!  0.19 $m Dev