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

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

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

// Возвращает структуру с данными последнего обмена для заданного узла информационной базы.
//
// Параметры:
//  Нет.
// 
// Возвращаемое значение:
//  СостоянияОбменовДанными - Структура - структура с данными последнего обмена для заданного узла информационной базы.
//
Функция СостоянияОбменовДаннымиДляУзлаИнформационнойБазы(Знач УзелИнформационнойБазы) Экспорт
	
	УстановитьПривилегированныйРежим(Истина);
	
	// Возвращаемое значение функции.
	СостоянияОбменовДанными = Новый Структура;
	СостоянияОбменовДанными.Вставить("УзелИнформационнойБазы");
	СостоянияОбменовДанными.Вставить("РезультатЗагрузкиДанных", "Неопределено");
	СостоянияОбменовДанными.Вставить("РезультатВыгрузкиДанных", "Неопределено");
	
	ТекстЗапроса = "
	|// {ЗАПРОС №0}
	|////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
	|	ТОГДА ""Успех""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
	|	ТОГДА ""ВыполненоСПредупреждениями""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
	|	ТОГДА ""Предупреждение_СообщениеОбменаБылоРанееПринято""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения)
	|	ТОГДА ""Ошибка_ТранспортСообщения""
	|	
	|	ИНАЧЕ ""Ошибка""
	|	
	|	КОНЕЦ КАК РезультатВыполненияОбмена
	|ИЗ
	|	РегистрСведений.[СостоянияОбменовДанными] КАК СостоянияОбменовДанными
	|ГДЕ
	|	  СостоянияОбменовДанными.УзелИнформационнойБазы = &УзелИнформационнойБазы
	|	И СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
	|;
	|// {ЗАПРОС №1}
	|////////////////////////////////////////////////////////////////////////
	|ВЫБРАТЬ
	|	ВЫБОР
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
	|	ТОГДА ""Успех""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
	|	ТОГДА ""ВыполненоСПредупреждениями""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
	|	ТОГДА ""Предупреждение_СообщениеОбменаБылоРанееПринято""
	|	
	|	КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения)
	|	ТОГДА ""Ошибка_ТранспортСообщения""
	|	
	|	ИНАЧЕ ""Ошибка""
	|	КОНЕЦ КАК РезультатВыполненияОбмена
	|	
	|ИЗ
	|	РегистрСведений.[СостоянияОбменовДанными] КАК СостоянияОбменовДанными
	|ГДЕ
	|	  СостоянияОбменовДанными.УзелИнформационнойБазы = &УзелИнформационнойБазы
	|	И СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
	|;
	|";
	
	Если ОбщегоНазначения.РазделениеВключено()
		И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[СостоянияОбменовДанными]", "СостоянияОбменовДаннымиОбластейДанных");
	Иначе
		ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[СостоянияОбменовДанными]", "СостоянияОбменовДанными");
	КонецЕсли;
	
	Запрос = Новый Запрос;
	Запрос.Текст = ТекстЗапроса;
	Запрос.УстановитьПараметр("УзелИнформационнойБазы", УзелИнформационнойБазы);
	
	МассивРезультатовЗапроса = Запрос.ВыполнитьПакет();
	
	ВыборкаРезультатовЗагрузкиДанных = МассивРезультатовЗапроса[0].Выбрать();
	ВыборкаРезультатовВыгрузкиДанных = МассивРезультатовЗапроса[1].Выбрать();
	
	Если ВыборкаРезультатовЗагрузкиДанных.Следующий() Тогда
		
		СостоянияОбменовДанными.РезультатЗагрузкиДанных = ВыборкаРезультатовЗагрузкиДанных.РезультатВыполненияОбмена;
		
	КонецЕсли;
	
	Если ВыборкаРезультатовВыгрузкиДанных.Следующий() Тогда
		
		СостоянияОбменовДанными.РезультатВыгрузкиДанных = ВыборкаРезультатовВыгрузкиДанных.РезультатВыполненияОбмена;
		
	КонецЕсли;
	
	СостоянияОбменовДанными.УзелИнформационнойБазы = УзелИнформационнойБазы;
	
	Возврат СостоянияОбменовДанными;
КонецФункции

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

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

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

СостоянияОбменовДанными (БСП)

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

СоздатьВерсиюОбъектаПоОбменуДанными (БСП)

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

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

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

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

ПриОтправкеДанныхГлавному (БСП)

ПриОтправкеДанныхПодчиненному (БСП)

TurboConf ИР адаптер 2.53