Функция ПодключениеКВебСервису(ПараметрДляОтправкиНаСервер) Экспорт //Подключение к серверу авторизации ВСОпределение = Новый WSОпределения("http://10.34.9.83/NEDeliveryserver/ws/NEDataTransfer.1cws?wsdl","Tamara"); ВСервис = ВСОпределение.Сервисы.Получить("NEDataTransfer","NEDataTransfer"); ВТочкаВхода = ВСервис.ТочкиПодключения.Получить("NEDataTransferSoap"); ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить("Registration"); ВСПрокси = Новый WSПрокси(ВСОпределение, "NEDataTransfer","NEDataTransfer","NEDataTransferSoap"); ВСПрокси.Пользователь = "Tamara"; Ответ = ВСПрокси.Registration(СериализаторXDTO.ЗаписатьXDTO(ПараметрДляОтправкиНаСервер)); Возврат СериализаторXDTO.ПрочитатьXDTO(Ответ); КонецФункции Функция ПодключениеКВебСервисуЦентральнойБД(ПараметрДляОтправкиНаСервер, СтруктураПодключения = Неопределено) Экспорт //Подключение к серверу базы данных Если СтруктураПодключения = Неопределено Тогда СтруктураПодключения = Константы.НастройкиПодключения.Получить().Получить(); КонецЕсли; ВСОпределение = Новый WSОпределения(СтруктураПодключения.Адрес,СтруктураПодключения.Пользователь,СтруктураПодключения.Пароль); ВСервис = ВСОпределение.Сервисы.Получить(СтруктураПодключения.URIПространстваИменСервиса,СтруктураПодключения.ИмяСервиса); ВТочкаВхода = ВСервис.ТочкиПодключения.Получить(СтруктураПодключения.ИмяСервиса + "Soap"); ВОперация = ВТочкаВхода.Интерфейс.Операции.Получить(СтруктураПодключения.ИмяФункции); ВСПрокси = Новый WSПрокси(ВСОпределение, СтруктураПодключения.URIПространстваИменСервиса,СтруктураПодключения.ИмяСервиса,СтруктураПодключения.ИмяСервиса + "Soap"); ВСПрокси.Пользователь = СтруктураПодключения.Пользователь; ВСПрокси.Пароль = СтруктураПодключения.Пароль; Ответ = ""; Выполнить("Ответ = ВСПрокси." + СтруктураПодключения.ИмяФункции + "(СериализаторXDTO.ЗаписатьXDTO(ПараметрДляОтправкиНаСервер));"); //Выполнить("Ответ = ВСПрокси." + СтруктураПодключения.ИмяФункции + "(ПараметрДляОтправкиНаСервер);"); Возврат СериализаторXDTO.ПрочитатьXDTO(Ответ); //Возврат Ответ.Получить(); КонецФункции &НаСервере Процедура СделатьОбмен() СтрЗапроса = Новый Структура; СтрЗапроса.Вставить("ИнформацияОКонфигурации", ПолучитьИнфуОКонфигурации()); Ответ = ПодключениеКВебСервисуЦентральнойБД(Новый ХранилищеЗначения(СтрЗапроса,Новый СжатиеДанных(9))); Если ОбработкаОшибок(Ответ.Ошибка) тогда Возврат КонецЕсли; СтрОтвета = Десериализовать(Ответ.ПакетОбмена); Для Каждого ЭлСтр Из СтрОтвета Цикл ТипДанных = Метаданные.НайтиПоТипу(ЭлСтр.Ключ); Если ЭлСтр.Ключ = Тип("СправочникСсылка.аАдресаОрганизации") //Если ЭлСтр.Ключ = Тип("СправочникСсылка.аГорода") ИЛИ ЭлСтр.Ключ = Тип("СправочникСсылка.КонтактныеЛица") ИЛИ ЭлСтр.Ключ = Тип("СправочникСсылка.КонтактныеЛицаКонтрагентов") ИЛИ ЭлСтр.Ключ = Тип("СправочникСсылка.Контрагенты") Тогда #Область ПодготовкаКЗагрузкеСправочников СтрРеквизитов = Новый Соответствие; СтрРекЭлемента = ""; СтрРекГруппы = ""; Для Каждого Рек из ТипДанных.Реквизиты Цикл Если Рек.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляЭлемента Тогда СтрРекЭлемента = СтрРекЭлемента + Рек.Имя + ","; ИначеЕсли Рек.Использование = Метаданные.СвойстваОбъектов.ИспользованиеРеквизита.ДляГруппы Тогда СтрРекГруппы = СтрРекГруппы + Рек.Имя + ","; Иначе СтрРекЭлемента = СтрРекЭлемента + Рек.Имя + ","; СтрРекГруппы = СтрРекГруппы + Рек.Имя + ","; КонецЕсли; КонецЦикла; Для Каждого Рек из ТипДанных.СтандартныеРеквизиты Цикл Если ЭлСтр.Значение.Колонки.Найти(Рек.Имя) <> Неопределено И НЕ Рек.Имя = "Ссылка" И НЕ Рек.Имя = "ЭтоГруппа" Тогда СтрРекЭлемента = СтрРекЭлемента + Рек.Имя + ","; СтрРекГруппы = СтрРекГруппы + Рек.Имя + ","; КонецЕсли; КонецЦикла; СтрРеквизитов.Вставить(Истина, Лев(СтрРекГруппы ,СтрДлина(СтрРекГруппы) - 1)); СтрРеквизитов.Вставить(Ложь , Лев(СтрРекЭлемента,СтрДлина(СтрРекЭлемента) - 1)); #КонецОбласти ЗагрузкаСправочников(ЭлСтр.Значение, ТипДанных.Имя, СтрРеквизитов); ИначеЕсли ЭлСтр.Ключ = Тип("ДокументСсылка.асгГруз") Тогда ЗагрузкаДокументов(ЭлСтр.Значение, ТипДанных); КонецЕсли; КонецЦикла; КонецПроцедуры