Загрузка пункта выдачи заказа с сайта. УНФ3
В УНФ почему-то ПВЗ только выгружается на сайт, но не загружается с сайта. Вот, выгрузка на сайт есть:

Попросил администратора сайта добавить в значения реквизитов заказа наименование ПВЗ под реквизитом «Пункт выдачи заказа»:

Далее делаю расширение модуля ОбменССайтом (ОШИБКА. Код не рабочий):
&Вместо("ЗаполнитьЗаказДаннымиДокументаXDTO") Функция сайт_ЗаполнитьЗаказДаннымиДокументаXDTO(ДокументОбъект, ДокументXDTO, СвойстваЗаказа, Параметры, ОписаниеОшибки) //Осипов - создание пункта вычачи заказа 25-02-04 Результат = ПродолжитьВызов(ДокументОбъект, ДокументXDTO, СвойстваЗаказа, Параметры, ОписаниеОшибки); Если СвойстваЗаказа.Получить("Пункт выдачи заказа") <> Неопределено Тогда НаименованиеПВЗ = СвойстваЗаказа.Получить("Пункт выдачи заказа"); ИскПВЗ = Справочники.ПунктыВыдачиЗаказов.НайтиПоНаименованию(ИскПВЗ, Истина,, ДокументОбъект.СлужбаДоставки); Если Не ЗначениеЗаполнено(ИскПВЗ) Тогда ОО = Справочники.ПунктыВыдачиЗаказов.СоздатьЭлемент(); ОО.Владелец = ДокументОбъект.СлужбаДоставки; ОО.Наименование = "НаименованиеПВЗ"; ОО.Записать(); ИскПВЗ = ОО.Ссылка; КонецЕсли; ДокументОбъект.ПунктВыдачиЗаказа = ИскПВЗ; КонецЕсли; Возврат Результат; КонецФункции
UPD 25-03-12: Отладка показала, что обмен переехал в модуль ИнтеграцияСИнтернетМагазиномСервер. Беру из свойства комментарий объекта XDO, администратор только туда смог запихнуть JSON:
&Вместо("ЗаполнитьЗаказДаннымиДокументаXDTO") Функция сайт_ЗаполнитьЗаказДаннымиДокументаXDTO(ДокументОбъект, ДокументXDTO, СвойстваЗаказа, Параметры, ОписаниеОшибки) СтрокаXDTO = сайт_Сервер.ОбъектXDTOВстроку(ДокументXDTO); СвойстваЗаказа.Вставить("ДокументXDTO", СтрокаXDTO); ЗаписьЖурналаРегистрации("Отладка.ЗаказXDTO",,,,СтрокаXDTO); Данные = Неопределено; КомментарийXDTO = ""; Если ОбъектXDTOСодержитСвойство(ДокументXDTO, "Комментарий") Тогда Если ТипЗнч(ДокументXDTO.Комментарий) = Тип("Строка") Тогда КомментарийXDTO = СокрЛП(ДокументXDTO.Комментарий); ЗаписьЖурналаРегистрации("Отладка.ЗаказXDTO.КомментарийXDTO",,,,КомментарийXDTO); Попытка Данные = сайт_Сервер.ДанныеИзJSON(КомментарийXDTO); Исключение КонецПопытки; КонецЕсли; КонецЕсли; Результат = ПродолжитьВызов(ДокументОбъект, ДокументXDTO, СвойстваЗаказа, Параметры, ОписаниеОшибки); //Заполняем после, когда ПВЗ уже проставлен Если Данные <> Неопределено И ТипЗнч(Данные) = Тип("Структура") И Данные.Свойство("pvz") Тогда НаименованиеПВЗ = Данные.pvz; //"143909, Россия, Московская область, Балашиха, ул. Лукино, 57А" ИскПВЗ = Справочники.ПунктыВыдачиЗаказа.НайтиПоНаименованию(НаименованиеПВЗ, Истина,,ДокументОбъект.СлужбаДоставки); Если Не ЗначениеЗаполнено(ИскПВЗ) Тогда ОО = Справочники.ПунктыВыдачиЗаказа.СоздатьЭлемент(); ОО.Владелец = ДокументОбъект.СлужбаДоставки; ОО.Наименование = НаименованиеПВЗ; ОО.Записать(); ИскПВЗ = ОО.Ссылка; КонецЕсли; ДокументОбъект.ПунктВыдачиЗаказа = ИскПВЗ; КонецЕсли; Возврат Результат; КонецФункции
В итоге ПВЗ создается или находится при загрузке заказа.
Среда: 3.0.10.178 Объем: 1 час

За час можно было и качественно сделать
У каждого свой темп работы. И я кстати делаю с оптимальным качеством. За это клиенты и любят.