ОтработатьПрямойВызов (БСП)

Автор: 1С
ОбщийМодуль.СообщенияРаспределенноеВыполнениеКомандРеализация
БСП

Отработать прямой вызов. Разбирает параметры прямого вызова и запускает выполнение команды в фоновом задании.

// Разбирает параметры прямого вызова и запускает выполнение команды в фоновом задании.
// Важно! Фоновое задание выполняется через механизм очереди.
//
// Параметры:
//	Сообщение - Объект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
///////////////////////////////////////////////////////////////////////////////////////////////////////

Рекомендации

Похожие публикации

ТипПрямойВызов (БСП)

Данные отработанного времени

ОтработатьОповещение (БСП)

Массив видов рабочего времени, отражающих отработанное время

ВернутьРезультат (БСП)

Вызов шаблона в управляемой форме

Вызов формы подбора в управляемой форме

ЭтоВызовИзОбработчикаОбновления (БСП)

ОтработатьПризнакИзмененияПометкиУдаленияПриЗаписиПисьма (БСП)

TurboConf 6 - расширение Конфигуратора 1С