Выполнить действие обмена для узла информационной базы. Выполняет отправку или получение данных для узла информационной базы используя любой из
// Выполняет отправку или получение данных для узла информационной базы используя любой из
// доступных для плана обмена канал связи, кроме COM-соединения и web-сервиса.
//
// Параметры:
// Отказ - Булево - флаг отказа, устанавливается в Истина в случае
// не успешного выполнения процедуры.
// УзелИнформационнойБазы - УзелОбменаСсылка - ПланОбменаСсылка - узел плана обмена,
// для которого выполняется действие обмена данными.
// ДействиеПриОбмене - ПеречислениеСсылка.ДействияПриОбмене - выполняемое действие обмена данными.
// ВидТранспортаСообщенийОбмена - ПеречислениеСсылка.Перечисления.ВидыТранспортаСообщенийОбмена - вид транспорта,
// который будет использоваться в процессе обмена данными. Если не указан,
// определяется из параметров транспорта, заданных для узла плана обмена при
// настройке обмена. Необязательный, значение по умолчанию Неопределено.
// ТолькоПараметры - Булево - содержит признак выборочной загрузки данных при обмене РИБ.
// ДополнительныеПараметры - Структура - зарезервировано для служебного использования.
//
Процедура ВыполнитьДействиеОбменаДляУзлаИнформационнойБазы(
Отказ,
УзелИнформационнойБазы,
ДействиеПриОбмене,
ВидТранспортаСообщенийОбмена = Неопределено,
Знач ТолькоПараметры = Ложь,
ДополнительныеПараметры = Неопределено) Экспорт
Если ДополнительныеПараметры = Неопределено Тогда
ДополнительныеПараметры = Новый Структура;
КонецЕсли;
УстановитьПривилегированныйРежим(Истина);
// ИНИЦИАЛИЗАЦИЯ ОБМЕНА ДАННЫМИ
СтруктураНастроекОбмена = НастройкиОбменаДляУзлаИнформационнойБазы(
УзелИнформационнойБазы, ДействиеПриОбмене, ВидТранспортаСообщенийОбмена);
Если СтруктураНастроекОбмена.Отказ Тогда
// Если настройка содержит ошибки, то обмен не производим; статус "Отменено".
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
Для Каждого Параметр Из ДополнительныеПараметры Цикл
СтруктураНастроекОбмена.ДополнительныеПараметры.Вставить(Параметр.Ключ, Параметр.Значение);
КонецЦикла;
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Неопределено;
СтрокаСообщения = НСтр("ru = 'Начало процесса обмена данными для узла %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К участников)