| 
    0
    
        mrOrange1    
       
    
    29.04.21 
            ✎
    09:21 
 | 
         
        В стандартной УНФ есть встроенный чат бот, который запускается из формы настроек "Настройки программы" - "Настройки чат бота".
 
 При нажатии на кнопку активировать срабатывает Процедура "Активировать в коробке".
 
 Как сделать так, чтобы бот запускался при запуске сервера 1С. База серверная?
 
 &НаКлиенте
 Процедура АктивироватьВКоробке(Команда)
 
 Если Модифицированность Тогда
 СохранитьНастройкиЧатБота();
 Модифицированность = Ложь;
 КонецЕсли;
 
 ЧатБотЗапущен = НЕ ЧатБотЗапущен;
 ОбновитьВидимость();
 Если ЧатБотЗапущен Тогда
 ПодключитьОбработчикОжидания("ПроверитьСообщения", 0.1, Истина);
 КонецЕсли;
 
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ПроверитьСообщения()
 
 Если НЕ ЧатБотЗапущен Тогда
 Возврат;
 КонецЕсли;
 
 Если НЕ ФайловаяБаза Тогда
 Возврат;
 КонецЕсли;
 
 ДлительнаяОперация = ЗапуститьЧатБотВФоне();
 Если ДлительнаяОперация = Неопределено Тогда
 Возврат;
 КонецЕсли;
 ПараметрыОжидания = ДлительныеОперацииКлиент.ПараметрыОжидания(ЭтотОбъект);
 ПараметрыОжидания.Вставить("ВыводитьОкноОжидания", Ложь);
 
 ОповещениеОЗавершении = Новый ОписаниеОповещения("ВыполнитьДействиеЗавершение", ЭтотОбъект);
 ДлительныеОперацииКлиент.ОжидатьЗавершение(ДлительнаяОперация, ОповещениеОЗавершении, ПараметрыОжидания);
 
 КонецПроцедуры
 
 &НаКлиенте
 Процедура ВыполнитьДействиеЗавершение(Результат, ДополнительныеПараметры) Экспорт
 
 Если ЧатБотЗапущен Тогда
 ПодключитьОбработчикОжидания("ПроверитьСообщения", 1, Истина);
 КонецЕсли;
 
 КонецПроцедуры
 
 &НаСервере
 Функция ЗапуститьЧатБотВФоне()
 
 ПараметрыОтбора = Новый Структура;
 ПараметрыОтбора.Вставить("ИмяМетода", "ЧатботСервер.ПолучитьСообщенияЧатботаТест");
 ПараметрыОтбора.Вставить("Состояние", СостояниеФоновогоЗадания.Активно);
 МассивФоновыхЗаданий = ФоновыеЗадания.ПолучитьФоновыеЗадания(ПараметрыОтбора);
 Если МассивФоновыхЗаданий.Количество() > 0 Тогда
 Возврат Неопределено;
 КонецЕсли;
 
 ПараметрыВыполнения = Новый Структура;
 ПараметрыВыполнения.Вставить("ОжидатьЗавершение", 0);
 ПараметрыВыполнения.Вставить("НаименованиеФоновогоЗадания", "ПолучитьСообщенияЧатботаТест");
 ПараметрыВыполнения.Вставить("КлючФоновогоЗадания", "");
 ПараметрыВыполнения.Вставить("ЗапуститьНеВФоне", Ложь);
 ПараметрыВыполнения.Вставить("ЗапуститьВФоне", Истина);
 ПараметрыВыполнения.Вставить("БезРасширений", Ложь);
 
 Возврат ДлительныеОперации.ВыполнитьПроцедуру(ПараметрыВыполнения, "ЧатботСервер.ПолучитьСообщенияЧатботаТест");
 
 КонецФункции     
         | 
 |