3_0_2_218

This commit is contained in:
Компания 1С committed 2019-02-15 00:21:00 +03:00
1 parent 430b28ec52
commit c81c0e58e1
116 files changed
+759 -703

No files matched your search

@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -22,6 +22,10 @@
Возврат;
КонецЕсли;
Если ЗначениеЗаполнено(Параметры.ЗначениеКопирования) Тогда
ВызватьИсключение НСтр("ru = 'Создание нового элемента копированием запрещено.'");
КонецЕсли;
Если Объект.Вид = Перечисления.ВидыДополнительныхОтчетовИОбработок.ПечатнаяФорма
И Не ОбщегоНазначения.ПодсистемаСуществует("СтандартныеПодсистемы.Печать") Тогда
Отказ = Истина;
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,3 +1,11 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
@@ -1,3 +1,11 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
// https://creativecommons.org/licenses/by/4.0/legalcode
///////////////////////////////////////////////////////////////////////////////////////////////////////
#Область ОбработчикиСобытий
&НаКлиенте
@@ -335,7 +335,11 @@
Набор.Имя);
КонецЕсли;
Если Не ОбщегоНазначения.ДоступноИспользованиеРазделенныхДанных() Тогда
НаборСсылка = Набор.Идентификатор;
Иначе
НаборСсылка = ПолучитьСсылку(Набор.Идентификатор);
КонецЕсли;
Если НаборыСвойств.Получить(НаборСсылка) <> Неопределено Тогда
ВызватьИсключение ЗаголовокОшибки + СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -4490,59 +4490,40 @@
Результат.Вставить("ИмяФайлаСообщенияОбмена", "");
Результат.Вставить("ИдентификаторФайлаПакетаДанных", Неопределено);
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы);
ТекущийУзелПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена);
КодТекущегоУзлаПланаОбмена = ИдентификаторЭтогоУзлаДляОбмена(УзелИнформационнойБазы);
// Параметры, которые будут определены в функции.
ИмяКаталогаСообщенияОбмена = "";
ИмяФайлаСообщенияОбмена = "";
ДатаФайлаСообщенияОбмена = Дата('00010101');
СтрокаСообщенияОбОшибке = "";
// Получаем прокси веб-сервиса для узла информационной базы.
Прокси = WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы, СтрокаСообщенияОбОшибке, ПараметрыАутентификации);
СтруктураНастроекОбмена = Новый Структура;
СтруктураНастроекОбмена.Вставить("ИмяПланаОбмена", ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелИнформационнойБазы));
СтруктураНастроекОбмена.Вставить("УзелИнформационнойБазы", УзелИнформационнойБазы);
СтруктураНастроекОбмена.Вставить("КлючСообщенияЖурналаРегистрации",
КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных));
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбмена",
ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(СтруктураНастроекОбмена.ИмяПланаОбмена));
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбменаКод",
ИдентификаторЭтогоУзлаДляОбмена(УзелИнформационнойБазы));
СтруктураНастроекОбмена.Вставить("ДействиеПриОбмене", Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
Если Прокси = Неопределено Тогда
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", ПараметрыАутентификации);
Отказ = Истина;
Сообщение = НСтр("ru = 'Ошибка при установке подключения ко второй информационной базе: %1'");
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, СтрокаСообщенияОбОшибке);
СтруктураНастроекОбмена = Новый Структура("КлючСообщенияЖурналаРегистрации");
СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации = КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ЗаписьЖурналаРегистрацииОбменаДанными(Сообщение, СтруктураНастроекОбмена, Истина);
Возврат Результат;
КонецЕсли;
ПсевдонимУзла = ПсевдонимПредопределенногоУзла(УзелИнформационнойБазы);
Если ЗначениеЗаполнено(ПсевдонимУзла) Тогда
// Надо проверить код узла в корреспонденте - он может быть уже перекодирован.
// Тогда псевдоним больше не нужен.
Если ЗначениеЗаполнено(ПсевдонимУзла) Тогда
// Следует проверить есть ли в корреспонденте такой узел (возможно он уже перекодировался).
УзелПсевдонимСуществует = Истина;
Прокси = Неопределено;
СостояниеНастройки = Неопределено;
СообщениеОбОшибке = "";
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(ИмяПланаОбмена, ПсевдонимУзла, СообщениеОбОшибке);
Попытка
ПараметрыПриемника = СериализаторXDTO.ПрочитатьXDTO(ПараметрыПриемникаПрокси);
Исключение
ПараметрыПриемника = ЗначениеИзСтрокиВнутр(ПараметрыПриемникаПрокси);
КонецПопытки;
Если ПараметрыПриемника.Свойство("УзелСуществует") Тогда
УзелПсевдонимСуществует = (ПараметрыПриемника.УзелСуществует = Истина);
КонецЕсли;
Если УзелПсевдонимСуществует Тогда
КодТекущегоУзлаПланаОбмена = ПсевдонимУзла;
КонецЕсли;
КонецЕсли;
ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеОбОшибке);
Если Отказ Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
Возврат Результат;
КонецЕсли;
Попытка
Прокси.UploadData(
ИмяПланаОбмена,
КодТекущегоУзлаПланаОбмена,
СтруктураНастроекОбмена.ИмяПланаОбмена,
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод,
ИдентификаторФайла,
ДлительнаяОперация,
ИдентификаторОперации,
@@ -4553,30 +4534,27 @@
Отказ = Истина;
Сообщение = НСтр("ru = 'При выгрузке данных возникли ошибки во второй информационной базе: %1'", ОбщегоНазначения.КодОсновногоЯзыка());
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СтруктураНастроекОбмена = Новый Структура("КлючСообщенияЖурналаРегистрации");
СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации = КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ЗаписьЖурналаРегистрацииОбменаДанными(Сообщение, СтруктураНастроекОбмена, Истина);
Возврат Результат;
КонецПопытки;
Если ДлительнаяОперация Тогда
СтруктураНастроекОбмена = Новый Структура("КлючСообщенияЖурналаРегистрации");
СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации = КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ЗаписьЖурналаРегистрацииОбменаДанными(НСтр("ru = 'Ожидание получения данных от базы-корреспондента...'",
ОбщегоНазначения.КодОсновногоЯзыка()), СтруктураНастроекОбмена);
Возврат Результат;
КонецЕсли;
Попытка
ИмяФайлаИзСервисаПередачиФайлов = ПолучитьФайлИзХранилищаВСервисе(Новый УникальныйИдентификатор(ИдентификаторФайла), УзелИнформационнойБазы,, ПараметрыАутентификации);
ИмяФайлаИзСервисаПередачиФайлов = ПолучитьФайлИзХранилищаВСервисе(Новый УникальныйИдентификатор(ИдентификаторФайла),
СтруктураНастроекОбмена.УзелИнформационнойБазы,, ПараметрыАутентификации);
Исключение
Отказ = Истина;
Сообщение = НСтр("ru = 'Возникли ошибки при получении сообщения обмена из сервиса передачи файлов: %1'", ОбщегоНазначения.КодОсновногоЯзыка());
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СтруктураНастроекОбмена = Новый Структура("КлючСообщенияЖурналаРегистрации");
СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации = КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ЗаписьЖурналаРегистрацииОбменаДанными(Сообщение, СтруктураНастроекОбмена, Истина);
Возврат Результат;
@@ -4588,14 +4566,14 @@
Отказ = Истина;
Сообщение = НСтр("ru = 'При получении сообщения обмена возникли ошибки: %1'", ОбщегоНазначения.КодОсновногоЯзыка());
Сообщение = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(Сообщение, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СтруктураНастроекОбмена = Новый Структура("КлючСообщенияЖурналаРегистрации");
СтруктураНастроекОбмена.КлючСообщенияЖурналаРегистрации = КлючСообщенияЖурналаРегистрации(УзелИнформационнойБазы, Перечисления.ДействияПриОбмене.ЗагрузкаДанных);
ЗаписьЖурналаРегистрацииОбменаДанными(Сообщение, СтруктураНастроекОбмена, Истина);
Возврат Результат;
КонецПопытки;
ШаблонИмениФайлаСообщения = ШаблонИмениФайлаСообщения(ТекущийУзелПланаОбмена, УзелИнформационнойБазы, Ложь);
ШаблонИмениФайлаСообщения = ШаблонИмениФайлаСообщения(СтруктураНастроекОбмена.ТекущийУзелПланаОбмена,
СтруктураНастроекОбмена.УзелИнформационнойБазы, Ложь);
ИмяФайлаСообщенияОбмена = ОбщегоНазначенияКлиентСервер.ПолучитьПолноеИмяФайла(ИмяКаталогаСообщенияОбмена, ШаблонИмениФайлаСообщения + ".xml");
@@ -5330,23 +5308,19 @@
Если СтандартнаяОбработка Тогда
СтрокаСообщенияОбОшибке = "";
Прокси = Неопределено;
// Получаем прокси веб-сервиса для узла информационной базы.
Прокси = WSПроксиДляУзлаИнформационнойБазы(
УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке,
ПараметрыОбмена.ПараметрыАутентификации);
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", ПараметрыОбмена.ПараметрыАутентификации);
Если Прокси = Неопределено Тогда
СостояниеНастройки = Неопределено;
СообщениеОбОшибке = "";
ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеОбОшибке);
// добавляем запись в ЖР
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроекОбмена, Истина);
// Если настройка содержит ошибки, то обмен не производим; статус "Отменено".
Если Отказ Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Отменено;
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
@@ -5411,52 +5385,26 @@
Иначе
СтрокаСообщенияОбОшибке = "";
Прокси = Неопределено;
// Получаем прокси веб-сервиса для узла информационной базы.
Прокси = WSПроксиДляУзлаИнформационнойБазы(
УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке,
ПараметрыОбмена.ПараметрыАутентификации);
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", ПараметрыОбмена.ПараметрыАутентификации);
Если Прокси = Неопределено Тогда
СостояниеНастройки = Неопределено;
СообщениеОбОшибке = "";
ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеОбОшибке);
// добавляем запись в ЖР
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроекОбмена, Истина);
// Если настройка содержит ошибки, то обмен не производим; статус "Отменено".
Если Отказ Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Отменено;
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
ХранилищеСообщенияОбмена = Неопределено;
ПсевдонимУзла = ПсевдонимПредопределенногоУзла(УзелИнформационнойБазы);
Попытка
Если ЗначениеЗаполнено(ПсевдонимУзла) Тогда
// Следует проверить есть ли в корреспонденте такой узел (возможно он уже перекодировался).
УзелПсевдонимСуществует = Истина;
СообщениеОбОшибке = "";
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(СтруктураНастроекОбмена.ИмяПланаОбмена, ПсевдонимУзла, СообщениеОбОшибке);
Попытка
ПараметрыПриемника = СериализаторXDTO.ПрочитатьXDTO(ПараметрыПриемникаПрокси);
Исключение
ПараметрыПриемника = ЗначениеИзСтрокиВнутр(ПараметрыПриемникаПрокси);
КонецПопытки;
Если ПараметрыПриемника.Свойство("УзелСуществует") Тогда
УзелПсевдонимСуществует = (ПараметрыПриемника.УзелСуществует = Истина);
КонецЕсли;
Если УзелПсевдонимСуществует Тогда
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод = ПсевдонимУзла;
КонецЕсли;
КонецЕсли;
Прокси.Upload(СтруктураНастроекОбмена.ИмяПланаОбмена, СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод, ХранилищеСообщенияОбмена);
ПрочитатьСообщениеСИзменениямиДляУзла(СтруктураНастроекОбмена,, ХранилищеСообщенияОбмена.Получить());
Исключение
ЗаписьЖурналаРегистрацииОбменаДанными(ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()), СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Ошибка;
@@ -5466,76 +5414,25 @@
ИначеЕсли СтруктураНастроекОбмена.ПроизводитьВыгрузкуДанных Тогда
СтрокаСообщенияОбОшибке = "";
Прокси = Неопределено;
// Получаем прокси веб-сервиса для узла информационной базы.
МинимальнаяВерсия = "";
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", ПараметрыОбмена.ПараметрыАутентификации);
Если ПараметрыОбмена.СообщениеДляСопоставленияДанных Тогда
МинимальнаяВерсия = "3.0.1.1";
ПараметрыПрокси.Вставить("МинимальнаяВерсия", "3.0.1.1");
КонецЕсли;
Прокси = WSПроксиДляУзлаИнформационнойБазы(
УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке,
ПараметрыОбмена.ПараметрыАутентификации,
МинимальнаяВерсия);
СостояниеНастройки = Неопределено;
СообщениеОбОшибке = "";
ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеОбОшибке);
Если Прокси = Неопределено Тогда
// добавляем запись в ЖР
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроекОбмена, Истина);
// Если настройка содержит ошибки, то обмен не производим; статус "Отменено".
Если Отказ Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(СообщениеОбОшибке, СтруктураНастроекОбмена, Истина);
СтруктураНастроекОбмена.РезультатВыполненияОбмена = Перечисления.РезультатыВыполненияОбмена.Отменено;
ЗафиксироватьЗавершениеОбмена(СтруктураНастроекОбмена);
Отказ = Истина;
Возврат;
КонецЕсли;
ПсевдонимУзла = ПсевдонимПредопределенногоУзла(УзелИнформационнойБазы);
ЕстьПоддержкаСопоставления = Истина;
НастройкаСинхронизацииДанныхЗавершена = Истина;
Если ЗначениеЗаполнено(ПсевдонимУзла) Тогда
// Следует проверить есть ли в корреспонденте такой узел (возможно он уже перекодировался).
УзелПсевдонимСуществует = Истина;
СтрокаСообщенияОбОшибке = "";
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(СтруктураНастроекОбмена.ИмяПланаОбмена, ПсевдонимУзла, СтрокаСообщенияОбОшибке);
Попытка
ПараметрыПриемника = СериализаторXDTO.ПрочитатьXDTO(ПараметрыПриемникаПрокси);
Исключение
ПараметрыПриемника = ЗначениеИзСтрокиВнутр(ПараметрыПриемникаПрокси);
КонецПопытки;
Если ПараметрыПриемника.Свойство("УзелСуществует") Тогда
УзелПсевдонимСуществует = (ПараметрыПриемника.УзелСуществует = Истина);
КонецЕсли;
Если УзелПсевдонимСуществует Тогда
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод = ПсевдонимУзла;
КонецЕсли;
Если ПараметрыПриемника.Свойство("ПоддерживаетсяСопоставлениеДанных") Тогда
ЕстьПоддержкаСопоставления = ПараметрыПриемника.ПоддерживаетсяСопоставлениеДанных;
КонецЕсли;
Если ПараметрыПриемника.Свойство("НастройкаСинхронизацииДанныхЗавершена") Тогда
НастройкаСинхронизацииДанныхЗавершена = ПараметрыПриемника.НастройкаСинхронизацииДанныхЗавершена;
КонецЕсли;
Иначе
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(
СтруктураНастроекОбмена.ИмяПланаОбмена,
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод,
СтрокаСообщенияОбОшибке);
Попытка
ПараметрыПриемника = СериализаторXDTO.ПрочитатьXDTO(ПараметрыПриемникаПрокси);
Исключение
ПараметрыПриемника = ЗначениеИзСтрокиВнутр(ПараметрыПриемникаПрокси);
КонецПопытки;
Если ПараметрыПриемника.Свойство("ПоддерживаетсяСопоставлениеДанных") Тогда
ЕстьПоддержкаСопоставления = ПараметрыПриемника.ПоддерживаетсяСопоставлениеДанных;
КонецЕсли;
Если ПараметрыПриемника.Свойство("НастройкаСинхронизацииДанныхЗавершена") Тогда
НастройкаСинхронизацииДанныхЗавершена = ПараметрыПриемника.НастройкаСинхронизацииДанныхЗавершена;
КонецЕсли;
КонецЕсли;
Если СтруктураНастроекОбмена.ИспользоватьПередачуБольшогоОбъемаДанных Тогда
ВременныйКаталог = ПолучитьИмяВременногоФайла();
@@ -5568,7 +5465,8 @@
КонецПопытки;
Если ПараметрыОбмена.СообщениеДляСопоставленияДанных
И (ЕстьПоддержкаСопоставления Или Не НастройкаСинхронизацииДанныхЗавершена) Тогда
И (СостояниеНастройки.ПоддерживаетсяСопоставлениеДанных
Или Не СостояниеНастройки.НастройкаСинхронизацииДанныхЗавершена) Тогда
Прокси.PutMessageForDataMatching(СтруктураНастроекОбмена.ИмяПланаОбмена,
СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод,
ИдентификаторФайлаСтрокой);
@@ -7277,7 +7175,9 @@
// Возвращаемое значение функции.
ИмяФайлаРезультата = "";
Прокси = WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы, , ПараметрыАутентификации);
ДополнительныеПараметры = Новый Структура("ПараметрыАутентификации", ПараметрыАутентификации);
Прокси = WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы, , ДополнительныеПараметры);
ИдентификаторСессии = Неопределено;
КоличествоЧастей = Неопределено;
@@ -7381,7 +7281,9 @@
// Возвращаемое значение функции.
ИдентификаторФайла = Неопределено;
Прокси = WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы,, ПараметрыАутентификации);
ДополнительныеПараметры = Новый Структура("ПараметрыАутентификации", ПараметрыАутентификации);
Прокси = WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы, , ДополнительныеПараметры);
КаталогФайлов = ПолучитьИмяВременногоФайла();
СоздатьКаталог(КаталогФайлов);
@@ -12024,7 +11926,7 @@
СообщениеОбОшибке = ОбработкаОбъект.СтрокаСообщенияОбОшибке
+ Символы.ПС + НСтр("ru = 'Техническую информацию об ошибке см. в журнале регистрации.'");
ЗаписьЖурналаРегистрации(НСтр("ru = 'Транспорт сообщений обмена'", ОбщегоНазначенияКлиентСервер.КодОсновногоЯзыка()),
ЗаписьЖурналаРегистрации(НСтр("ru = 'Транспорт сообщений обмена'", ОбщегоНазначения.КодОсновногоЯзыка()),
УровеньЖурналаРегистрации.Ошибка, , , ОбработкаОбъект.СтрокаСообщенияОбОшибкеЖР);
КонецЕсли;
@@ -12109,18 +12011,240 @@
КонецФункции
Функция WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке = "", ПараметрыАутентификации = Неопределено, МинимальнаяВерсия = "")
// Инициализирует WS-прокси для выполнения управляющих команд обмена данными,
// предварительно проверяет наличие узла обмена.
//
// Параметры:
// Прокси - WSПрокси - WS-прокси для передачи управляющих команд.
// СтруктураНастроек - Структура - структура параметров для подключения к корреспонденту и идентификации настройки обмена.
// * ИмяПланаОбмена - Строка - имя плана обмена, используемого при синхронизации.
// * УзелИнформационнойБазы - ПланОбменаСсылка - узел плана обмена, соответствующий корреспонденту.
// * КлючСообщенияЖурналаРегистрации - Строка - имя события для записи ошибок в журнал регистрации.
// * ТекущийУзелПланаОбмена - ПланОбменаСсылка - ссылка на ЭтотУзел плана обмена.
// * ТекущийУзелПланаОбменаКод - Строка - идентификатор текущего узла плана обмена.
// * ДействиеПриОбмене - ПеречислениеСсылка.ДействияПриОбмене - указывает на направление обмена.
// ПараметрыПрокси - Структура
// * ПараметрыАутентификации - Строка, Структура - содержит пароль для аутентификации на веб-сервере.
// * СтруктураНастроекАутентификации - Структура - содержит структуру настроек для аутентификации на веб-сервере.
// * МинимальнаяВерсия - Строка - номер минимальной версии интерфейса "ОбменДанными", требуемый для выполнения действий.
// * ТекущаяВерсия - Строка - исходящий, фактическая версия интерфейса инициализированного WS-прокси.
// Отказ - Булево - признак неуспешной инициализации WS-прокси.
// СостояниеНастройки - Структура - исходящий, возвращает состояние настройки синхронизации, описанной в СтруктураНастроек.
// * НастройкаСуществует - Булево - Истина, если настройка с указанными планом обмена и идентификатором узла существует.
// * НастройкаСинхронизацииДанныхЗавершена - Булево - Истина, если настройка синхронизации завершена.
// * ПоддерживаетсяСопоставлениеДанных - Булево - Истина, если корреспондент поддерживает функцию сопоставления данных.
// * ПолученоСообщениеДляСопоставленияДанных - Булево - Истина, в корреспондент загружено сообщение для сопоставления.
// СтрокаСообщенияОбОшибке - Строка - описание ошибки инициализации WS-прокси.
//
Процедура ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси,
СтруктураНастроек, ПараметрыПрокси, Отказ, СостояниеНастройки, СтрокаСообщенияОбОшибке = "") Экспорт
Если ОбменДаннымиПовтИсп.ЭтоУзелОбменаСообщениями(УзелИнформационнойБазы) Тогда
МодульНастройкиТранспортаОбменаСообщениями = РегистрыСведений["НастройкиТранспортаОбменаСообщениями"];
СтруктураНастроек = МодульНастройкиТранспортаОбменаСообщениями.НастройкиТранспортаWS(УзелИнформационнойБазы, ПараметрыАутентификации);
МинимальнаяВерсия = "0.0.0.0";
Если ПараметрыПрокси.Свойство("МинимальнаяВерсия") Тогда
МинимальнаяВерсия = ПараметрыПрокси.МинимальнаяВерсия;
КонецЕсли;
ПараметрыАутентификации = Неопределено;
ПараметрыПрокси.Свойство("ПараметрыАутентификации", ПараметрыАутентификации);
СтруктураНастроекАутентификации = Неопределено;
ПараметрыПрокси.Свойство("СтруктураНастроекАутентификации", СтруктураНастроекАутентификации);
ПараметрыПрокси.Вставить("ТекущаяВерсия", Неопределено);
ДополнительныеПараметры = Новый Структура;
ДополнительныеПараметры.Вставить("ПараметрыАутентификации", ПараметрыАутентификации);
ДополнительныеПараметры.Вставить("МинимальнаяВерсия", МинимальнаяВерсия);
ДополнительныеПараметры.Вставить("СтруктураНастроекАутентификации", СтруктураНастроекАутентификации);
Прокси = WSПроксиДляУзлаИнформационнойБазы(
СтруктураНастроек.УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке,
ДополнительныеПараметры);
Если Прокси = Неопределено Тогда
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроек, Истина);
Отказ = Истина;
Возврат;
КонецЕсли;
ПараметрыПрокси.ТекущаяВерсия = ДополнительныеПараметры.ТекущаяВерсия;
УзелСуществует = Ложь;
Если ЭтоПланОбменаXDTO(СтруктураНастроек.ИмяПланаОбмена) Тогда
ПсевдонимУзла = ПсевдонимПредопределенногоУзла(СтруктураНастроек.УзелИнформационнойБазы);
Если ЗначениеЗаполнено(ПсевдонимУзла) Тогда
// Проверка настройки со старым идентификатором (префиксом).
СостояниеНастройки = СостояниеНастройкиСинхронизацииВКорреспонденте(
Прокси,
ПараметрыПрокси,
СтруктураНастроек.ИмяПланаОбмена,
ПсевдонимУзла);
Если СостояниеНастройки.НастройкаСуществует Тогда
СтруктураНастроек.ТекущийУзелПланаОбменаКод = ПсевдонимУзла;
Возврат;
ИначеЕсли СтруктураНастроек.ДействиеПриОбмене = Перечисления.ДействияПриОбмене.ВыгрузкаДанных Тогда
// Проверка возможности выполнения перехода.
Для Каждого ВариантНастройки Из УстаревшиеВариантыНастроекОбмена(СтруктураНастроек.УзелИнформационнойБазы) Цикл
СостояниеНастройки = СостояниеНастройкиСинхронизацииВКорреспонденте(
Прокси,
ПараметрыПрокси,
ВариантНастройки.ИмяПланаОбмена,
ПсевдонимУзла);
Если СостояниеНастройки.НастройкаСуществует Тогда
СтруктураНастроек.ИмяПланаОбмена = ВариантНастройки.ИмяПланаОбмена;
СтруктураНастроек.ТекущийУзелПланаОбменаКод = ПсевдонимУзла;
Возврат;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
СостояниеНастройки = СостояниеНастройкиСинхронизацииВКорреспонденте(
Прокси,
ПараметрыПрокси,
СтруктураНастроек.ИмяПланаОбмена,
СтруктураНастроек.ТекущийУзелПланаОбменаКод);
Если Не СостояниеНастройки.НастройкаСуществует
И СтруктураНастроек.ДействиеПриОбмене = Перечисления.ДействияПриОбмене.ВыгрузкаДанных Тогда
// Проверка возможности выполнения перехода.
Для Каждого ВариантНастройки Из УстаревшиеВариантыНастроекОбмена(СтруктураНастроек.УзелИнформационнойБазы) Цикл
СостояниеНастройки = СостояниеНастройкиСинхронизацииВКорреспонденте(
Прокси,
ПараметрыПрокси,
ВариантНастройки.ИмяПланаОбмена,
СтруктураНастроек.ТекущийУзелПланаОбменаКод);
Если СостояниеНастройки.НастройкаСуществует Тогда
СтруктураНастроек.ИмяПланаОбмена = ВариантНастройки.ИмяПланаОбмена;
Возврат;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Иначе
СтруктураНастроек = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелИнформационнойБазы, ПараметрыАутентификации);
СостояниеНастройки = СостояниеНастройкиСинхронизацииВКорреспонденте(
Прокси,
ПараметрыПрокси,
СтруктураНастроек.ИмяПланаОбмена,
СтруктураНастроек.ТекущийУзелПланаОбменаКод);
КонецЕсли;
Если Не СостояниеНастройки.НастройкаСуществует Тогда
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Не найдена настройка синхронизации данных ""%1"" с идентификатором ""%2"".'"),
СтруктураНастроек.ИмяПланаОбмена,
СтруктураНастроек.ТекущийУзелПланаОбменаКод);
ЗаписьЖурналаРегистрацииОбменаДанными(СтрокаСообщенияОбОшибке, СтруктураНастроек, Истина);
Отказ = Истина;
КонецЕсли;
КонецПроцедуры
Функция УстаревшиеВариантыНастроекОбмена(УзелОбмена)
Результат = Новый Массив;
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(УзелОбмена);
ВариантНастройки = "";
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ВариантНастройки", УзелОбмена.Метаданные()) Тогда
ВариантНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(УзелОбмена, "ВариантНастройки");
КонецЕсли;
Если ЗначениеЗаполнено(ВариантНастройки) Тогда
Для Каждого ИмяСтарогоПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если ИмяСтарогоПланаОбмена = ИмяПланаОбмена Тогда
Продолжить;
КонецЕсли;
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяСтарогоПланаОбмена) Тогда
Продолжить;
КонецЕсли;
НастройкиСтарогоПланаОбмена = ЗначениеНастройкиПланаОбмена(ИмяСтарогоПланаОбмена,
"ИмяПланаОбменаДляПереходаНаНовыйОбмен,ВариантыНастроекОбмена");
Если НастройкиСтарогоПланаОбмена.ИмяПланаОбменаДляПереходаНаНовыйОбмен = ИмяПланаОбмена Тогда
ВариантНастроек = НастройкиСтарогоПланаОбмена.ВариантыНастроекОбмена.Найти(ВариантНастройки, "ИдентификаторНастройки");
Если Не ВариантНастроек = Неопределено Тогда
Результат.Добавить(Новый Структура("ИмяПланаОбмена, ИдентификаторНастройки",
ИмяСтарогоПланаОбмена, ВариантНастроек.ИдентификаторНастройки));
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция СостояниеНастройкиСинхронизацииВКорреспонденте(Прокси, ПараметрыПрокси, ИмяПланаОбмена, ИдентификаторУзла)
Результат = Новый Структура;
Результат.Вставить("НастройкаСуществует", Ложь);
Результат.Вставить("НастройкаСинхронизацииДанныхЗавершена", Ложь);
Результат.Вставить("ПолученоСообщениеДляСопоставленияДанных", Ложь);
Результат.Вставить("ПоддерживаетсяСопоставлениеДанных", Истина);
СтрокаСообщенияОбОшибке = "";
Если ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ПараметрыПрокси.ТекущаяВерсия, "2.0.1.6") >= 0 Тогда
НастройкаСуществует = Прокси.TestConnection(ИмяПланаОбмена, ИдентификаторУзла, СтрокаСообщенияОбОшибке);
Если НастройкаСуществует
И ОбщегоНазначенияКлиентСервер.СравнитьВерсии(ПараметрыПрокси.ТекущаяВерсия, "3.0.1.1") >= 0 Тогда
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(ИмяПланаОбмена, ИдентификаторУзла, СтрокаСообщенияОбОшибке);
ПараметрыПриемника = СериализаторXDTO.ПрочитатьXDTO(ПараметрыПриемникаПрокси);
ЗаполнитьЗначенияСвойств(Результат, ПараметрыПриемника);
Результат.НастройкаСуществует = НастройкаСуществует;
КонецЕсли;
Иначе
ПараметрыПриемникаПрокси = Прокси.GetIBParameters(ИмяПланаОбмена, ИдентификаторУзла, СтрокаСообщенияОбОшибке);
ПараметрыПриемника = ЗначениеИзСтрокиВнутр(ПараметрыПриемникаПрокси);
ЗаполнитьЗначенияСвойств(Результат, ПараметрыПриемника);
Результат.НастройкаСуществует = Истина;
КонецЕсли;
Возврат Результат;
КонецФункции
Функция WSПроксиДляУзлаИнформационнойБазы(УзелИнформационнойБазы,
СтрокаСообщенияОбОшибке = "",
ДополнительныеПараметры = Неопределено)
Если ДополнительныеПараметры = Неопределено Тогда
ДополнительныеПараметры = Новый Структура;
КонецЕсли;
ПараметрыАутентификации = Неопределено;
ДополнительныеПараметры.Свойство("ПараметрыАутентификации", ПараметрыАутентификации);
СтруктураНастроекАутентификации = Неопределено;
ДополнительныеПараметры.Свойство("СтруктураНастроекАутентификации", СтруктураНастроекАутентификации);
МинимальнаяВерсия = Неопределено;
Если Не ДополнительныеПараметры.Свойство("МинимальнаяВерсия", МинимальнаяВерсия) Тогда
МинимальнаяВерсия = "0.0.0.0";
КонецЕсли;
ДополнительныеПараметры.Вставить("ТекущаяВерсия");
Если СтруктураНастроекАутентификации = Неопределено Тогда
Если ОбменДаннымиПовтИсп.ЭтоУзелОбменаСообщениями(УзелИнформационнойБазы) Тогда
МодульНастройкиТранспортаОбменаСообщениями = ОбщегоНазначения.ОбщийМодуль("РегистрыСведений.НастройкиТранспортаОбменаСообщениями");
СтруктураНастроекАутентификации = МодульНастройкиТранспортаОбменаСообщениями.НастройкиТранспортаWS(УзелИнформационнойБазы, ПараметрыАутентификации);
Иначе
СтруктураНастроекАутентификации = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелИнформационнойБазы, ПараметрыАутентификации);
КонецЕсли;
КонецЕсли;
Попытка
ВерсииКорреспондента = ОбменДаннымиПовтИсп.ВерсииКорреспондента(СтруктураНастроек);
ВерсииКорреспондента = ОбменДаннымиПовтИсп.ВерсииКорреспондента(СтруктураНастроекАутентификации);
Исключение
СтрокаСообщенияОбОшибке = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрацииУстановкаПодключенияКWebСервису(),
@@ -12128,36 +12252,30 @@
Возврат Неопределено;
КонецПопытки;
ВерсияКорреспондента_2_0_1_6 = (ВерсииКорреспондента.Найти("2.0.1.6") <> Неопределено);
ВерсияКорреспондента_2_1_1_7 = (ВерсииКорреспондента.Найти("2.1.1.7") <> Неопределено);
ВерсияКорреспондента_3_0_1_1 = (ВерсииКорреспондента.Найти("3.0.1.1") <> Неопределено);
Если Не ПустаяСтрока(МинимальнаяВерсия) Тогда
Если МинимальнаяВерсия = "3.0.1.1"
И Не ВерсияКорреспондента_3_0_1_1 Тогда
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Корреспондент не поддерживает требуемую версию %1 интерфейса ""ОбменДанными"".'"),
МинимальнаяВерсия);
Возврат Неопределено;
КонецЕсли;
КонецЕсли;
Если ВерсияКорреспондента_3_0_1_1 Тогда
WSПрокси = ПолучитьWSПрокси_3_0_1_1(СтруктураНастроек, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсияКорреспондента_2_1_1_7 Тогда
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, СтрокаСообщенияОбОшибке);
ИначеЕсли ВерсияКорреспондента_2_0_1_6 Тогда
WSПрокси = ПолучитьWSПрокси_2_0_1_6(СтруктураНастроек, СтрокаСообщенияОбОшибке);
ДоступныеВерсии = Новый Соответствие;
Для Каждого Версия Из СтрРазделить("3.0.1.1;2.1.1.7;2.0.1.6", ";", Ложь) Цикл
ДоступныеВерсии.Вставить(Версия, ВерсииКорреспондента.Найти(Версия) <> Неопределено
И (ОбщегоНазначенияКлиентСервер.СравнитьВерсии(Версия, МинимальнаяВерсия) >= 0));
КонецЦикла;
ДоступныеВерсии.Вставить("0.0.0.0", ОбщегоНазначенияКлиентСервер.СравнитьВерсии("0.0.0.0", МинимальнаяВерсия) >= 0);
WSПрокси = Неопределено;
Если ДоступныеВерсии.Получить("3.0.1.1") = Истина Тогда
WSПрокси = ПолучитьWSПрокси_3_0_1_1(СтруктураНастроекАутентификации, СтрокаСообщенияОбОшибке);
ДополнительныеПараметры.ТекущаяВерсия = "3.0.1.1";
ИначеЕсли ДоступныеВерсии.Получить("2.1.1.7") = Истина Тогда
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроекАутентификации, СтрокаСообщенияОбОшибке);
ДополнительныеПараметры.ТекущаяВерсия = "2.1.1.7";
ИначеЕсли ДоступныеВерсии.Получить("2.0.1.6") = Истина Тогда
WSПрокси = ПолучитьWSПрокси_2_0_1_6(СтруктураНастроекАутентификации, СтрокаСообщенияОбОшибке);
ДополнительныеПараметры.ТекущаяВерсия = "2.0.1.6";
ИначеЕсли ДоступныеВерсии.Получить("0.0.0.0") = Истина Тогда
WSПрокси = ПолучитьWSПрокси(СтруктураНастроекАутентификации, СтрокаСообщенияОбОшибке);
ДополнительныеПараметры.ТекущаяВерсия = "0.0.0.0";
Иначе
WSПрокси = ПолучитьWSПрокси(СтруктураНастроек, СтрокаСообщенияОбОшибке);
СтрокаСообщенияОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Корреспондент не поддерживает требуемую версию ""%1"" интерфейса ""ОбменДанными"".'"),
МинимальнаяВерсия);
КонецЕсли;
Возврат WSПрокси;
@@ -12178,172 +12296,44 @@
КонецПроцедуры
Функция ЕстьПодключениеККорреспонденту(Знач Корреспондент,
Знач СтруктураНастроек, СообщениеПользователю = "", НастройкаЗавершена = Истина, ПолученыДанныеДляСопоставления = Ложь) Экспорт
Знач СтруктураНастроек,
СообщениеПользователю = "",
НастройкаСинхронизацииДанныхЗавершена = Истина,
ПолученоСообщениеДляСопоставленияДанных = Ложь) Экспорт
СобытиеЖурналаРегистрации = НСтр("ru = 'Обмен данными.Проверка подключения'", ОбщегоНазначения.КодОсновногоЯзыка());
СтруктураНастроекОбмена = Новый Структура;
СтруктураНастроекОбмена.Вставить("ИмяПланаОбмена", ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Корреспондент));
СтруктураНастроекОбмена.Вставить("УзелИнформационнойБазы", Корреспондент);
СтруктураНастроекОбмена.Вставить("КлючСообщенияЖурналаРегистрации",
НСтр("ru = 'Обмен данными.Проверка подключения'", ОбщегоНазначения.КодОсновногоЯзыка()));
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбмена",
ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(СтруктураНастроекОбмена.ИмяПланаОбмена));
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбменаКод",
ИдентификаторЭтогоУзлаДляОбмена(Корреспондент));
СтруктураНастроекОбмена.Вставить("ДействиеПриОбмене", Перечисления.ДействияПриОбмене.ВыгрузкаДанных); // Для проверки возможности перехода.
Попытка
ВерсииКорреспондента = ОбменДаннымиПовтИсп.ВерсииКорреспондента(СтруктураНастроек);
Исключение
СброситьПарольСинхронизацииДанных(Корреспондент);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации,
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СообщениеПользователю = КраткоеПредставлениеПервойОшибки(ИнформацияОбОшибке());
Возврат Ложь;
КонецПопытки;
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", Неопределено);
ПараметрыПрокси.Вставить("СтруктураНастроекАутентификации", СтруктураНастроек);
ВерсияКорреспондента_2_0_1_6 = (ВерсииКорреспондента.Найти("2.0.1.6") <> Неопределено);
ВерсияКорреспондента_2_1_1_7 = (ВерсииКорреспондента.Найти("2.1.1.7") <> Неопределено);
ВерсияКорреспондента_3_0_1_1 = (ВерсииКорреспондента.Найти("3.0.1.1") <> Неопределено);
Прокси = Неопределено;
СостояниеНастройки = Неопределено;
Отказ = Ложь;
ИнициализироватьWSПроксиДляУправленияОбменомДанными(Прокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеПользователю);
НастройкаЗавершена = Истина;
ПолученыДанныеДляСопоставления = Ложь;
Если ВерсияКорреспондента_2_1_1_7
Или ВерсияКорреспондента_3_0_1_1 Тогда
WSПрокси = Неопределено;
Если ВерсияКорреспондента_3_0_1_1 Тогда
WSПрокси = ПолучитьWSПрокси_3_0_1_1(СтруктураНастроек, , СообщениеПользователю, 5);
ИначеЕсли ВерсияКорреспондента_2_1_1_7 Тогда
WSПрокси = ПолучитьWSПрокси_2_1_1_7(СтруктураНастроек, , СообщениеПользователю, 5);
КонецЕсли;
Если WSПрокси = Неопределено Тогда
Если Отказ Тогда
СброситьПарольСинхронизацииДанных(Корреспондент);
НастройкаСинхронизацииДанныхЗавершена = Ложь;
Возврат Ложь;
КонецЕсли;
Попытка
КодКорреспондента = ИдентификаторЭтогоУзлаДляОбмена(Корреспондент);
ИмяПланаОбмена = ОбменДаннымиПовтИсп.ПолучитьИмяПланаОбмена(Корреспондент);
ЕстьПодключение = WSПрокси.TestConnection(
ИмяПланаОбмена,
КодКорреспондента,
СообщениеПользователю);
Если Не ЕстьПодключение
И ЭтоПланОбменаXDTO(Корреспондент) Тогда
Псевдоним = ПсевдонимПредопределенногоУзла(Корреспондент);
Если ЗначениеЗаполнено(Псевдоним) Тогда
КодКорреспондента = Псевдоним;
ЕстьПодключение = WSПрокси.TestConnection(
ИмяПланаОбмена,
КодКорреспондента,
СообщениеПользователю);
КонецЕсли;
КонецЕсли;
Если ЕстьПодключение
И ВерсияКорреспондента_3_0_1_1 Тогда
СтрокаСообщение = "";
ПараметрыКорреспондентаXDTO = WSПрокси.GetIBParameters(
ИмяПланаОбмена,
КодКорреспондента,
СтрокаСообщение);
ПараметрыКорреспондента = СериализаторXDTO.ПрочитатьXDTO(ПараметрыКорреспондентаXDTO);
Если ПараметрыКорреспондента.Свойство("НастройкаСинхронизацииДанныхЗавершена") Тогда
НастройкаЗавершена = ПараметрыКорреспондента.НастройкаСинхронизацииДанныхЗавершена;
КонецЕсли;
Если ПараметрыКорреспондента.Свойство("ПолученоСообщениеДляСопоставленияДанных") Тогда
ПолученыДанныеДляСопоставления = ПараметрыКорреспондента.ПолученоСообщениеДляСопоставленияДанных;
КонецЕсли;
КонецЕсли;
Если Не ЕстьПодключение
И ЭтоПланОбменаXDTO(Корреспондент) Тогда
ВариантНастройки = "";
Если ОбщегоНазначения.ЕстьРеквизитОбъекта("ВариантНастройки", Корреспондент.Метаданные()) Тогда
ВариантНастройки = ОбщегоНазначения.ЗначениеРеквизитаОбъекта(Корреспондент, "ВариантНастройки");
КонецЕсли;
Если ЗначениеЗаполнено(ВариантНастройки) Тогда
Для Каждого ИмяСтарогоПланаОбмена Из ОбменДаннымиПовтИсп.ПланыОбменаБСП() Цикл
Если ИмяСтарогоПланаОбмена = ИмяПланаОбмена Тогда
Продолжить;
КонецЕсли;
Если ОбменДаннымиПовтИсп.ЭтоПланОбменаРаспределеннойИнформационнойБазы(ИмяСтарогоПланаОбмена) Тогда
Продолжить;
КонецЕсли;
НастройкиСтарогоПланаОбмена = ЗначениеНастройкиПланаОбмена(ИмяСтарогоПланаОбмена,
"ИмяПланаОбменаДляПереходаНаНовыйОбмен,ВариантыНастроекОбмена");
Если НастройкиСтарогоПланаОбмена.ИмяПланаОбменаДляПереходаНаНовыйОбмен = ИмяПланаОбмена Тогда
ВариантНастроек = НастройкиСтарогоПланаОбмена.ВариантыНастроекОбмена.Найти(ВариантНастройки, "ИдентификаторНастройки");
Если Не ВариантНастроек = Неопределено Тогда
ПараметрыКорреспондентаXDTO = WSПрокси.GetIBParameters(
ИмяСтарогоПланаОбмена,
КодКорреспондента,
СообщениеПользователю);
ПараметрыКорреспондента = СериализаторXDTO.ПрочитатьXDTO(ПараметрыКорреспондентаXDTO);
ЕстьПодключение = ПараметрыКорреспондента.ПланОбменаСуществует И ПараметрыКорреспондента.УзелСуществует;
Если ЕстьПодключение Тогда
Если ВерсияКорреспондента_3_0_1_1 Тогда
Если ПараметрыКорреспондента.Свойство("НастройкаСинхронизацииДанныхЗавершена") Тогда
НастройкаЗавершена = ПараметрыКорреспондента.НастройкаСинхронизацииДанныхЗавершена;
КонецЕсли;
Если ПараметрыКорреспондента.Свойство("ПолученоСообщениеДляСопоставленияДанных") Тогда
ПолученыДанныеДляСопоставления = ПараметрыКорреспондента.ПолученоСообщениеДляСопоставленияДанных;
КонецЕсли;
КонецЕсли;
Прервать;
КонецЕсли;
КонецЕсли;
КонецЕсли;
КонецЦикла;
КонецЕсли;
КонецЕсли;
Если ЕстьПодключение Тогда
УстановитьПарольСинхронизацииДанных(Корреспондент, СтруктураНастроек.WSПароль);
КонецЕсли;
Возврат ЕстьПодключение;
Исключение
СброситьПарольСинхронизацииДанных(Корреспондент);
ЗаписьЖурналаРегистрации(СобытиеЖурналаРегистрации,
УровеньЖурналаРегистрации.Ошибка,,, ПодробноеПредставлениеОшибки(ИнформацияОбОшибке()));
СообщениеПользователю = КраткоеПредставлениеПервойОшибки(ИнформацияОбОшибке());
Возврат Ложь;
КонецПопытки;
НастройкаСинхронизацииДанныхЗавершена = СостояниеНастройки.НастройкаСинхронизацииДанныхЗавершена;
ПолученоСообщениеДляСопоставленияДанных = СостояниеНастройки.ПолученоСообщениеДляСопоставленияДанных;
ИначеЕсли ВерсияКорреспондента_2_0_1_6 Тогда
Возврат СостояниеНастройки.НастройкаСуществует;
WSПрокси = ПолучитьWSПрокси_2_0_1_6(СтруктураНастроек,, СообщениеПользователю);
Иначе
WSПрокси = ПолучитьWSПрокси(СтруктураНастроек,, СообщениеПользователю);
КонецЕсли;
ЕстьПодключение = (WSПрокси <> Неопределено);
Если ЕстьПодключение Тогда
УстановитьПарольСинхронизацииДанных(Корреспондент, СтруктураНастроек.WSПароль);
Иначе
СброситьПарольСинхронизацииДанных(Корреспондент);
КонецЕсли;
Возврат ЕстьПодключение;
КонецФункции
// Выводит сообщение об ошибке и выставляет параметр Отказ в "Истина".
@@ -41,7 +41,7 @@
Процедура ПриДобавленииПодсистемы(Описание) Экспорт
Описание.Имя = "СтандартныеПодсистемы";
Описание.Версия = "3.0.2.211";
Описание.Версия = "3.0.2.218";
Описание.ИдентификаторИнтернетПоддержки = "SSL";
Описание.РежимВыполненияОтложенныхОбработчиков = "Параллельно";
Описание.ПараллельноеОтложенноеОбновлениеСВерсии = "2.3.3.0";
@@ -951,6 +951,7 @@
#Область РасширениеДляРаботыСФайлами
// Устарела. Используется в ОбщегоНазначенияКлиент.ПроверитьРасширениеРаботыСФайламиПодключено.
Процедура ПроверитьРасширениеРаботыСФайламиПодключеноЗавершение(РасширениеПодключено, ДополнительныеПараметры) Экспорт
Если РасширениеПодключено Тогда
@@ -9471,11 +9471,11 @@
ПараметрыВыполнения.Вставить("Ссылка2", ВторойФайл);
ПараметрыВыполнения.Вставить("ВладелецВерсии", ВладелецВерсии);
СравнениеВерсийАвтомат(-1, ПараметрыВыполнения);
ЗаполнитьПараметрыСравнения(-1, ПараметрыВыполнения);
КонецПроцедуры
Процедура СравнениеВерсийАвтомат(Результат, ПараметрыВыполнения) Экспорт
Процедура ЗаполнитьПараметрыСравнения(Результат, ПараметрыВыполнения) Экспорт
Если Результат <> -1 Тогда
Если ПараметрыВыполнения.ТекущийШаг = 1 Тогда
@@ -9511,7 +9511,7 @@
Если ПараметрыВыполнения.СпособСравненияВерсийФайлов = Неопределено Тогда
// Первый вызов - еще не инициализирована настройка.
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
Обработчик = Новый ОписаниеОповещения("ЗаполнитьПараметрыСравнения", ЭтотОбъект, ПараметрыВыполнения);
ОткрытьФорму("Обработка.РаботаСФайлами.Форма.ВыборСпособаСравненияВерсий", ,
ЭтотОбъект, , , , Обработчик);
Возврат;
@@ -9538,14 +9538,14 @@
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 3 Тогда
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
Обработчик = Новый ОписаниеОповещения("ЗаполнитьПараметрыСравнения", ЭтотОбъект, ПараметрыВыполнения);
ПолучитьФайлВерсииВРабочийКаталог(
Обработчик, ПараметрыВыполнения.ДанныеФайла1, ПараметрыВыполнения.ПолноеИмяФайла1);
Возврат;
КонецЕсли;
Если ПараметрыВыполнения.ТекущийШаг = 4 Тогда
Обработчик = Новый ОписаниеОповещения("СравнениеВерсийАвтомат", ЭтотОбъект, ПараметрыВыполнения);
Обработчик = Новый ОписаниеОповещения("ЗаполнитьПараметрыСравнения", ЭтотОбъект, ПараметрыВыполнения);
ПолучитьФайлВерсииВРабочийКаталог(
Обработчик, ПараметрыВыполнения.ДанныеФайла2, ПараметрыВыполнения.ПолноеИмяФайла2);
Возврат;
@@ -9553,13 +9553,6 @@
Если ПараметрыВыполнения.ТекущийШаг = 5 Тогда
Если ПараметрыВыполнения.Результат1 И ПараметрыВыполнения.Результат2 Тогда
Если ПараметрыВыполнения.ДанныеФайла1.НомерВерсии < ПараметрыВыполнения.ДанныеФайла2.НомерВерсии Тогда
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла1;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла2;
Иначе
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла2;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла1;
КонецЕсли;
ШаблонЗаголовкаФайла = НСтр("ru='Файл №%1 (%2)'");
ИмяФайла1 = ОбщегоНазначенияКлиентСервер.ПолучитьИмяСРасширением(
ПараметрыВыполнения.ДанныеФайла1.ПолноеНаименованиеВерсии,
@@ -9577,12 +9570,24 @@
ИмяФайла2,
ПараметрыВыполнения.ДанныеФайла2.НомерВерсии);
Если ПараметрыВыполнения.ДанныеФайла1.НомерВерсии < ПараметрыВыполнения.ДанныеФайла2.НомерВерсии Тогда
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла1;
ЗаголовокФайлаСлева = ЗаголовокФайла1;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла2;
ЗаголовокФайлаСправа = ЗаголовокФайла2;
Иначе
ПолноеИмяФайлаСлева = ПараметрыВыполнения.ПолноеИмяФайла2;
ЗаголовокФайлаСлева = ЗаголовокФайла2;
ПолноеИмяФайлаСправа = ПараметрыВыполнения.ПолноеИмяФайла1;
ЗаголовокФайлаСправа = ЗаголовокФайла1;
КонецЕсли;
ВыполнитьСравнениеФайлов(
ПолноеИмяФайлаСлева,
ПолноеИмяФайлаСправа,
ПараметрыВыполнения.СпособСравненияВерсийФайлов,
ЗаголовокФайла1,
ЗаголовокФайла2);
ЗаголовокФайлаСлева,
ЗаголовокФайлаСправа);
КонецЕсли;
КонецЕсли;
@@ -948,12 +948,12 @@
"ВЫБРАТЬ
| ПланОбмена.Ссылка КАК Получатель
|ИЗ
| ПланОбмена.[ИмяПланаОбмена] КАК ПланОбмена
| #ТаблицаПланаОбмена КАК ПланОбмена
|ГДЕ
| ПланОбмена.РегистрироватьИзменения
| И НЕ ПланОбмена.ПометкаУдаления";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяПланаОбмена]", ИмяПланаОбмена);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаПланаОбмена", "ПланОбмена." + ИмяПланаОбмена);
Запрос = Новый Запрос;
Запрос.Текст = ТекстЗапроса;
@@ -972,15 +972,14 @@
"ВЫБРАТЬ
| ПланОбмена.Ссылка КАК Получатель
|ИЗ
| ПланОбмена.[ИмяПланаОбмена] КАК ПланОбмена
| #ТаблицаПланаОбмена КАК ПланОбмена
|ГДЕ
| ПланОбмена.Ссылка <> &ЭтотУзел
| НЕ ПланОбмена.ЭтотУзел
| И НЕ ПланОбмена.ПометкаУдаления";
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "[ИмяПланаОбмена]", ИмяПланаОбмена);
ТекстЗапроса = СтрЗаменить(ТекстЗапроса, "#ТаблицаПланаОбмена", "ПланОбмена." + ИмяПланаОбмена);
Запрос = Новый Запрос;
Запрос.УстановитьПараметр("ЭтотУзел", ПланыОбмена[ИмяПланаОбмена].ЭтотУзел());
Запрос.Текст = ТекстЗапроса;
Получатели = Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Получатель");
@@ -267,8 +267,8 @@
// См. ОбщегоНазначенияПереопределяемый.ПриДобавленииИсключенийПоискаСсылок.
Процедура ПриДобавленииИсключенийПоискаСсылок(Массив) Экспорт
Массив.Добавить(Метаданные.РегистрыСведений.ДополнительныеСведения.ПолноеИмя());
Массив.Добавить(Метаданные.Справочники.НаборыДополнительныхРеквизитовИСведений.ПолноеИмя());
Массив.Добавить("ПланВидовХарактеристик.ДополнительныеРеквизитыИСведения.ТабличнаяЧасть.ЗависимостиДополнительныхРеквизитов.Реквизит.Значение");
КонецПроцедуры
@@ -2330,7 +2330,8 @@
Вложение.Идентификатор = "";
ИначеЕсли СтрНайти(Объект.ТекстHTML, Вложение.Имя) > 0
И СтрНайти(Вложение.Идентификатор, Вложение.Имя + "@") = 0 Тогда
И СтрНайти(Вложение.Идентификатор, Вложение.Имя + "@") = 0
И СтрНайти(Объект.ТекстHTML, "alt=" + """" + Вложение.Имя + """") = 0 Тогда
Вложение.Идентификатор = "";
+9 -9
View File
@@ -1,17 +1,17 @@
<?xml version="1.0" encoding="UTF-8"?>
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="e1c5cd41-9b43-4211-b967-70d890d2ec6b">
<mdclass:Configuration xmlns:mdclass="http://g5.1c.ru/v8/dt/metadata/mdclass" uuid="983b02bf-82b6-424d-903c-a88674e7de23">
<name>БиблиотекаСтандартныхПодсистем</name>
<synonym>
<key>ru</key>
<value>Библиотека стандартных подсистем, редакция 3.0</value>
</synonym>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="25ae64a7-2eba-46f9-9f60-ea2e7b55ffb8"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="10bc8fa6-a4ee-47de-8e85-8cce71d16124"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="ae26fbc0-9d80-472e-8d39-3b18ff8f1420"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="bcac1358-92c0-4659-b412-5ff9fa0f96a4"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="eb9c1a17-8977-469a-a1cd-5a5c16f630dd"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="07325bfc-357b-4f17-848e-97d2661bffa4"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cb98f737-55a5-4de8-bac9-2a5100d8f96f"/>
<containedObjects classId="9cd510cd-abfc-11d4-9434-004095e12fc7" objectId="45be8e6b-2e3e-4c0a-a9da-aa0a6f7fda36"/>
<containedObjects classId="9fcd25a0-4822-11d4-9414-008048da11f9" objectId="5dc12ef7-e6ed-44d3-8f10-6d6ee8c9bd44"/>
<containedObjects classId="e3687481-0a87-462c-a166-9f34594f9bba" objectId="721613fd-a7a2-4a76-90e3-f130f885ea86"/>
<containedObjects classId="9de14907-ec23-4a07-96f0-85521cb6b53b" objectId="1a1451d6-1f44-47f2-b5cd-c801318740d7"/>
<containedObjects classId="51f2d5d8-ea4d-4064-8892-82951750031e" objectId="c066e3dc-d368-4735-9616-77545dff81db"/>
<containedObjects classId="e68182ea-4237-4383-967f-90c1e3370bc7" objectId="8d59b18c-295f-4349-b141-402c1b8d6eb8"/>
<containedObjects classId="fb282519-d103-4dd3-bc12-cb271d631dfc" objectId="cef6830e-63fc-466d-bd43-9c806eda877f"/>
<defaultRunMode>ManagedApplication</defaultRunMode>
<usePurposes>PersonalComputer</usePurposes>
<scriptVariant>Russian</scriptVariant>
@@ -19,7 +19,7 @@
<defaultRoles>Role.АдминистраторСистемы</defaultRoles>
<defaultRoles>Role.ИнтерактивноеОткрытиеВнешнихОтчетовИОбработок</defaultRoles>
<vendor>Фирма &quot;1С&quot;</vendor>
<version>3.0.2.211</version>
<version>3.0.2.218</version>
<updateCatalogAddress>http://downloads.v8.1c.ru/tmplts/</updateCatalogAddress>
<includeHelpInContents>true</includeHelpInContents>
<usedMobileApplicationFunctionalities>
@@ -1 +1 @@
{6,1,1,a3c9d3a0-777f-4eb8-b2db-ced592f3ac3a,1,3dd9f67b-e919-4bb2-b32b-8a7a3f0c518e,"3.0.2.211","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6012,1,0,e1c5cd41-9b43-4211-b967-70d890d2ec6b,e1c5cd41-9b43-4211-b967-70d890d2ec6b,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
{6,1,1,cf24d107-82c6-433f-aefd-a0c11b948b45,1,7a6451cc-f3f8-4c9f-9bbc-a854b5e3d3d0,"3.0.2.218","Фирма ""1С""","БиблиотекаСтандартныхПодсистем",6012,1,0,983b02bf-82b6-424d-903c-a88674e7de23,983b02bf-82b6-424d-903c-a88674e7de23,1,0,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,db4a9ccb-9ef5-4b3c-8577-b6fe5db1b62e,1,0,9233322b-dfdb-4c66-91fe-1299292d40a5,9233322b-dfdb-4c66-91fe-1299292d40a5,1,0,7795348b-2f52-47f7-bf00-e11e5e795a43,7795348b-2f52-47f7-bf00-e11e5e795a43,1,0,0421b67e-ed26-491d-ab98-ec59002ed4ce,0421b67e-ed26-491d-ab98-ec59002ed4ce,1,0,bb47ced2-31f9-4870-8633-20b986e53ccc,bb47ced2-31f9-4870-8633-20b986e53ccc,1,0,7d8acec9-f5a9-411e-921c-446ed0dd3332,7d8acec9-f5a9-411e-921c-446ed0dd3332,1,0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,739c01a9-1125-45ef-ab4e-8c73af4eeff0,1,0,cdbd26b1-9583-46e8-adf7-8cc705639892,cdbd26b1-9583-46e8-adf7-8cc705639892,1,0,c0e38c3e-7088-4e35-9d84-2d0ab9655402,c0e38c3e-7088-4e35-9d84-2d0ab9655402,1,0,1098786f-dd24-4cce-b212-be0cb5f01735,1098786f-dd24-4cce-b212-be0cb5f01735,1,0,3c0037f3-4422-4836-b116-8c72e32bdd55,3c0037f3-4422-4836-b116-8c72e32bdd55,1,0,6f7c6c31-206b-4010-bdad-1ad2e304f154,6f7c6c31-206b-4010-bdad-1ad2e304f154,1,0,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,a8659e53-8c6b-4b0c-9736-fe93a91e4d69,1,0,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,fe9a1d1a-19c0-499f-8e1b-09cadabe882f,1,0,5b68d479-7880-44de-84e3-7f578b43f0dc,5b68d479-7880-44de-84e3-7f578b43f0dc,1,0,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,bf9ca98c-5c95-4cfb-9181-8c1d847f9fbb,1,0,b4629308-42de-4ce8-8591-cf0c2399a9a2,b4629308-42de-4ce8-8591-cf0c2399a9a2,1,0,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,c7e984ae-1dbb-4041-b18a-bfd0d63a002f,1,0,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,bb0424b8-dfd1-4a27-bd66-9dea3ffc77c4,1,0,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,a4ac0a50-ee39-4dc1-b84f-eec8fe485f03,1,0,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1861ee4f-fd8c-4afa-8441-c074bf51f67e,1,0,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,de7ed8f7-3c02-47e0-aea8-4747ac68a5d5,1,0,b93b8760-6200-40ee-8bdc-875ba80a6155,b93b8760-6200-40ee-8bdc-875ba80a6155,1,0,c27472ee-879a-4746-9d21-122738ec80b7,c27472ee-879a-4746-9d21-122738ec80b7,1,0,e8b248d9-9049-456a-9c7d-7a0462cc67ab,e8b248d9-9049-456a-9c7d-7a0462cc67ab,1,0,d4562287-440d-4462-9de2-7097ccbf3764,d4562287-440d-4462-9de2-7097ccbf3764,1,0,ec797c75-02c5-4cf5-9dd4-26cd46c99519,ec797c75-02c5-4cf5-9dd4-26cd46c99519,1,0,6fccdf59-fc99-4a2b-a144-fffe438a147c,6fccdf59-fc99-4a2b-a144-fffe438a147c,1,0,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,af8bd73a-d8e8-487d-8f36-d835ab10ea3a,1,0,08a413ff-bebd-42e5-8ff3-2115746a0844,08a413ff-bebd-42e5-8ff3-2115746a0844,1,0,da9b32e6-5b93-45a6-84b2-238d57541e18,da9b32e6-5b93-45a6-84b2-238d57541e18,1,0,e43d69c8-b284-47da-b236-611bc94a15b6,e43d69c8-b284-47da-b236-611bc94a15b6,1,0,31eeaa05-6c49-41fe-b840-1edbad4ccac7,31eeaa05-6c49-41fe-b840-1edbad4ccac7,1,0,842c8662-8f39-405e-9665-cbdabc116159,842c8662-8f39-405e-9665-cbdabc116159,1,0,fca4b033-02c4-4d61-9e51-87783c3cef1a,fca4b033-02c4-4d61-9e51-87783c3cef1a,1,0,396ef757-d7f6-411f-8c4c-1acb1106a009,396ef757-d7f6-411f-8c4c-1acb1106a009,1,0,839e29b1-a0d2-40fa-9f3e-46e66b943358,839e29b1-a0d2-40fa-9f3e-46e66b943358,1,0,c56d2cc7-630a-441b-b23f-ba78c34849bd,c56d2cc7-630a-441b-b23f-ba78c34849bd,1,0,9aecf4f5-46ed-4d1c-a584-cd028e467895,9aecf4f5-46ed-4d1c-a584-cd028e467895,1,0,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,21d92c2f-6c78-43ce-b1f4-59d7845b5a91,1,0,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,a1c379be-43d3-4e02-83bb-d2e7de2d4ae3,1,0,a1f10624-22e9-4a04-b370-fd085bdd0f67,a1f10624-22e9-4a04-b370-fd085bdd0f67,1,0,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,2a4b10be-3cd7-4755-905f-7b4d02ff6a22,1,0,3cffb795-2a28-4beb-92f4-5813f5994022,3cffb795-2a28-4beb-92f4-5813f5994022,1,0,3323ca68-1382-4710-a933-23fc56588935,3323ca68-1382-4710-a933-23fc56588935,1,0,d6b12775-3255-42b8-88b2-62684f873e7d,d6b12775-3255-42b8-88b2-62684f873e7d,1,0,cc23d903-ccc5-42f4-862f-5e7278c4e346,cc23d903-ccc5-42f4-862f-5e7278c4e346,1,0,98f033e0-fa40-46e0-b51a-87a066749a35,98f033e0-fa40-46e0-b51a-87a066749a35,1,0,e8b4cb2d-1180-4101-954a-4cb5464f198c,e8b4cb2d-1180-4101-954a-4cb5464f198c,1,0,a379287d-1ce8-460d-a503-910e728e28f1,a379287d-1ce8-460d-a503-910e728e28f1,1,0,f765c4ba-c677-42ac-8d0c-43bb485405b9,f765c4ba-c677-42ac-8d0c-43bb485405b9,1,0,83192b3e-e7a9-4595-8887-24cda84457a9,83192b3e-e7a9-4595-8887-24cda84457a9,1,0,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,2fd1287d-d96d-4480-baf7-8815ae5ffbfb,1,0,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,c8a4c5da-bc88-4f6e-9787-1c22c2f41be7,1,0,08eeb8f1-944f-4450-83f6-ef20aaab7d86,08eeb8f1-944f-4450-83f6-ef20aaab7d86,1,0,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,d8c58e53-b7b9-4426-bdfa-d0816adf8cc1,1,0,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,8d77dd4a-e646-4105-8dcf-8ce8fc3da0b4,1,0,2fd12dba-5311-4f31-949c-f6b15decc0cc,2fd12dba-5311-4f31-949c-f6b15decc0cc,1,0,d7cf3981-cf63-4a21-868b-8175a7704a8f,d7cf3981-cf63-4a21-868b-8175a7704a8f,1,0,35895e12-52b6-49a1-acdf-6d828a948af0,35895e12-52b6-49a1-acdf-6d828a948af0,1,0,0ae93712-74e8-41c7-8f2d-4dfc8983697d,0ae93712-74e8Line truncated
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -82,9 +82,6 @@
// Это РИБ и обмен по WS, используем текущего пользователя и пароль из сессии.
ИспользоватьТекущегоПользователяДляАутентификации = Истина;
ПарольСинхронизацииЗадан = ОбменДаннымиСервер.ПарольСинхронизацииДанныхЗадан(УзелИнформационнойБазы);
Если ПарольСинхронизацииЗадан Тогда
WSПароль = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелИнформационнойБазы);
КонецЕсли;
Иначе
@@ -94,13 +91,11 @@
Если ПарольСинхронизацииЗадан Тогда
ПарольСинхронизацииСохранен = Истина;
ИспользоватьСохраненныеПараметрыАутентификации = Истина;
WSПароль = НастройкиТранспорта.WSПароль;
Иначе
// Используем данные из сессии, только если их нет в регистре.
ПарольСинхронизацииЗадан = ОбменДаннымиСервер.ПарольСинхронизацииДанныхЗадан(УзелИнформационнойБазы);
Если ПарольСинхронизацииЗадан Тогда
ИспользоватьСохраненныеПараметрыАутентификации = Истина;
WSПароль = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелИнформационнойБазы);
КонецЕсли;
КонецЕсли;
@@ -603,16 +598,38 @@
КонецПроцедуры
&НаКлиенте
Процедура ИнициализироватьПараметрыАутентификации(ПараметрыАутентификации)
Если ИспользоватьСохраненныеПараметрыАутентификации Тогда
Если Не ПарольСинхронизацииСохранен Тогда
ПараметрыАутентификации = Новый Структура;
ПараметрыАутентификации.Вставить("ИспользоватьТекущегоПользователя", ИспользоватьТекущегоПользователяДляАутентификации);
КонецЕсли;
Иначе
ПараметрыАутентификации = Новый Структура;
ПараметрыАутентификации.Вставить("ИспользоватьТекущегоПользователя", ИспользоватьТекущегоПользователяДляАутентификации);
Если Не ПарольСинхронизацииЗадан Тогда
ПараметрыАутентификации.Вставить("Пароль", WSПароль);
КонецЕсли;
КонецЕсли;
КонецПроцедуры
&НаКлиенте
Процедура ПроверитьПодключение(ЕстьПодключение)
ПараметрыАутентификации = Неопределено;
ИнициализироватьПараметрыАутентификации(ПараметрыАутентификации);
ПроверитьПодключениеНаСервере(ЕстьПодключение, ПараметрыАутентификации);
КонецПроцедуры
&НаСервере
Процедура ПроверитьПодключение()
Процедура ПроверитьПодключениеНаСервере(ЕстьПодключение, ПараметрыАутентификации)
УстановитьПривилегированныйРежим(Истина);
ПараметрыАутентификации = ?(ИспользоватьСохраненныеПараметрыАутентификации,
Неопределено,
Новый Структура("ИспользоватьТекущегоПользователя, Пароль",
ИспользоватьТекущегоПользователяДляАутентификации, ?(ПарольСинхронизацииЗадан, Неопределено, WSПароль)));
ПараметрыПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(УзелИнформационнойБазы, ПараметрыАутентификации);
СинхронизацияДанныхОтключена = Ложь;
@@ -993,16 +1010,14 @@
&НаКлиенте
Функция Подключаемый_ЗапросПароляПользователя_ПриПереходеДалее(Отказ)
Если ПустаяСтрока(WSПароль) Тогда
НСтрока = НСтр("ru = 'Не указан пароль.'");
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтрока,, "WSПароль",, Отказ);
Если Не ПарольСинхронизацииЗадан
И ПустаяСтрока(WSПароль) Тогда
ОбщегоНазначенияКлиент.СообщитьПользователю(НСтр("ru = 'Не указан пароль.'"), , "WSПароль", , Отказ);
Возврат Неопределено;
КонецЕсли;
СохранитьФлагВопросаОДолгойСинхронизации();
Возврат Неопределено;
КонецФункции
&НаКлиенте
@@ -1015,15 +1030,19 @@
Возврат Неопределено;
КонецЕсли;
ПроверитьПодключение();
Если СинхронизацияДанныхОтключена
И ЕстьСтраницаЗапросаПароля Тогда
ЕстьПодключение = Ложь;
ПроверитьПодключение(ЕстьПодключение);
Если ЕстьПодключение Тогда
WSПароль = Строка(Новый УникальныйИдентификатор);
ИспользоватьСохраненныеПараметрыАутентификации = Истина;
ПарольСинхронизацииЗадан = Истина;
Иначе
Если ЕстьСтраницаЗапросаПароля Тогда
Отказ = Истина;
КонецЕсли;
КонецЕсли;
ПерейтиДалее = Не Отказ;
Возврат Неопределено;
КонецФункции
////////////////////////////////////////////////////////////////////////////////
@@ -1032,12 +1051,6 @@
&НаКлиенте
Процедура ФоновоеЗаданиеЗапуститьНаКлиенте(Действие, ИмяЗадания, Отказ)
// Т.к. в фоновом задании параметры сеанса не доступны, то если пароль не сохранен в базе, его надо передать с формы.
ПараметрыАутентификации = ?(ИспользоватьСохраненныеПараметрыАутентификации,
Неопределено,
Новый Структура("ИспользоватьТекущегоПользователя, Пароль",
ИспользоватьТекущегоПользователяДляАутентификации, ?(ПарольСинхронизацииСохранен, Неопределено, WSПароль)));
ПараметрыЗадания = Новый Структура;
ПараметрыЗадания.Вставить("ИмяЗадания", ИмяЗадания);
ПараметрыЗадания.Вставить("Отказ", Отказ);
@@ -1048,7 +1061,6 @@
ПараметрыЗадания.Вставить("ДлительнаяОперация", ДлительнаяОперация);
ПараметрыЗадания.Вставить("ИдентификаторДлительнойОперации", ИдентификаторДлительнойОперации);
ПараметрыЗадания.Вставить("ИдентификаторФайлаСообщенияВСервисе", ИдентификаторФайлаСообщенияВСервисе);
ПараметрыЗадания.Вставить("ПараметрыАутентификации", ПараметрыАутентификации);
Результат = ФоновоеЗаданиеЗапуститьНаСервере(ПараметрыЗадания, ОшибкаРасхожденияВерсийПриПолученииДанных, ПроверятьРасхождениеВерсий);
@@ -1074,7 +1086,7 @@
Иначе
ФоновоеЗаданиеРезультатВыполнения = Результат;
ПодключитьОбработчикОжидания("РезультатВыполненияФоновогоЗадания", 1, Истина);
ПодключитьОбработчикОжидания("РезультатВыполненияФоновогоЗадания", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
@@ -1120,9 +1132,9 @@
// Если обмен данных выполняется с приложением в интернете, то надо дождаться окончания выполнения синхронизации
// на стороне корреспондента.
Если ДлительнаяОперация Тогда
ПодключитьОбработчикОжидания("ОбработчикОжиданияДлительнойОперации", 1, Истина);
ПодключитьОбработчикОжидания("ОбработчикОжиданияДлительнойОперации", 0.1, Истина);
Иначе
ПодключитьОбработчикОжидания("ЗавершениеДлительнойОперации", 1, Истина);
ПодключитьОбработчикОжидания("ЗавершениеДлительнойОперации", 0.1, Истина);
КонецЕсли;
КонецПроцедуры
@@ -1133,10 +1145,8 @@
ДлительнаяОперацияЗавершенаСОшибкой = Ложь;
СообщениеОбОшибке = "";
ПараметрыАутентификации = ?(ИспользоватьСохраненныеПараметрыАутентификации,
Неопределено,
Новый Структура("ИспользоватьТекущегоПользователя, Пароль",
ИспользоватьТекущегоПользователяДляАутентификации, ?(ПарольСинхронизацииЗадан, Неопределено, WSПароль)));
ПараметрыАутентификации = Неопределено;
ИнициализироватьПараметрыАутентификации(ПараметрыАутентификации);
СостояниеОперации = ОбменДаннымиВызовСервера.СостояниеДлительнойОперацииДляУзлаИнформационнойБазы(
ИдентификаторДлительнойОперации,
@@ -1157,7 +1167,7 @@
ДлительнаяОперацияЗавершена = Истина;
ИдентификаторДлительнойОперации = "";
ПодключитьОбработчикОжидания("ЗавершениеДлительнойОперации", 1, Истина);
ПодключитьОбработчикОжидания("ЗавершениеДлительнойОперации", 0.1, Истина);
КонецЕсли;
@@ -1205,7 +1215,7 @@
КонецЕсли;
// Переход дальше с задержкой на 1 секунду, чтобы отобразить прогресс бар 100%.
ПодключитьОбработчикОжидания("ЗапуститьПереходДалее", 1, Истина);
ПодключитьОбработчикОжидания("ЗапуститьПереходДалее", 0.1, Истина);
КонецПроцедуры
@@ -1229,11 +1239,24 @@
ПараметрыВыполнения = ДлительныеОперации.ПараметрыВыполненияВФоне(УникальныйИдентификатор);
ПараметрыВыполнения.НаименованиеФоновогоЗадания = НаименованиеЗадания;
ПараметрыВыполнения.ОжидатьЗавершение = 0;
ДатаНачалаОперации = ТекущаяДатаСеанса();
ПараметрыЗадания.Вставить("ДатаНачалаОперации", ДатаНачалаОперации);
// Запуск фонового задания
ПараметрыАутентификации = Неопределено;
Если Не ПарольСинхронизацииСохранен Тогда
Если ИспользоватьТекущегоПользователяДляАутентификации Тогда
ПараметрыАутентификации = Новый Структура;
ПараметрыАутентификации.Вставить("ИспользоватьТекущегоПользователя", Истина);
ПараметрыАутентификации.Вставить("Пароль",
ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелИнформационнойБазы));
Иначе
ПараметрыАутентификации = ОбменДаннымиСервер.ПарольСинхронизацииДанных(УзелИнформационнойБазы);
КонецЕсли;
КонецЕсли;
ПараметрыЗадания.Вставить("ПараметрыАутентификации", ПараметрыАутентификации);
Результат = ДлительныеОперации.ВыполнитьВФоне(
ПараметрыЗадания.ИмяЗадания,
ПараметрыЗадания,
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -45,7 +45,7 @@
Функция ВерсияКалендарей() Экспорт
Возврат 26;
Возврат 27;
КонецФункции
@@ -57,7 +57,7 @@
Функция ВерсияОбновленияДанныхПроизводственныхКалендарей() Экспорт
Возврат "3.0.2.200";
Возврат "3.0.2.215";
КонецФункции
@@ -460,7 +460,7 @@
<Item Calendar="91" Year="2019" DayType="Предпраздничный" Date="20190603" SwapDate=""/>
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190604" SwapDate=""/>
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190617" SwapDate=""/>
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190811" SwapDate=""/>
<Item Calendar="91" Year="2019" DayType="Праздник" Date="20190812" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Предпраздничный" Date="20200317" SwapDate=""/>
<Item Calendar="91" Year="2020" DayType="Праздник" Date="20200318" SwapDate=""/>
<Item Calendar="92" Year="2016" DayType="Предпраздничный" Date="20160317" SwapDate=""/>
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1487,7 +1487,9 @@
Если ТекущаяСтраница = Элементы.ШагВыполнениеПоиска Тогда
Сообщение = НСтр("ru = 'Поиск дублей...'");
Если Прогресс.Прогресс.Процент > 0 Тогда
Если Прогресс.Прогресс.Текст = "РассчитыватьМестаИспользования" Тогда
Сообщение = НСтр("ru = 'Выполняется расчет мест использования дублей...'");
ИначеЕсли Прогресс.Прогресс.Процент > 0 Тогда
Сообщение = Сообщение + " "
+ СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = '(найдено %1)'"), Прогресс.Прогресс.Процент);
@@ -392,12 +392,15 @@
Результат.ОписаниеОшибки = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Найдено слишком много дублей. Показаны только первые %1.'"), РазмерВозвращаемойПорции);
КонецЕсли;
Возврат Результат;
Прервать;
КонецЕсли;
КонецЦикла;
// Расчет мест использования
Если РассчитыватьМестаИспользования Тогда
ДлительныеОперации.СообщитьПрогресс(0, "РассчитыватьМестаИспользования");
НаборСсылок = Новый Массив;
Для Каждого СтрокаДублей Из ТаблицаДублей Цикл
Если ЗначениеЗаполнено(СтрокаДублей.Ссылка) Тогда
@@ -464,7 +467,10 @@
Параметры.Вставить("РассчитыватьМестаИспользования", Истина);
// Запускаем поиск
ПоместитьВоВременноеХранилище(ГруппыДублей(Параметры), АдресРезультата);
Результат = ГруппыДублей(Параметры);
ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
КонецПроцедуры
#КонецОбласти
@@ -629,7 +635,7 @@
СведенияОДубле.Родитель = СсылкаГруппыДублей;
КонецЕсли;
ДлительныеОперации.СообщитьПрогресс(ТаблицаДублей.Количество());
ДлительныеОперации.СообщитьПрогресс(ТаблицаДублей.Количество(), "ЗарегистрироватьДубль");
КонецПроцедуры
@@ -647,6 +653,7 @@
Процедура ЗаменитьСсылки(Знач ПарыЗамен, Знач Параметры = Неопределено, Знач АдресРезультата = "")
Результат = ОбщегоНазначения.ЗаменитьСсылки(ПарыЗамен, Параметры);
Если АдресРезультата <> "" Тогда
ПоместитьВоВременноеХранилище(Результат, АдресРезультата);
КонецЕсли;
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1756,8 +1756,17 @@
ИдентификаторИнформационнойБазыИсточника = ОбменДаннымиСервер.КодПредопределенногоУзлаПланаОбмена(ИмяПланаОбмена);
ИспользоватьПрефиксыДляНастройкиОбмена = Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(ИмяПланаОбмена)
Или Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(ПланыОбмена[ИмяПланаОбмена].ПустаяСсылка());
Если НастройкаXDTO Тогда
ИспользоватьПрефиксыДляНастройкиОбмена = Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(
ПланыОбмена[ИмяПланаОбмена].ПустаяСсылка());
Если ПустаяСтрока(ИдентификаторИнформационнойБазыИсточника) Тогда
ИдентификаторИнформационнойБазыИсточника = ?(ИспользоватьПрефиксыДляНастройкиОбмена,
Префикс, Строка(Новый УникальныйИдентификатор));
КонецЕсли;
Иначе
ИспользоватьПрефиксыДляНастройкиОбмена = Истина;
КонецЕсли;
// До получения настроек из корреспондента устанавливаем режим по-умолчанию.
ИспользоватьПрефиксыДляНастройкиОбменаКорреспондента = Истина;
@@ -136,8 +136,10 @@
Если УдалитьНастройкуВКорреспонденте
И НастройкаУдаленаВКорреспонденте Тогда
Элементы.ДекорацияСинхронизацияУдаленаНадпись.Заголовок = НСтр("ru = 'Настройки синхронизации данных в этой программе
|и программе-корреспонденте успешно удалены.'");
Элементы.ДекорацияСинхронизацияУдаленаНадпись.Заголовок = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Настройки синхронизации данных в этой программе
|и программе ""%1"" успешно удалены.'"),
НаименованиеКорреспондента);
КонецЕсли;
Иначе
@@ -1453,34 +1453,36 @@
НастройкиПодключения = РегистрыСведений.НастройкиТранспортаОбменаДанными.НастройкиТранспортаWS(
НастройкиУдаления.УзелОбмена);
ВерсииИнтерфейса = Неопределено;
Попытка
ВерсииИнтерфейса = ОбменДаннымиПовтИсп.ВерсииКорреспондента(НастройкиПодключения);
Исключение
Результат.СообщениеОбОшибкеВКорреспонденте = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
СтруктураНастроекОбмена = Новый Структура;
СтруктураНастроекОбмена.Вставить("ИмяПланаОбмена", ИмяПланаОбмена);
СтруктураНастроекОбмена.Вставить("УзелИнформационнойБазы", НастройкиУдаления.УзелОбмена);
СтруктураНастроекОбмена.Вставить("КлючСообщенияЖурналаРегистрации", ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными());
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбмена", ОбменДаннымиПовтИсп.ПолучитьЭтотУзелПланаОбмена(ИмяПланаОбмена));
СтруктураНастроекОбмена.Вставить("ТекущийУзелПланаОбменаКод", ИдентификаторУзла);
СтруктураНастроекОбмена.Вставить("ДействиеПриОбмене", Неопределено);
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными(),
УровеньЖурналаРегистрации.Ошибка, , , Результат.СообщениеОбОшибкеВКорреспонденте);
Возврат;
КонецПопытки;
ПараметрыПрокси = Новый Структура;
ПараметрыПрокси.Вставить("ПараметрыАутентификации", Неопределено);
ПараметрыПрокси.Вставить("МинимальнаяВерсия", "3.0.1.1");
WSПрокси = Неопределено;
Если ВерсииИнтерфейса.Найти("3.0.1.1") <> Неопределено Тогда
WSПрокси = ОбменДаннымиСервер.ПолучитьWSПрокси_3_0_1_1(НастройкиПодключения);
Иначе
Результат.СообщениеОбОшибкеВКорреспонденте = НСтр("ru = 'Удаление настройки синхронизации на стороне программы-корреспондента из этой программы не поддерживается.'");
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Возврат;
КонецЕсли;
Отказ = Ложь;
СостояниеНастройки = Неопределено;
СообщениеОбОшибке = "";
ОбменДаннымиСервер.ИнициализироватьWSПроксиДляУправленияОбменомДанными(
WSПрокси, СтруктураНастроекОбмена, ПараметрыПрокси, Отказ, СостояниеНастройки, СообщениеОбОшибке);
Если WSПрокси = Неопределено Тогда
Если Отказ Тогда
Результат.СообщениеОбОшибкеВКорреспонденте = СообщениеОбОшибке;
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными(),
УровеньЖурналаРегистрации.Ошибка, , , Результат.СообщениеОбОшибкеВКорреспонденте);
Возврат;
КонецЕсли;
Попытка
WSПрокси.RemoveExchangeNode(ИмяПланаОбмена, ИдентификаторУзла);
WSПрокси.RemoveExchangeNode(ИмяПланаОбмена, СтруктураНастроекОбмена.ТекущийУзелПланаОбменаКод);
Исключение
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Результат.СообщениеОбОшибкеВКорреспонденте = ПодробноеПредставлениеОшибки(ИнформацияОбОшибке());
@@ -1489,30 +1491,9 @@
УровеньЖурналаРегистрации.Ошибка, , , Результат.СообщениеОбОшибкеВКорреспонденте);
КонецПопытки;
ИначеЕсли ВидТранспорта = Перечисления.ВидыТранспортаСообщенийОбмена.ВнешняяСистема Тогда
Если ОбщегоНазначения.ПодсистемаСуществует("ИнтернетПоддержкаПользователей.ОбменДаннымиСВнешнимиСистемами") Тогда
Контекст = Новый Структура;
Контекст.Вставить("Корреспондент", НастройкиУдаления.УзелОбмена);
МодульОбменДаннымиСВнешнимиСистемами = ОбщегоНазначения.ОбщийМодуль("ОбменДаннымиСВнешнимиСистемами");
Попытка
МодульОбменДаннымиСВнешнимиСистемами.ПриУдаленииНастройкиСинхронизации(Контекст);
Исключение
Информация = ИнформацияОбОшибке();
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Результат.СообщениеОбОшибкеВКорреспонденте = КраткоеПредставлениеОшибки(Информация);
ЗаписьЖурналаРегистрации(ОбменДаннымиСервер.СобытиеЖурналаРегистрацииУдалениеОбменаДанными(),
УровеньЖурналаРегистрации.Ошибка, , , ПодробноеПредставлениеОшибки(Информация));
КонецПопытки;
КонецЕсли;
Иначе
Результат.НастройкаУдаленаВКорреспонденте = Ложь;
Результат.СообщениеОбОшибкеВКорреспонденте = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
Результат.СообщениеОбОшибке = СтроковыеФункцииКлиентСервер.ПодставитьПараметрыВСтроку(
НСтр("ru = 'Для вида подключения ""%1"" не поддерживается удаление настройки синхронизации на стороне программы-корреспондента.'"),
ВидТранспорта);
КонецЕсли;
@@ -1826,13 +1807,16 @@
ЗаполнитьЗначенияСвойств(НастройкиПодключения, СтруктураНастроек, , "ИмяПланаОбмена, ПрефиксИнформационнойБазыИсточника");
Если Не ЭтоПодключениеОнлайн Тогда
Если Не ЭтоПодключениеОнлайн
Или Не ЗначениеЗаполнено(НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена) Тогда
ПустаяСсылкаПланаОбмена = ПланыОбмена[НастройкиПодключения.ИмяПланаОбмена].ПустаяСсылка();
НастройкиПодключения.ИспользоватьПрефиксыДляНастройкиОбмена =
Не ОбменДаннымиПовтИсп.ЭтоПланОбменаXDTO(НастройкиПодключения.ИмяПланаОбмена)
Или Не ОбменДаннымиXDTOСервер.ПоддерживаетсяВерсияСИдентификаторомОбменаДанными(ПустаяСсылкаПланаОбмена);
КонецЕсли;
Если Не ЭтоПодключениеОнлайн Тогда
КодНовогоУзлаВторойБазы = Неопределено;
СтруктураНастроек.Свойство("КодНовогоУзлаВторойБазы", КодНовогоУзлаВторойБазы);
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
@@ -53,14 +53,8 @@
ЭлементБлокировкиПериодЗаписи = Блокировка.Добавить("РегистрСведений.ЗамерыСтатистики");
ЭлементБлокировкиПериодЗаписи.УстановитьЗначение("ПериодЗаписи", ПериодЗаписи);
ЭлементБлокировкиПериодЗаписи = Блокировка.Добавить("РегистрСведений.ЗамерыСтатистики");
ЭлементБлокировкиПериодЗаписи.УстановитьЗначение("ТипЗаписи", ТипЗаписи);
ЭлементБлокировкиПериодЗаписи = Блокировка.Добавить("РегистрСведений.ЗамерыСтатистики");
ЭлементБлокировкиПериодЗаписи.УстановитьЗначение("Ключ", Ключ);
ЭлементБлокировкиПериодЗаписи = Блокировка.Добавить("РегистрСведений.ЗамерыСтатистики");
ЭлементБлокировкиПериодЗаписи.УстановитьЗначение("ОперацияСтатистики", ОперацияСтатистики);
Блокировка.Заблокировать();
@@ -1,5 +1,5 @@
///////////////////////////////////////////////////////////////////////////////////////////////////////
// Copyright (c) 2018, ООО 1С-Софт
// Copyright (c) 2019, ООО 1С-Софт
// Все права защищены. Эта программа и сопроводительные материалы предоставляются
// в соответствии с условиями лицензии Attribution 4.0 International (CC BY 4.0)
// Текст лицензии доступен по ссылке:
Loaded 100 of 116 files, more files were not shown because too many files have changed in this diff. Show more