Состояния обменов данными для узла информационной базы. Возвращает структуру с данными последнего обмена для заданного узла информационной базы.
// Возвращает структуру с данными последнего обмена для заданного узла информационной базы.
//
// Параметры:
// Нет.
//
// Возвращаемое значение:
// СостоянияОбменовДанными - Структура - структура с данными последнего обмена для заданного узла информационной базы.
//
Функция СостоянияОбменовДаннымиДляУзлаИнформационнойБазы(Знач УзелИнформационнойБазы) Экспорт
УстановитьПривилегированныйРежим(Истина);
// Возвращаемое значение функции.
СостоянияОбменовДанными = Новый Структура;
СостоянияОбменовДанными.Вставить("УзелИнформационнойБазы");
СостоянияОбменовДанными.Вставить("РезультатЗагрузкиДанных", "Неопределено");
СостоянияОбменовДанными.Вставить("РезультатВыгрузкиДанных", "Неопределено");
ТекстЗапроса = "
|// {ЗАПРОС №0}
|////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ""Успех""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА ""ВыполненоСПредупреждениями""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
| ТОГДА ""Предупреждение_СообщениеОбменаБылоРанееПринято""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения)
| ТОГДА ""Ошибка_ТранспортСообщения""
|
| ИНАЧЕ ""Ошибка""
|
| КОНЕЦ КАК РезультатВыполненияОбмена
|ИЗ
| РегистрСведений.[СостоянияОбменовДанными] КАК СостоянияОбменовДанными
|ГДЕ
| СостоянияОбменовДанными.УзелИнформационнойБазы = &УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ЗагрузкаДанных)
|;
|// {ЗАПРОС №1}
|////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ВЫБОР
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Выполнено)
| ТОГДА ""Успех""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.ВыполненоСПредупреждениями)
| ТОГДА ""ВыполненоСПредупреждениями""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Предупреждение_СообщениеОбменаБылоРанееПринято)
| ТОГДА ""Предупреждение_СообщениеОбменаБылоРанееПринято""
|
| КОГДА СостоянияОбменовДанными.РезультатВыполненияОбмена = ЗНАЧЕНИЕ(Перечисление.РезультатыВыполненияОбмена.Ошибка_ТранспортСообщения)
| ТОГДА ""Ошибка_ТранспортСообщения""
|
| ИНАЧЕ ""Ошибка""
| КОНЕЦ КАК РезультатВыполненияОбмена
|
|ИЗ
| РегистрСведений.[СостоянияОбменовДанными] КАК СостоянияОбменовДанными
|ГДЕ
| СостоянияОбменовДанными.УзелИнформационнойБазы = &УзелИнформационнойБазы
| И СостоянияОбменовДанными.ДействиеПриОбмене = ЗНАЧЕНИЕ(Перечисление.ДействияПриОбмене.ВыгрузкаДанных)
|;
|";
Если ОбщегоНазначения.РазделениеВключено()
И ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[СостоянияОбменовДанными]", "СостоянияОбменовДаннымиОбластейДанных");
Иначе
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[СостоянияОбменовДанными]", "СостоянияОбменовДанными");
КонецЕсли;
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
Запрос.УстановитьПараметр("УзелИнформационнойБазы", УзелИнформационнойБазы);
МассивРезультатовЗапроса = Запрос.ВыполнитьПакет();
ВыборкаРезультатовЗагрузкиДанных = МассивРезультатовЗапроса[0].Выбрать();
ВыборкаРезультатовВыгрузкиДанных = МассивРезультатовЗапроса[1].Выбрать();
Если ВыборкаРезультатовЗагрузкиДанных.Следующий() Тогда
СостоянияОбменовДанными.РезультатЗагрузкиДанных = ВыборкаРезультатовЗагрузкиДанных.РезультатВыполненияОбмена;
КонецЕсли;
Если ВыборкаРезультатовВыгрузкиДанных.Следующий() Тогда
СостоянияОбменовДанными.РезультатВыгрузкиДанных = ВыборкаРезультатовВыгрузкиДанных.РезультатВыполненияОбмена;
КонецЕсли;
СостоянияОбменовДанными.УзелИнформационнойБазы = УзелИнформационнойБазы;
Возврат СостоянияОбменовДанными;
КонецФункции
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
СостояниеДлительнойОперацииДляУзлаИнформационнойБазы (БСП)
СоздатьВерсиюОбъектаПоОбменуДанными (БСП)
ВыполнитьВыгрузкуДляУзлаИнформационнойБазы (БСП)
ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы (БСП)
ДанныеДляТабличныхЧастейУзловЭтойИнформационнойБазы (БСП)
ОтменитьОтправкуДанныхУзлаВРаспределеннойИнформационнойБазе (БСП)
Канал FastCode 1C в Телеграм! Шаблоны кода, статьи, полезные советы, курсы по 1С (8К участников)