Встроенный типовой обмен CommerceML

Настройка связи (на примере облачной 1С УНФ 1.6)

triangle-exclamation
  1. В 1С перейдите в Настройки - Обмен с сайтом, затем перейдите в Настройки обмена с сайтом.

  1. На первом шаге укажите Ваша CMS Другая, проставьте, что нужно синхронизировать:

  1. В меню Настройки - Обмен данными в PHPShop укажите, что будете загружать. Подробно мы описали в этой инструкции: https://docs.phpshop.ru/nastroiky/dokumentooborot-crm#commercemlarrow-up-right

  2. В меню Настройки - Обмен данными выберите тип авторизации По логину и паролю или По имени файла:

circle-info

Для этого типа авторизации (Логин и пароль), ядро PHP на вашем хостинге должно работать в режиме модуля Apache. Если на хостинге включен режим СGI, то не получится авторизоваться по логину паролю. Отключите режим CGI или используйте тип авторизации По имени файла.

  • В меню Настройки - Обмен данными, выберите тип авторизации Логин и пароль. Нажмите Сохранить.

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

Адрес магазина - https://имя_сайта/1cManager/

Логин - логин администратора магазина

Пароль - пароль администратора магазина

  1. Нажмите кнопку Проверить соединение.

  2. Нажмите Далее.

  3. Укажите данные для выгрузки:

Цены - какие цены будут выгружаться на сайт.

Каталоги - можно выбрать отдельные каталоги для выгрузки.

Склады - по умолчанию выгружаются общие остатки. Если складов несколько, поставьте здесь галку.

Нажмите Далее.

  1. Задайте настройки для обмена заказами:

Нажмите Далее.

  1. Укажите расписание обмена:

Нажмите Готово.

Настройка цен, складов, категорий, характеристик товаров

Эти данные настраиваются в закладке Выгрузка товаров.

  1. Откройте только что созданный обмен и нажмите вкладку Выгрузка товаров. Укажите нужные вам параметры выгрузки данных на сайт:

circle-info

Если складов несколько, предварительно заведите склады в PHPShop в меню Настройки - Склады и укажите внешний код из 1С в складах.

Внешний код склада можно найти в файле offers.xml. Файл можно выгрузить в окне Обмена, кнопка Инструменты администратора - Выгрузка на сайт - Текст файлов полного обмена. Откроются 2 файла import.xml и offers.xml. Внешние коды складов в файле offers.xml в начале файла.

Пропишите код в поле Внешний код в PHPShop в карточке склада. Для корректного сохранения кода, в правах администратора должны быть проставлены все галки.

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

нажмите Сохранить.

  1. Нажмите Выполнить полный обмен данными.

  1. Перейдите на сайт и убедитесь, что товары и структура каталогов загрузились 🎉.

Результат выгрузки по складам

Заказы и статусы

  1. Откройте созданный обмен и нажмите вкладку Обмен заказами. Укажите параметры обмена.

  2. В PHPShop в меню Заказы - статусы заказов создайте статус заказа, в поле Внешний код придумайте код.

  3. Введите код заказа в настройке обмена в 1С в меню Статусы заказов:

4. Нажмите Записать.

  1. Оформите тестовый заказ в магазине:

  1. В настроенном обмене в 1С нажмите кнопку Синхронизация данных - Выполнить обмен - изменения:

  1. Перейдите в меню Продажи - Заказы покупателей. Если заказ не появился, в фильтре вывода данных выберите нужную организацию.

  1. В 1С поменяйте статус заказа, нажмите Записать:

9. В настроенном обмене товарами в 1С нажмите кнопку Синхронизация данных - Выполнить обмен - изменения:

  1. Проверьте, что статус заказа изменился в магазине:

Службы доставки

  1. Откройте созданный обмен и нажмите вкладку Обмен заказами. Укажите параметры обмена.

  2. В PHPShop в меню Заказы - доставка создайте доставку (или включите нужный модуль доставки, и она появится автоматически), в поле Внешний код придумайте код.

  3. Введите код доставки в настройке обмена в 1С в меню Службы доставки. Если в обмене нет настроек сопоставления доставок, то код доставки можно посмотреть в файле синхронизации статусов заказов: /1cManager/orders/orders.xml

  4. Теперь доставка будет загружена в Заказ с указанной стоимостью.

Возможные проблемы

Авторизация

circle-exclamation

Не создаются новые товары

Если используется авторизация по имени файла, то создайте отдельного администратора для обмена данными с правами доступа по API и сгенерированным Токеном.

Не выгружаются картинки

1C выгружает изображения по каталогам, если в каталоге содержится много товаров (500 и более), то при выгрузке получится очень большой архив с картинками, который может не загрузится или не распаковаться из-за лимитов хостинга.

Для загрузки такого большого объема картинок следует включить режим оптимизированного обмена картинками (если он поддерживается вашей конфигурацией 1С).

В настройках параметров обмена данными в 1С в меню "Расширенные настройки обмена данными в формате CommerсeML2" должна быть поставлена галочка Использовать оптимизированный обмен картинок.

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

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

Не загружаются заказы

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

Если заказы не загружаются в 1С или выводится ошибка чтения данных при загрузке в 1С, то следует перенести сайт на рекомендуемые хостингиarrow-up-right из первой пятерки, на которых успешна протестирована работа обмена данными c 1C.

Производительность

Если из 1С выгружается большой объем данных или выбрано много каталогов в фильтре отбора, то транспортный ZIP-файл получается очень большого размера (несколько сот мегабайтов). Для принятия такого файла и его распаковки потребуются повышенные ресурсы хостинга .

Для увеличения ресурсов хостинга следует в корневой файл сайта .htaccess в самое начало добавить строки, позволяющие загружать файлы до 512MB

Настройки обмена 1С

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

Если возникает ошибка привязки даты, номера заказа сайта или ошибка отсутствия типового соглашения по ценам, то следует воспользоваться официальной инструкции по настройке типового обменаarrow-up-right.

Очистка временных файлов

Для предотвращения переполнения временных папок на хостинге для хранения логов 1cManager/log и транспортных файлов 1cManager/sklad создайте новую задачу в модуле Задачиarrow-up-right с адресом запускаемого файла 1cManager/clean.php.

circle-check

Last updated