#Область ОбработчикиСобытий
&НаКлиенте
Процедура ОбработкаКоманды(ПараметрКоманды, ПараметрыВыполненияКоманды)
ТекстСообщения = НСтр("ru = 'Внимание! Выполнение полного обмена может занять длительное время. Продолжить?'");
ПараметрыОбмена = Новый Структура;
ПараметрыОбмена.Вставить("УзелОбмена", ПараметрКоманды);
ОписаниеОповещения = Новый ОписаниеОповещения("ВыполнитьОбменОтмена", ЭтотОбъект, ПараметрыОбмена);
ПоказатьВопрос(ОписаниеОповещения, ТекстСообщения, РежимДиалогаВопрос.ДаНет);
КонецПроцедуры
#КонецОбласти
#Область СлужебныеПроцедурыИФункции
&НаКлиенте
Процедура ВыполнитьОбменОтмена(Ответ, ДопПараметры) Экспорт
Если Ответ = КодВозвратаДиалога.Нет Тогда
Возврат;
КонецЕсли;
УзелОбмена = ДопПараметры.УзелОбмена;
СостояниеНачалоОбмена = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 начат обмен данными с сайтом'"),
Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДЛФ=DT"));
СостояниеУзелОбмена = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'по узлу обмена ""%1""...'"),
УзелОбмена);
Состояние(СостояниеНачалоОбмена,, СостояниеУзелОбмена);
ПараметрыОбновленияСписков = Новый Структура;
ПараметрыОбновленияСписков.Вставить("Обновить", Ложь);
ПараметрыОбновленияСписков.Вставить("ИмяДокументаЗаказ", "");
ОбменВыполненСервер(УзелОбмена, ПараметрыОбновленияСписков);
Если ПараметрыОбновленияСписков.Обновить Тогда
ОповеститьОбИзменении(Тип("ДокументСсылка." + ПараметрыОбновленияСписков.ИмяДокументаЗаказ));
КонецЕсли;
СостояниеОкончаниеОбмена = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '%1 ""%2""'"),
Формат(ОбщегоНазначенияКлиент.ДатаСеанса(), "ДЛФ=DT"),
УзелОбмена);
ПоказатьОповещениеПользователя(СостояниеОкончаниеОбмена,,
НСтр("ru = 'Обмен с сайтом завершен'"),
БиблиотекаКартинок.Информация32);
Оповестить("ЗавершенСеансОбменаССайтом");
КонецПроцедуры
&НаСервере
Функция ОбменВыполненСервер(УзелОбмена, ПараметрыОбновленияСписков)
Если ОбменССайтомПовтИсп.ПолучитьЭтотУзелПланаОбмена(УзелОбмена)
ИЛИ УзелОбмена.ПометкаУдаления Тогда
Возврат Ложь;
КонецЕсли;
ОбменССайтомСобытия.ВыполнитьОбмен(УзелОбмена, НСтр("ru = 'Интерактивный обмен'"), Ложь, ПараметрыОбновленияСписков);
Возврат Истина;
КонецФункции
#КонецОбласти