Имя: Пароль:
1C
 
Запуск отчета по расписанию
0 ДенисСмирнов
 
26.05.26
15:13
Добрый день,

есть внешний отчет на СКД, подключенный в Дополнительные отчеты и обработки.

Нужно программно и по расписанию запускать его на сервере. Его вывод не нужен, но он делает определенные оповещения при определенных событиях, и вот эти оповещения мне и нужны.

Надо сэмитировать открытие отчета и нажатие кнопки Сформировать - это полностью решит задачу

Дополнительных форм нет

Как это можно реализовать?
1 Fish
 
гуру
26.05.26
15:18
Нужно, чтобы оповещения при определённых событиях, создавал не отчёт, а непосредственно события.
2 maxar
 
26.05.26
15:25
(0) если доп форм нет, добавить отчет в рассылку и отправлять себе на почту, если оповещения сделаны в ПриКомпоновкеРезультата - отработают
3 Guk
 
26.05.26
21:52
(0) во всех современных конфигурациях можно запустить отчет/обработку, находящуюся в доп. возможностях, по расписанию, как регламентное задание. в чем проблема?...
4 ДенисСмирнов
 
27.05.26
10:17
(1) чтобы узнать, наступило ли событие, нужно вызвать отчет
5 ДенисСмирнов
 
27.05.26
10:18
(3) как запустить обработку по расписанию я знаю. указать точку входа, что будет запускать сервер.

а как это сделать для отчета, честно говоря не разобрался
6 rozer76
 
27.05.26
11:50
в БСП есть Рассылка отчетов аналогично (2) ПриКомпоновкеРезультата - отработают
7 Vovik
 
28.05.26
08:44
(5) внешняя обработка запускает отчёт. Результат (таблицу) анализируешь и делаешь что надо. Имэйл например шлешь.
8 Vovik
 
28.05.26
08:51
_ОбъектВнешнейОбработки=ДополнительныеОтчетыИОбработкиВызовСервера.ОбъектВнешнейОбработки(ВнешнийОтчетОбработкаДляОткрытияСсылка);
СхемаКомпоновкиДанных=_ОбъектВнешнейОбработки.ПолучитьМакет("ОсновнаяСхемаКомпоновкиДанных");
        
        
ТаблицаПрайса = Новый ТабличныйДокумент;
                
НастройкиКомпоновкиДанных = _ОбъектВнешнейОбработки.КомпоновщикНастроек.ПолучитьНастройки();
                
//ПАРАМЕТРЫ ОТЧЕТА
НастройкиКомпоновкиДанных.ПараметрыДанных.УстановитьЗначениеПараметра("Период", ТекущаяДата());
9 Vovik
 
28.05.26
08:53
КомпоновщикМакета = Новый КомпоновщикМакетаКомпоновкиДанных;
    _МакетОформления = ПолучитьОбщийМакет("ОформлениеОтчетовБежевый");
    НастройкиКомпоновкиДанных.ПараметрыВывода.УстановитьЗначениеПараметра("МакетОформления", _МакетОформления);
        
        
    Макет = КомпоновщикМакета.Выполнить(СхемаКомпоновкиДанных,НастройкиКомпоновкиДанных,,_МакетОформления);
        
        ПроцессорКомпоновки = Новый ПроцессорКомпоновкиДанных;
        ПроцессорКомпоновки.Инициализировать(Макет);
        ПроцессорКомпоновки.Сбросить();
        
        ПроцессорВывода = Новый ПроцессорВыводаРезультатаКомпоновкиДанныхВТабличныйДокумент;
        ПроцессорВывода.УстановитьДокумент(ТаблицаПрайса);
        ПроцессорВывода.НачатьВывод();
        ЭлементРезультата =  ПроцессорКомпоновки.Следующий();
        Пока ЭлементРезультата <> Неопределено Цикл
            ПроцессорВывода.ВывестиЭлемент(ЭлементРезультата);
            ЭлементРезультата = ПроцессорКомпоновки.Следующий();
            
        КонецЦикла;