Подготовить данные. Обработчик задания очереди заданий.
// Обработчик задания очереди заданий.
//
// Параметры:
// ИдентификаторДанных - Строка - идентификатор данных, которые нужно получить.
// ИдентификаторПараметров - УникальныйИдентификатор - идентификатор файла параметров получения данных.
//
Процедура ПодготовитьДанные(ИдентификаторДанных, ИдентификаторПараметров) Экспорт
Словарь = АсинхронноеПолучениеДанныхСловарь;
ОчередьСловарь = ОчередьЗаданийВнешнийИнтерфейсСловарь;
Параметры = ФайлыОбластейДанных.ДвоичныеДанныеФайла(ИдентификаторПараметров);
КлючЗадания = КлючЗаданияПодготовкиДанных(ИдентификаторДанных, ИдентификаторПараметров);
ИдентификаторЗадания = ОчередьЗаданийВнешнийИнтерфейс.ИдентификаторЗадания(КлючЗадания);
Попытка
ВозвращаемыеДанные = ДоступныеВозвращаемыеДанные();
ПараметрыВозвращаемыхДанных = ВозвращаемыеДанные.Получить(ИдентификаторДанных);
Если ПараметрыВозвращаемыхДанных = Неопределено Тогда
Свойства = РегистрыСведений.СвойстваЗаданий.НовыйСвойстваЗадания();
Свойства.КодСостояния = ОчередьСловарь.КодСостоянияНеНайдено();
РегистрыСведений.СвойстваЗаданий.Установить(ИдентификаторЗадания, Свойства);
Возврат;
КонецЕсли;
МенеджерДанных = ПараметрыВозвращаемыхДанных.МодульМенеджер;
Свойства = РегистрыСведений.СвойстваЗаданий.НовыйСвойстваЗадания();
Свойства.КодСостояния = ОчередьСловарь.КодСостоянияВыполнено();
Данные = МенеджерДанных.ВозвращаемыеДанные(ИдентификаторДанных, Параметры,
Свойства.КодСостояния, Свойства.Ошибка, Свойства.СообщениеОбОшибке);
Если ЗначениеЗаполнено(Данные) Тогда
ИдентификаторРезультата = ФайлыОбластейДанных.ЗагрузитьФайл(ИдентификаторДанных, Данные,,, Истина);
Результат = Новый Структура;
Результат.Вставить(Словарь.ПолеХранилище(), ФайлыОбластейДанных.ИдентификаторХранилища());
Результат.Вставить(Словарь.ПолеИдентификатор(), Строка(ИдентификаторРезультата));
Свойства.Результат = РаботаВМоделиСервисаБТС.СтрокаИзСтруктурыJSON(Результат);
КонецЕсли;
РегистрыСведений.СвойстваЗаданий.Установить(ИдентификаторЗадания, Свойства);
Если Свойства.КодСостояния <> ОчередьЗаданийВнешнийИнтерфейсСловарь.КодСостоянияОжидание() Тогда
ФайлыОбластейДанных.УстановитьПризнакВременного(ИдентификаторПараметров);
КонецЕсли;
Исключение
ОчередьЗаданийВнешнийИнтерфейс.УстановитьВнутреннююОшибку(
ИдентификаторЗадания, КраткоеПредставлениеОшибки(ИнформацияОбОшибке()));
ВызватьИсключение ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
КонецПопытки
КонецПроцедуры
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
ПодготовитьДанныеДляВыгрузкиИзИнформационнойБазы (БСП)
ПодготовитьИПрикрепитьОбластьДанных (БСП)
ПодготовитьОбластьИзВыгрузки (БСП)
ПодготовитьОбластьДанныхКИспользованиюИзЭталонной (БСП)
ПодготовитьОбластьДанныхКИспользованию (БСП)
ПодготовитьДанныеДляСозданияФайловогоНачальногоОбраза (БСП)
ПодготовитьДанныеДляСозданияСерверногоНачальногоОбраза (БСП)