Версия для печати темы (https://pro1c.org.ua/index.php?s=1bd290a26b4749067da731e23df6cd78&showtopic=66737)

Нажмите сюда для просмотра этой темы в обычном формате

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 _ Программирование в 1С Предприятие 8.3 _ формирование универсальный отчет / построитель отчетов в фоновом задании на сервере

Автор: nikora 22.09.21, 21:47

Появилось необходимость несколько раз на день формировать стандартные отчеты 1с (на базе универсального отчета) и отсылать руководству .
Для снятия нагрузки с пользователей - принято решение формировать данные отчеты по регламентному заданию.
Так как универсальный отчет ограничен #Если Клиент Тогда - их пришлось убрать и оставить только там где это действительно необходимо и все вроде бы хорошо, отчеты формируются но имеют неприглядный вид, так как ПолучитьМакетОформления - доступен только под Толстый клиент, а под Сервер - нет.

Вопрос:
каким образом можно получить ТабличнуюЧасть которая формируется ПолучитьМакетОформления?

Автор: zay 23.09.21, 10:53

Я это решал так: формирую отчеты в режиме клиента
По расписанию (планировщик заданий Windows) запуск 1С с определенным параметром, например /C"CreateReport"
В модуле обычного приложения ПриНачалеРаботыСистемы() вставляем обработчик ПараметрЗапуска. Если в параметрах есть CreateReport, формируем и отправляем отчет
При формировании отчета доступны функции клиента

Автор: nikora 24.09.21, 17:18

zay @ Вчера, 11:53 * ,
благодарен за ответ.
Решил следующим образом (так как постоянно поднимать клиент под пользователем не очень хорошо):
Создал константу с типом ХранилищеЗначений и когда настраиваю отчет из под клиента помещаю туда МакетОформления
После чего при формировании отчетов из под сервера в фоновой задаче (по регламенту) получаю сохраненную настройку, беру из константы МакетОформления и все отлично работает.

Автор: Андрей1992 18.07.22, 14:27

Цитата(nikora @ 24.09.21, 17:18) *
Создал константу с типом ХранилищеЗначений и когда настраиваю отчет из под клиента помещаю туда МакетОформления

Сделал похоже,
1. Получил макет типового оформления через ПолучитьМакетОформления(СтандартноеОформление.Интерфейс).Показать();
2. Создал новый Общий макет "СтандартноеОформлениеИнтерфейс" с типом ТабличныйДокумент, скопировал туда полученный табличный документ
3. В коде выполняемом на сервере использую ПолучитьОбщийМакет("СтандартноеОформлениеИнтерфейс"), вместо ПолучитьМакетОформления(СтандартноеОформление)

Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7
https://pro1c.org.ua