ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЗавершениеДлительнойОперации (БСП)

Автор: 1С
ОбщийМодуль.ОбменДаннымиСервер
БСП

Выполнить обмен данными для узла информационной базы завершение длительной операции. Выполняет получение файла сообщения обмена из базы-корреспондента через веб-сервис.

// Выполняет получение файла сообщения обмена из базы-корреспондента через веб-сервис.
// Выполняет загрузку полученного файла сообщения обмена в эту базу.
//
// Параметры:
//  Отказ                   - Булево - флаг отказа; поднимается в случае возникновения ошибки.
//  УзелИнформационнойБазы  - ПланОбменаСсылка - узел плана обмена, для которого выполняется получение сообщения обмена.
//  ИдентификаторФайла      - УникальныйИдентификатор - Идентификатор файла.
//  ДатаНачалаОперации      - Дата - Дата начала загрузки.
//  ПараметрыАутентификации - Структура. Содержит параметры аутентификации на веб-сервисе (Пользователь, Пароль).
//
Процедура ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЗавершениеДлительнойОперации(
															Отказ,
															Знач УзелИнформационнойБазы,
															Знач ИдентификаторФайла,
															Знач ДатаНачалаОперации,
															Знач ПараметрыАутентификации = Неопределено,
															ВыдаватьОшибку = Ложь) Экспорт
	
	ПроверитьВозможностьВыполненияОбменов();
	
	ПроверитьИспользованиеОбменаДанными();
	
	УстановитьПривилегированныйРежим(Истина);
	
	Попытка
		ФайлСообщенияОбмена = ПолучитьФайлИзХранилищаВСервисе(Новый УникальныйИдентификатор(ИдентификаторФайла), УзелИнформационнойБазы,, ПараметрыАутентификации);
	Исключение
		ЗафиксироватьЗавершениеОбменаСОшибкой(УзелИнформационнойБазы,
			Перечисления.ДействияПриОбмене.ЗагрузкаДанных,
			ДатаНачалаОперации,
			ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		Если ВыдаватьОшибку Тогда
			ВызватьИсключение;
		Иначе
			Отказ = Истина;
		КонецЕсли;
		Возврат;
	КонецПопытки;
	
	// Загрузка файла сообщения обмена в эту базу.
	ПараметрыОбменаДанными = ПараметрыОбменаДаннымиЧерезФайлИлиСтроку();
	
	ПараметрыОбменаДанными.УзелИнформационнойБазы        = УзелИнформационнойБазы;
	ПараметрыОбменаДанными.ПолноеИмяФайлаСообщенияОбмена = ФайлСообщенияОбмена;
	ПараметрыОбменаДанными.ДействиеПриОбмене             = Перечисления.ДействияПриОбмене.ЗагрузкаДанных;
	ПараметрыОбменаДанными.ДатаНачалаОперации            = ДатаНачалаОперации;
	
	Попытка
		ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСтроку(ПараметрыОбменаДанными);
	Исключение
		ЗафиксироватьЗавершениеОбменаСОшибкой(УзелИнформационнойБазы,
			Перечисления.ДействияПриОбмене.ЗагрузкаДанных,
			ДатаНачалаОперации,
			ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
		Если ВыдаватьОшибку Тогда
			ВызватьИсключение;
		Иначе
			Отказ = Истина;
		КонецЕсли;
	КонецПопытки;
	
	Попытка
		УдалитьФайлы(ФайлСообщенияОбмена);
	Исключение
		ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииОбменДанными(),
			УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
	КонецПопытки;
	
КонецПроцедуры

///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются 
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////

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

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

ВыполнитьОбновлениеИнформационнойБазыВФоне (БСП)

ПолучитьСообщениеОбменаВоВременныйКаталогИзИнформационнойБазыКорреспондентаЧерезВебСервисЗавершениеДлительнойОперации (БСП)

ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы (БСП)

СостояниеДлительнойОперацииДляУзлаИнформационнойБазы (БСП)

ВыполнитьОбменДаннымиДляУзлаИнформационнойБазыЧерезФайлИлиСтроку (БСП)

ВыполнитьОбменДаннымиДляУзлаИнформационнойБазы (БСП)

ВыполнитьВыгрузкуДляУзлаИнформационнойБазы (БСП)

СостоянияОбменовДаннымиДляУзлаИнформационнойБазы (БСП)

НастройкиОбменаДляУзлаИнформационнойБазы (БСП)

1С Менеджер конфигураций