Модуль выгрузки битрикс. Настройка обмена с корпоративным порталом

Дополнительный 1С модуль и установка обмена с Bitrix необходимы для расширения функционала программы. Данное решение используется при автоматизации бизнес-процессов производственных предприятий, торговых площадок и интернет-магазинов, работающих на платформе «Битрикс». Модули в 1С представляют собой метаданные, содержащие в себе программный код, описывающий процедуры, переменные, функции, основные разделы программы.

Дополнения следует настраивать в соответствии с инструкцией разработчика. В 1С представлено большое число модулей, отвечающих за описание алгоритмов, обработку событий и данных, вводимых пользователем, различные функции, параметры соединения, инициализацию сеансов, приложения. Они могут устанавливаться как на стороне сервера, так и у клиента.

Выделяют следующие виды модулей:

    для приложений;

    для внешнего соединения;

    параметры сеанса;

  • менеджер объектов.

Каждый из них отличается функциональным предназначением.

Модули формы отвечают за обработку вводимых данных, создание машиночитаемых бланков, настройку параметров печати.

Установка модулей в 1С

Для настройки модуля в 1С: Предприятие 7.7 и 8 выполните 11 шагов:

1. Скачайте компоненты на компьютер в соответствии с версией софта.

2. Откройте «Конфигуратор» в 1С.

3. Создайте архивную БД.

4. Откройте конфигурацию.

5. В меню «Конфигурация» выберите режим объединения.

6. Выберите файл ХХХ.cf.

7. Установите и включите в объединение «Битрикс».

8. Произведите сравнение и объединение.

10. Укажите параметры загрузки 1С в меню «Сервис».

Специалисты компании «Сетби» обладают богатым опытом в настройке программных решений для автоматизации предприятий и помогут вам в выборе софта, соответствующего потребностям вашего бизнеса. Если вам не удается зарегистрировать модуль, то наши программисты помогут вам решить любой вопрос в настройке конфигураций.

Первый блок. Выгрузка товаров.
Модуль обмена 1С-Битрикс позволяет расширить возможности по выгрузке товаров на сайт, рассмотрим ключевые моменты:

1. Дерево каталога. Удобно, когда нужно создать на сайте структуру отличную от структуры номенклатора. Наполнять его можно как по одному товару, так и кладя целые папки.

2. Возможность настроить соответствие полей номенклатуры. Яркий пример из жизни, в номенклатуре в 1С есть два поля: «наименование для печати» и «рабочее наименование». Если нужно выгружать на сайт «наименование для печати», то в таблице можно указать нужный реквизит:

3. Можно изначально указать в настройках, нужно ли выгружать торговые предложения, остатки, цены, свойства.

На вкладке «свойства» программа автоматически подтягивает все свойства номенклатуры, причем сама отмечает какие нужно выгружать в товары, а какие в предложения:

4. Возможность устанавливать нужное количество товаров и предложений в пакете, тем самым, уменьшая нагрузку при выгрузке.

5. Выгрузка в режиме реального времени.

Второй блок. Обмен документами.

1. Выгружать из 1С оффлайн –заказы с определенной даты.
2. Настройка соответствия реквизитов: позволяет указать в какое поле какую информацию загружать, исходя из реквизитов 1С и данных приходящих с БУС. Действует для сущностей:
выбирая нужный вид документа и нажав на кнопку «настроить соответствие реквизитов» вы увидите слева перечень реквизитов 1С, а в правой части те данные, что приходят из БУС. Часть из них заполнены по умолчанию, но вы можете редактировать их по своему умолчанию. Например, реквизит «организация» будет оставаться пустым, так как БУС в заказе не отдает тегов с такими данными
а реквизит стоит как обязательный для заполнения и при записи заказа, пришедшего с БУС может возникнуть ошибка, вот в этом случае можно указать «тип данных» -«фиксированное значение» и установить нужное вам значение (но оно будет проставляться у всех документов). Если значения должны быть разными, то в БУС можно создать дополнительное свойство заказа и его значения, заполнять его при заказе, а настройках указать тип «Из дополнительных свойств документа» и наименование свойства, в части «значение», тогда при обмене будет в реквизит «организация» записываться наименование значения свойства.

3. Модуль умеет загружать оплаты, т.е если на сайте у заказа был создан документ; оплаты, то при обмене создаться документ оплаты в 1С, кроме того вы можете указать «соответствие платежных систем, загрузив из с сайта

4. Загрузка и выгрузка отгрузок. Отгрузки также можно выгружать по частям. Т.е сделать сначала отгрузку на один товар, потом на остальные и только после того как будут выгружены все отгрузки в БУС заказ будет отгружен.

5. Обмен статусами. тут нужно понимать, что если со стороны БУС можно создать сколько угодно статусов, то в УТ 11 их всего 3. И создавать новые нельзя. Т.е синхронизировать по сути можно только три статуса. В УТ 10.3 нет вообще синхронизации статусов и скорее не будет. В УНФ их гораздо больше и там можно более гибко настроить синхронизацию.

6. В УТ 11 есть очень удобные реквизиты "дополнительные сведения" и все ваши свойства заказа, которые вы создадите в БУС, будут отображаться в этих дополнительных сведениях. Это удобно, когда у вас есть какое то свойство, которое вам нужно чтобы попадало в заказ, но указать соответствие реквизиту заказу в 1С нельзя, так как там подобного нет.

Уже, наверное, 2 месяца как делаю новым клиентам интеграции 1С-Битрикс и 1С Предприятия на новой версии модули обмена. Сразу хочу отметить, что новая версия обмена – офигенная, небо и земля по сравнению с тем, что было раньше. Но мелкие острые камушки – попадаются, нужно пройти по ним, ободрав пятки, прежде чем окунуться в это море удовольствия.

Моя основная проблема с новым модулем интеграции состояла в том, что мне было лень на него переходить – за время существования старого модуля обмена, мы серьезно доразвили его для наших клиентов, допилили функционал на стороне 1С, вынесли все во внешние обработки, на стороне Битрикс запили свой модуль и почивали на лаврах. Когда приходил новый клиент, я просто находила похожий кейс, и мы дорабатывали какие-то неизбежно существующие особенности, будучи уверенными, что все пойдет, как надо.

Когда Битриксоиды выпустили новый модуль, некоторое время я присматривалась к нему, но не хотела внедрять – опасалась.

А потом летом случилось страшное - в какой-то момент мои шустрые сотрудники закончили все проекты и 3 дня сидели без дела. Дело то я им, конечно, нашла – обновили наши модули в маркете, но страх повторения этого апокалипсиса – остался. В тот момент я придумала акцию «интеграция в подарок» за покупку у меня лицензии на Битрикс Бизнес или за заключение со мной договора техподдержки на год. Акцию публиковала в разделе партнерских акций на сайте Битрикса, и она выстрелила – до сих пор слышу эхо.

Прикол был в том, что в период действия акции ею воспользовались всего 2 клиента, но потом еще долгое время клиенты приходили ко мне и говорили, что видели акцию и, хотя не успели ею воспользоваться, – решили все равно обратиться ко мне. В итоге в июле и августе на наши плечи свалилось порядка 10 интеграций. Большинство кейсов были типовыми и скучными, однако попались и интересные сложные задачи.

Передо мной встал сложный выбор – интегрировать новых сложных клиентов своим старым способом или внедрять им новый модуль обмена. К слову, новый модуль обмена на 80% покрывает те задачки, к-е раньше мы допиливали клиентам, как нестандартные. Посмотрела я на него и на наши обработки и подумала, что развивать свой модуль на стороне 1с, пытаясь угнаться за Битриксоидами – будет не выгодно. К тому же я вступила во взаимовыгодное партнерство с фирмой, к-я предоставляет 1С Предприятие в качестве «аренды приложения» и я хотела максимально упростить наше взаимодействие и конфигурирование 1с-ки клиентов.
Этот же фактор заставил меня глубже разобраться в коде конфигурации 1С УТ, и я, как обычно, переосмыслила все на новом уровне. (Кстати, у меня в команде теперь есть совершенно отдельный человечек, который занимается исключительно начальными настройками 1С УТ под разные особенности учета и документооборота).

Итак я начала внедрять новый модуль обмена, устанавливая клиентам 1С Предприятие 8.3.5, 1С УТ 11.1.6, накатывала на 1С УТ свежую версию Битриксовского дополнения, и брали свежий на момент начала работ Битрикс. Кстати, версия Битрикс была один из камушков. С него и начну.

1) Соответствие версий обмена на стороне 1С Битрикс и на стороне 1С Предприятия

Не припомню конкретных дат, когда это произошло, но в переходный период выхода новых модулей обмена на стороне Битрикс и на стороне 1С Предприятия у нас с некоторыми клиентами сложилась ситуация, когда Битрикс был обновлен до самой последней версии, а сторона 1С обновлена не была, и в связи с изменением протокола обмена – этот обмен не пошел. Помню свою панику, я даже кинулась копировать старый модуль обмена на стороне Битрикс в свое простанство имен и использовать его, но Битриксоиды, к счастью, предусмотрели решение на этот случай. На стороне Битрикс нужно ввести команды:

Настройки -> Инструменты - > Команда PHP строка
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y" ;
COption::SetOptionString("sale", "secure_1c_exchange", "N" ;

И включится поддержка старой версии протокола.

2) Экспорт в 1С большого объема товаров
На одном из проектов мне нужно было выгрузить с сайта в 1С порядка 40 000 номенклатурынх позиций с картинками. Обработка «Помощник импорта» выполняла эту операцию ужасно долго – больше суток, что было непреемлемо для меня, и я переписала в ней некоторые места – вынесла запросы к базе из цикла. Об этом . Битриксоиды обещали оптимизировать обработку в обновлениях.

3) Обратный импорт и дерево групп
На проекте того же самого клиента, когда мы стали делать интеграцию в обратную сторону у нас сложилась очень специфичная ситуация.

Изначально структура каталога была создана на сайте – не на битриксовском сайте, а на другом старом сайте заказчика на OpenCart. Залили каталог в Битрикс. (используя, кстати, наш модуль импорта из yml и модуль экспорта в yml из опенкарт, к-й я написла на базе одного из бесплатных и дарю теперь тем, кто покупает мой модуль импорта из yml в Битрикс и хочет забрать товары из магазина на OpenCart)

Залили каталог в 1С – все получилось просто отлично – группам товаров был присвоен код, к-й соответствовал внешнему коду разделов XML_ID на стороне Битрикс. Договорились с заказчиком, что далее наполняем каталог и редактируем его структуру на стороне 1С. Выполнили обратный импорт каталога, чтобы убедиться, что все ок, настроили обмен ценами и остатками, протестировали. Затем заказчик сказал, что структура каталога на сайте и в 1С – будет разной. В новом модуле обмена – можно настраивать дерево групп – и такая задача теперь вообще не проблема. Однако выяснился интересный факт – это скорее фича, а не баг, но она меня сильно смутила по-началу. Когда я на стороне 1С настроила дерево групп, я думала, что после обмена они – группы, к-е уже были импортированны на сайт до настройки дерева – возьмут и сами в соответствии с этим деревом перестроятся. Однако начали создаваться новые группы с новыми XML_ID. И это пришлось учесть.

4) Мелкие неприятности на стороне 1С
Трем клиентам внедряли 1С УТ с нуля (+ интегрировали с Битрикс конечно же). Кейсы были идентичными, и делали фактически параллельно. Я сделала одному клиенту, протестила и посадила помощницу все сделать точно так же на 2х других проектах. Начинаю тестировать – на 2х других проектах не работают стандартные отчеты. Вылетает ошибка

Индексируемые поля должны присутствовать в списке выборки
<>Сегменты.Номенклатура

Начинаю внутренне закипать и перебирать в уме все известные мне бранные выражения. Вслух молчу – проверяю. Вроде все одинаково. Разница оказалась в версиях платформы. Там, где все работало ок, версия стояла 8.3.5.1068, а там, где вылетала ошибка – стояла версия платформы 8.3.5.1119, конфигурация стояла одна и та же 1С УТ 11.1.6.26 Проблему решило включение режима совместимости с версией 8.3.4 А при установке дополнения я его обычно совсем выключала - а надо было, видимо, ставить 8.3.4 Хотя на более низких версиях платформы - в частности на 8.3.5.1068 все было ок с отключенным режимом совместимости, а я уже думала, что съем кого-нибудь.

5) Соответствия служб доставок и контрагентов – грузоперевозчиков
Эта задача у нас была неплохо и удобно решена на старом модуле , но к новому модулю старое решение не подходило совсем. На новом модуле я решила задачу с минимальной модификацией модуля обмена заказами, а именно процедуры "СоздатьОбновитьЗаказ".

Дописала там, где шло заполнение свойств заказа, возможно, не очень оптимально.

СпособДоставки = ПолучитьЗначениеРеквизитаДокумента(ДокументXML.ЗначенияРеквизитов, "Способ доставки";);
АдресДоставик= ПолучитьЗначениеРеквизитаДокумента(ДокументXML.ЗначенияРеквизитов, "Адрес доставки";);

//Получаем соответсвия доставок из наших доп настроек:
КлючОбъекта = "Бедросова";
КлючНастроек = "ОбменССайтомБедросова";
//ИмяПользователя = ИмяПользователя();
ИмяПользователя = "SHARE";
СтруктураНастроек = Новый Структура();
Попытка
СтруктураНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта,КлючНастроек,ИмяПользователя);
Исключение
Сообщить("Нет прав на чтение доп настроек обмена.";);
КонецПопытки;
Если СтруктураНастроек = Неопределено Тогда
Сообщить("Не вышло прочитать доп настройки обмена!";);
Иначе
НайденнаяСтрока = СтруктураНастроек.СоответствиеСпособовДоставки.Найти(СпособДоставки, "НаСайте";);
Если НЕ НайденнаяСтрока = Неопределено Тогда
Заказ.СпособДоставки = НайденнаяСтрока.НаСервере;
Заказ.ПеревозчикПартнер = НайденнаяСтрока.Контрагент;
КонецЕсли;
КонецЕсли

А дополнительные настройки - оставила во внешней обработке - так же, как описывала раньше.

6) Корректная передача валюты в заказах
Делая одному из клиентов обмен заказами, столкнулась с такой проблемой: Обмен сам-по себе - проходит нормально, но затем заказу, пришедшему с сайта не удается изменить статус - выдавало ошибку

"Значение поля Валюта не может быть пустым"

В типовых соглашениях о продажах, используемом при обмене - валюта была указана RUB.
На сайте, вроде как, была указана такая же валюта в настройках валют.

Но в заказах, пришедших с сайта валюта была не заполнена.
Оказалось, нужно было указать валюту еще и в настройках интеграции на стороне сайта:


к сожалению, не было возможности протестировать это на мультивалютных магазинах.

7) Отбор номенклатуры по свойству товара

У одного из клиентов стояла 1С УТ 10.3.29.1, накатила на нее соответсвующий модуль обмена. При выгрузке номенклатуры из 1С на сайт нужно было сделать, чтобы выгружались только те товары, у которых определенное пользовательское свойство равно определенному значению. Сначала думала, что для этой цели можно использовать настройки отбора.

Оказалось, что нет.
Этот отбор не для отбора товаров, а общий отбор свойств. Т.е. будут выгружены только те свойства, которые в этом отборе(независимо от доп. настроек свойств).

Но в 1С УТ 10.3 в модуле менеджера объекта плана обмена "Б_ОбменССайтом" есть процедура "НастроитьПостроительТоваров ". В ней я и подправила пакет запросов, связанный с выборкой товаров для того, чтобы решить свою задачу.

Картинки торговых предложений
Очень интересный случай - оставлю на закуску - напишу в следующий раз, как я по-новому реализовала на новом модуле свой старый кейс для магазинов одежды, где учет ведется по характеристикам – цвету и размеру.

Основным режимом работы модуля 1С для обмена с сайтом является обмен, при котором инициатором является 1С. Это работает следующим образом. В базе 1С настраивается профиль обмена, в котором указываются настройки и периодичность обмена. Модуль 1С с заданной периодичностью или по кнопке выгружает товарный каталог на сайт, цены, остатки и загружает заказы покупателей.

Выгрузка/загрузка из 1С возможна напрямую на сайт, на FTP-сервер или в каталог на диске. Для каждой операции обмена (выгрузка информации по товарам, цен, остатков, картинок, заказов и т.д.) можно создать отдельную настройку. А также выгружать на сайт только изменения. Это обеспечивает минимальную нагрузку и высокую скорость выполнения обмена.

Обмен через веб-сервис 1С

Модуль 1С для обмена с сайтом является функциональным решением, которое предоставляет API разработчику сайта. Это дополнительный вариант обмена, инициатором которого является сайт. С заданной периодичность сайт обращается к 1С и получает информацию по товарам, изменения заказов, статусы и т.д. При появлении на сайте нового заказа покупателя он сразу отправляет его в 1С и таким образом менеджеры получают новые заказы в онлайн-режиме. Это обеспечивает высокую скорость обработки заказа, за счет того, что заказы попадают в 1С сразу не дожидаясь сеанса обмена.

И более того, к модулю прилагаются php-шаблоны кода обращения к функциям веб-сервиса. Таким образом разработчику сайта остается только адаптировать их к конкретному сайту и написать обработку результата с учетом его специфики.

Уже, наверное, 2 месяца как делаю новым клиентам интеграции 1С-Битрикс и 1С Предприятия на новой версии модули обмена. Сразу хочу отметить, что новая версия обмена – офигенная, небо и земля по сравнению с тем, что было раньше. Но мелкие острые камушки – попадаются, нужно пройти по ним, ободрав пятки, прежде чем окунуться в это море удовольствия.

Моя основная проблема с новым модулем интеграции состояла в том, что мне было лень на него переходить – за время существования старого модуля обмена, мы серьезно доразвили его для наших клиентов, допилили функционал на стороне 1С, вынесли все во внешние обработки, на стороне Битрикс запили свой модуль и почивали на лаврах. Когда приходил новый клиент, я просто находила похожий кейс, и мы дорабатывали какие-то неизбежно существующие особенности, будучи уверенными, что все пойдет, как надо.

Когда Битриксоиды выпустили новый модуль, некоторое время я присматривалась к нему, но не хотела внедрять – опасалась.

А потом летом случилось страшное - в какой-то момент мои шустрые сотрудники закончили все проекты и 3 дня сидели без дела. Дело то я им, конечно, нашла – обновили наши модули в маркете, но страх повторения этого апокалипсиса – остался. В тот момент я придумала акцию «интеграция в подарок» за покупку у меня лицензии на Битрикс Бизнес или за заключение со мной договора техподдержки на год. Акцию публиковала в разделе партнерских акций на сайте Битрикса, и она выстрелила – до сих пор слышу эхо.

Прикол был в том, что в период действия акции ею воспользовались всего 2 клиента, но потом еще долгое время клиенты приходили ко мне и говорили, что видели акцию и, хотя не успели ею воспользоваться, – решили все равно обратиться ко мне. В итоге в июле и августе на наши плечи свалилось порядка 10 интеграций. Большинство кейсов были типовыми и скучными, однако попались и интересные сложные задачи.

Передо мной встал сложный выбор – интегрировать новых сложных клиентов своим старым способом или внедрять им новый модуль обмена. К слову, новый модуль обмена на 80% покрывает те задачки, к-е раньше мы допиливали клиентам, как нестандартные. Посмотрела я на него и на наши обработки и подумала, что развивать свой модуль на стороне 1с, пытаясь угнаться за Битриксоидами – будет не выгодно. К тому же я вступила во взаимовыгодное партнерство с фирмой, к-я предоставляет 1С Предприятие в качестве «аренды приложения» и я хотела максимально упростить наше взаимодействие и конфигурирование 1с-ки клиентов.
Этот же фактор заставил меня глубже разобраться в коде конфигурации 1С УТ, и я, как обычно, переосмыслила все на новом уровне. (Кстати, у меня в команде теперь есть совершенно отдельный человечек, который занимается исключительно начальными настройками 1С УТ под разные особенности учета и документооборота).

Итак я начала внедрять новый модуль обмена, устанавливая клиентам 1С Предприятие 8.3.5, 1С УТ 11.1.6, накатывала на 1С УТ свежую версию Битриксовского дополнения, и брали свежий на момент начала работ Битрикс. Кстати, версия Битрикс была один из камушков. С него и начну.

1) Соответствие версий обмена на стороне 1С Битрикс и на стороне 1С Предприятия

Не припомню конкретных дат, когда это произошло, но в переходный период выхода новых модулей обмена на стороне Битрикс и на стороне 1С Предприятия у нас с некоторыми клиентами сложилась ситуация, когда Битрикс был обновлен до самой последней версии, а сторона 1С обновлена не была, и в связи с изменением протокола обмена – этот обмен не пошел. Помню свою панику, я даже кинулась копировать старый модуль обмена на стороне Битрикс в свое простанство имен и использовать его, но Битриксоиды, к счастью, предусмотрели решение на этот случай. На стороне Битрикс нужно ввести команды:

Настройки -> Инструменты - > Команда PHP строка
COption::SetOptionString("catalog", "DEFAULT_SKIP_SOURCE_CHECK", "Y" ;
COption::SetOptionString("sale", "secure_1c_exchange", "N" ;

И включится поддержка старой версии протокола.

2) Экспорт в 1С большого объема товаров
На одном из проектов мне нужно было выгрузить с сайта в 1С порядка 40 000 номенклатурынх позиций с картинками. Обработка «Помощник импорта» выполняла эту операцию ужасно долго – больше суток, что было непреемлемо для меня, и я переписала в ней некоторые места – вынесла запросы к базе из цикла. Об этом я писала отдельный пост . Битриксоиды обещали оптимизировать обработку в обновлениях.

3) Обратный импорт и дерево групп
На проекте того же самого клиента, когда мы стали делать интеграцию в обратную сторону у нас сложилась очень специфичная ситуация.

Изначально структура каталога была создана на сайте – не на битриксовском сайте, а на другом старом сайте заказчика на OpenCart. Залили каталог в Битрикс. (используя, кстати, наш модуль импорта из yml и модуль экспорта в yml из опенкарт, к-й я написла на базе одного из бесплатных и дарю теперь тем, кто покупает мой модуль импорта из yml в Битрикс и хочет забрать товары из магазина на OpenCart)

Залили каталог в 1С – все получилось просто отлично – группам товаров был присвоен код, к-й соответствовал внешнему коду разделов XML_ID на стороне Битрикс. Договорились с заказчиком, что далее наполняем каталог и редактируем его структуру на стороне 1С. Выполнили обратный импорт каталога, чтобы убедиться, что все ок, настроили обмен ценами и остатками, протестировали. Затем заказчик сказал, что структура каталога на сайте и в 1С – будет разной. В новом модуле обмена – можно настраивать дерево групп – и такая задача теперь вообще не проблема. Однако выяснился интересный факт – это скорее фича, а не баг, но она меня сильно смутила по-началу. Когда я на стороне 1С настроила дерево групп, я думала, что после обмена они – группы, к-е уже были импортированны на сайт до настройки дерева – возьмут и сами в соответствии с этим деревом перестроятся. Однако начали создаваться новые группы с новыми XML_ID. И это пришлось учесть.

4) Мелкие неприятности на стороне 1С
Трем клиентам внедряли 1С УТ с нуля (+ интегрировали с Битрикс конечно же). Кейсы были идентичными, и делали фактически параллельно. Я сделала одному клиенту, протестила и посадила помощницу все сделать точно так же на 2х других проектах. Начинаю тестировать – на 2х других проектах не работают стандартные отчеты. Вылетает ошибка

Индексируемые поля должны присутствовать в списке выборки
<>Сегменты.Номенклатура

Начинаю внутренне закипать и перебирать в уме все известные мне бранные выражения. Вслух молчу – проверяю. Вроде все одинаково. Разница оказалась в версиях платформы. Там, где все работало ок, версия стояла 8.3.5.1068, а там, где вылетала ошибка – стояла версия платформы 8.3.5.1119, конфигурация стояла одна и та же 1С УТ 11.1.6.26 Проблему решило включение режима совместимости с версией 8.3.4 А при установке дополнения я его обычно совсем выключала - а надо было, видимо, ставить 8.3.4 Хотя на более низких версиях платформы - в частности на 8.3.5.1068 все было ок с отключенным режимом совместимости, а я уже думала, что съем кого-нибудь.

5) Соответствия служб доставок и контрагентов – грузоперевозчиков
Эта задача у нас была неплохо и удобно решена на старом модуле , но к новому модулю старое решение не подходило совсем. На новом модуле я решила задачу с минимальной модификацией модуля обмена заказами, а именно процедуры "СоздатьОбновитьЗаказ".

Дописала там, где шло заполнение свойств заказа, возможно, не очень оптимально

СпособДоставки = ПолучитьЗначениеРеквизитаДокумента(ДокументXML.ЗначенияРеквизитов, "Способ доставки");
АдресДоставик= ПолучитьЗначениеРеквизитаДокумента(ДокументXML.ЗначенияРеквизитов, "Адрес доставки");

//Получаем соответсвия доставок из наших доп настроек:
КлючОбъекта = "Бедросова";
КлючНастроек = "ОбменССайтомБедросова";
//ИмяПользователя = ИмяПользователя();
ИмяПользователя = "SHARE";
СтруктураНастроек = Новый Структура();
Попытка
СтруктураНастроек = ХранилищеОбщихНастроек.Загрузить(КлючОбъекта,КлючНастроек,ИмяПользователя);
Исключение
Сообщить("Нет прав на чтение доп настроек обмена.");
КонецПопытки;
Если СтруктураНастроек = Неопределено Тогда
Сообщить("Не вышло прочитать доп настройки обмена!");
Иначе
НайденнаяСтрока = СтруктураНастроек.СоответствиеСпособовДоставки.Найти(СпособДоставки, "НаСайте");
Если НЕ НайденнаяСтрока = Неопределено Тогда
Заказ.СпособДоставки = НайденнаяСтрока.НаСервере;
Заказ.ПеревозчикПартнер = НайденнаяСтрока.Контрагент;
КонецЕсли;
КонецЕсли;

А дополнительные настройки - оставила во внешней обработке - так же, как описывала раньше.


6) Корректная передача валюты в заказах
Делая одному из клиентов обмен заказами, столкнулась с такой проблемой: Обмен сам-по себе - проходит нормально, но затем заказу, пришедшему с сайта не удается изменить статус - выдавало ошибку

"Значение поля Валюта не может быть пустым"

В типовых соглашениях о продажах, используемом при обмене - валюта была указана RUB.
На сайте, вроде как, была указана такая же валюта в настройках валют.

Но в заказах, пришедших с сайта валюта была не заполнена.
Оказалось, нужно было указать валюту еще и в настройках интеграции на стороне сайта:


к сожалению, не было возможности протестировать это на мультивалютных магазинах.

7) Отбор номенклатуры по свойству товара

У одного из клиентов стояла 1С УТ 10.3.29.1, накатила на нее соответсвующий модуль обмена. При выгрузке номенклатуры из 1С на сайт нужно было сделать, чтобы выгружались только те товары, у которых определенное пользовательское свойство равно определенному значению. Сначала думала, что для этой цели можно использовать настройки отбора.

Оказалось, что нет.
Этот отбор не для отбора товаров, а общий отбор свойств. Т.е. будут выгружены только те свойства, которые в этом отборе(независимо от доп. настроек свойств).

Но в 1С УТ 10.3 в модуле менеджера объекта плана обмена "Б_ОбменССайтом" есть процедура "НастроитьПостроительТоваров ". В ней я и подправила пакет запросов, связанный с выборкой товаров для того, чтобы решить свою задачу.

9) Картинки торговых предложений

Потрясающе интересный случай - оставляю на закуску - напишу в следующий раз, как я по-новому реализовала на новом модуле для магазинов одежды, где учет ведется по характеристикам – цвету и размеру.