Встроенный типовой обмен CommerceML (для новых версий 1С)

Данная инструкция актуальна для новых конфигураций 1С, которые вышли после 2020 года и для 1С в облаке.

Поддерживаемые конфигурации:

Поддержка типового обмена с сайтом на основе CommerceML есть в следующих конфигурациях, а также в конфигурациях, созданных на их основе:

  • Управление торговлей, редакция 10.3

  • Управление торговлей, редакция 11.1

  • Управление торговлей, редакция 11.2

  • Управление торговлей, редакция 11.3

  • Управление торговлей, редакция 11.4

  • Управление торговлей, редакция 11.5

  • Комплексная автоматизация, редакция 2.0

  • Комплексная автоматизация, редакция 2.5

  • Розница, редакция 2.2

  • Розница, редакция 2.3

  • Розница, редакция 3.0

  • Управление нашей фирмой, редакция 1.6

  • Управление нашей фирмой, редакция 3.0


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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Если складов несколько, предварительно заведите склады в 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. Теперь доставка будет загружена в Заказ с указанной стоимостью.

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

Авторизация

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

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

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

php_value memory_limit 512M
php_value upload_max_filesize 536870912

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

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

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

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

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

1С хуки

На сайте должны быть отключены 1С-хуки - все файлы в папке /1cManager/hook/ должны начинаться с символа решетки #

Last updated

Was this helpful?