К списку форумов К списку тем
Регистрация    Правила    Главная форума    Поиск   
Имя: Пароль:
Рекомендовать в новости

УНФ Типовая Как сделать запуск фонового задания через регламентные операции?

Гость
0 - 29.04.2021 - 09:24
В стандартной УНФ есть встроенный чат бот, который запускается из формы настроек "Настройки программы" - "Настройки чат бота".

При нажатии на кнопку активировать срабатывает Процедура "Активировать в коробке".

Как сделать так, чтобы бот запускался при запуске сервера 1С. База серверная.

&НаКлиенте
Процедура АктивироватьВКоробке(Команда)

Если Модифицированность Тогда
СохранитьНастройкиЧатБота();
Модифицированность = Ложь;
КонецЕсли;

ЧатБотЗапущен = НЕ ЧатБотЗапущен;
ОбновитьВидимость();
Если ЧатБотЗапущен Тогда
ПодключитьОбработчикОжидания("ПроверитьСообщения", 0.1, Истина);
КонецЕсли;

КонецПроцедуры

&НаКлиенте
Процедура ПроверитьСообщения()

Если НЕ ЧатБотЗапущен Тогда
Возврат;
КонецЕсли;

Если НЕ ФайловаяБаза Тогда
Возврат;
КонецЕсли;

ДлительнаяОперация = ЗапуститьЧатБотВФоне();
Если ДлительнаяОперация = Неопределено Тогда
Возврат;
КонецЕсли;
ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъ ект);
ПараметрыОжидания.Вставить("ВыводитьОкноОжидания", Ложь);

ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьДействиеЗавершение", ЭтотОбъект);
ДлительныеОперацииКлиент.ОжидатьЗавершение(Длитель наяОперация, ОповещениеОЗавершении, ПараметрыОжидания);

КонецПроцедуры

&НаКлиенте
Процедура ВыполнитьДействиеЗавершение(Результат, ДополнительныеПараметры) Экспорт

Если ЧатБотЗапущен Тогда
ПодключитьОбработчикОжидания("ПроверитьСообщения", 1, Истина);
КонецЕсли;

КонецПроцедуры

&НаСервере
Функция ЗапуститьЧатБотВФоне()

ПараметрыОтбора = Новый Структура;
ПараметрыОтбора.Вставить("ИмяМетода", "ЧатботСервер.ПолучитьСообщенияЧатботаТест");
ПараметрыОтбора.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
МассивФоновыхЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыОтб ора);
Если МассивФоновыхЗаданий.Количество() > 0 Тогда
Возврат Неопределено;
КонецЕсли;

ПараметрыВыполнения = Новый Структура;
ПараметрыВыполнения.Вставить("ОжидатьЗавершение", 0);
ПараметрыВыполнения.Вставить("НаименованиеФонового Задания", "ПолучитьСообщенияЧатботаТест");
ПараметрыВыполнения.Вставить("КлючФоновогоЗадания" , "");
ПараметрыВыполнения.Вставить("ЗапуститьНеВФоне", Ложь);
ПараметрыВыполнения.Вставить("ЗапуститьВФоне", Истина);
ПараметрыВыполнения.Вставить("БезРасширений", Ложь);

Возврат ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВып олнения, "ЧатботСервер.ПолучитьСообщенияЧатботаТест");



1 - 30.04.2021 - 08:56
как вариант, сделать доп. обработку, которая будет работать как регламентное задание по расписанию


К списку вопросов






Copyright ©, Все права защищены