Отработать прямой вызов. Разбирает параметры прямого вызова и запускает выполнение команды в фоновом задании.
// Разбирает параметры прямого вызова и запускает выполнение команды в фоновом задании.
// Важно! Фоновое задание выполняется через механизм очереди.
//
// Параметры:
// Сообщение - ОбъектXDTO - Входящий пакет.
//
// Возвращаемое значение:
// Булево - результат операции (Истина = сообщение отработано)
//
Функция ОтработатьПрямойВызов(Сообщение) Экспорт
Локаль = ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка();
ТелоСообщения = Сообщение.Body;
ПараметрыЗапуска = Новый Массив();
ПараметрыЗапуска.Добавить(ТелоСообщения.Processor_ID);
ПараметрыЗапуска.Добавить(ТелоСообщения.Function);
ПараметрыЗапуска.Добавить(ТелоСообщения.Call_ID);
ПараметрыЗапуска.Добавить(Истина);
ПараметрыЗадания = Новый Структура();
ПараметрыЗадания.Вставить("ОбластьДанных", РаботаВМоделиСервиса.ЗначениеРазделителяСеанса());
ПараметрыЗадания.Вставить("Использование", Истина);
ПараметрыЗадания.Вставить("ЭксклюзивноеВыполнение", Истина);
ПараметрыЗадания.Вставить("ИмяМетода", "РаспределенноеВыполнениеКоманд.ВыполнитьКомандуДополнительнойОбработки");
ПараметрыЗадания.Вставить("Параметры", ПараметрыЗапуска);
ПараметрыЗадания.Вставить("Ключ", Строка(ТелоСообщения.Call_ID));
ПараметрыЗадания.Вставить("ИнтервалПовтораПриАварийномЗавершении", 60);
ПараметрыЗадания.Вставить("КоличествоПовторовПриАварийномЗавершении", 3);
Событие = РаспределенноеВыполнениеКоманд.ИмяСобытияЖурналаРегистрации() + ".";
Событие = Событие + НСтр("ru = 'Задание поставлено в очередь'", Локаль);
Комментарий = НСтр("ru = 'В очередь поставлено выполнение команды %1 (обработка %2, вызов %3).'");
Комментарий = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Комментарий, ТелоСообщения.Processor_ID,
ТелоСообщения.Function, ТелоСообщения.Call_ID);
ЗаписьЖурналаРегистрации(Событие, УровеньЖурналаРегистрации.Информация,,, Комментарий);
ОчередьЗаданий.ДобавитьЗадание(ПараметрыЗадания);
Возврат Истина;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
Массив видов рабочего времени, отражающих отработанное время
Вызов шаблона в управляемой форме
Вызов формы подбора в управляемой форме
ЭтоВызовИзОбработчикаОбновления (БСП)
ОтработатьПризнакИзмененияПометкиУдаленияПриЗаписиПисьма (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)