Обмен данными между магазином и «1С»

Система управления поддерживает возможность обмена данными с «1С: Предприятие» не ниже версии 8.1 в редакции «1С: Управление торговлей» не ниже версии 10.3.4.

Обмен данными осуществляется через файл формата CommerceML (о формате: https://www.1c.ru/rus/products/1c/integration/cml.htm) и может производиться вручную (через файл) либо автоматически (частота обновления настраивается в 1С).

1. Настройте обмен данными

Важно: для обмена данными с «1С» на сервере с установленными скриптами интернет-магазина должно быть доступно PHP-расширение XMLReader!
Внимание: если система управления установлена на сервере, где PHP работает в качестве CGI, то для работы авторизации при обмене информацией с «1С» необходимо наличие модуля mod_rewrite для веб-сервера Apache; при соблюдении этих условий в начало файла .htaccess в каталоге установки скриптов необходимо добавить следующий код:
RewriteEngine On
RewriteCond %{HTTP:Authorization} !^$
RewriteCond %{REQUEST_URI} !(http_auth)
RewriteRule ^(.*)$ $1?http_auth=%{HTTP:Authorization} [QSA]

Перейдите в раздел Импорт/экспорт → «1С» и включите автоматический обмен данными:

После включения активируется скрипт обмена данными (синхронизации), и система управления становится готова к автоматическому обновлению.

Скопируйте адрес скрипта синхронизации из текстового поля — он потребуется для настройки синхронизации на стороне «1С».

2. Настройте обмен данными на стороне «1С»

  1. В программе «1С: Управление торговлей» щелкните по пункту меню «Обмен данными с WEB-сайтом → Настроить обмен данными с WEB-сайтом» в меню «Сервис».
  2. Выберите «Создать новую настройку обмена с WEB-сайтом».
  3. В диалоге настроек обмена данными вставьте скопированный в бекенде интернет-магазина адрес скрипта синхронизации, оставив имя пользователя и пароль пустыми, а остальные переключатели — без изменений (как показано на рисунке ниже):
  4. Щелкните «Проверить», чтобы убедиться в правильности введенных данных. Если не появится сообщение «Соединение выполнено успешно», значит при в ходе проверки данных возникла ошибка. Для устранения ошибки вам помогут автоматически появляющиеся служебные сообщения в нижней части окна. При автоматическом обмене данными «1С» выступает в роли клиента, а система управления — в роли сервера.
  5. На шаге настройки выгрузки товаров оставьте все значения выключенными (по умолчанию):
    Настройку «Выгружать картинки» достаточно включать при первой автоматической синхронизации либо после появления в базе данных «1С» новых товарных единиц с изображениями — для их переноса в интернет-магазин. В остальных случаях для уменьшения времени синхронизации рекомендуется выключать эту настройку. Импорт изображений в интернет-магазин с помощью ручного импорта файла не поддерживается.
  6. Укажите, как часто необходимо выполнять обмен данными:

3. Готово!

Ваш интернет-магазин настроен для обмена данными с «1С»!


Важные рекомендации по обмену данными между системой управления и 1C

Порядок обмена данными

Система управления умеет:

  • экспортировать в файл формата CommerceML (т. е. отдавать в 1С) информацию о товарах и заказах, однако в случае автоматического обмена данными «1С» принимает из этой информации только данные о заказах, а товары необходимо переносить из магазина в «1С» только через файл вручную. Если у товара в каталоге системы управления есть дополнительные характеристики, то они не будут перенесены в «1С».
  • импортировать из CommerceML-файла (т. е. принимать из 1С) только информацию о товарах и их свойствах, кроме изображений товаров; импорт номенклатуры в магазин предназначен для быстрой синхронизации цен и остатков на складе. Если для товаров в «1С» настроены различные комбинации дополнительных характеристик, то в системе управления каждая комбинация будет импортирована в виде отдельного артикула (характеристики такого товара указываются в наименовании артикула). Система управления не импортирует информацию о заказах из файла.

1С умеет:

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

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

Обратите внимание: как сказано выше, при автоматическом обмене «1С» выгружает товары (номенклатуру) в файл, однако не принимает ее обратно. При автоматическом обмене «1С» принимает только данные о заказах, и поэтому до настройки обмена данными о заказах рекомендуется импортировать всю номенклатуру из магазина в «1С» через файл — это единственный способ импорта товаров, который поддерживается в «1С».

Полная выгрузка

Если вы работаете с автоматическим обменом данными, по умолчанию «1С» инициирует обмен только измененных данных о заказах и товарах. Это может привести к тому, что товары могут не выгружаться из «1С» в систему управления, что сопровождается сообщением «Изменения товаров не зарегистрированы. Выгрузка товаров не произведена.».

Чтобы «побороть» эту проблему, необходимо в настройках обмена данными (меню «Сервис → Обмен данными с WEB-сайтом → Настроить обмен данными с WEB-сайтом») установить опцию «Полная выгрузка» и сохранить настройки.

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

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

Обмен через файл

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

Если вы экспортировали файл из магазина, то импортировать его в «1С» можно, щелкнув по пункту меню «Сервис → Обмен данными → Загрузка данных в формате CommerceML».

Примечание: в зависимости от вашей конфигурации «1С» пункт «Загрузка данных в формате CommerceML» может находиться в другом разделе меню.

Сопоставление товаров по идентификатору CommerceML

При обмене данными идентификация товаров, категорий товаров и заказов выполняется по специальному внутреннему ключу (идентификатору CommerceML), который может выглядеть примерно так: 9e271f47-6922-4e19-ab81-44c2c3d6391d.

Внутри «1С» у каждого товара в списке номенклатуры имеется такой идентификатор, а в системе управления по умолчанию его нет, т. к. в интернет-магазине используется собственная система идентификации. Идентификатор CommerceML появляется в системе управления только после первой операции импорта/экспорта.

Импорт из «1С» в систему управления

В процессе импорта система управления сопоставляет данные, ориентируясь только на идентификатор CommerceML. Идентификация по другим свойствам (в т. ч. по наименованию или артикулу, как в случае импорта из CSV-файла) невозможна. Это значит, что в ходе самого первого импорта данных из «1С» в систему управления будут добавлены все товары из списка номенклатуры «1С» (т. к. как до этого момента система управления не «знает» о ключах товаров в «1С» и поэтому не может сопоставить товар в магазине товару в файле 1С).

Экспорт из системы управления в «1С»

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

Товары можно перенести из магазина в «1С» только через файл (см. пункт «Обратите внимание» для того, чтобы узнать подробности).

Дубликаты товаров

Ввиду описанных выше обстоятельств первый импорт из «1С» в систему управления может повлечь за собой дублирование записей о товарах и категориях, уже имеющихся и в базе данных магазина, и в номенклатуре 1С, но еще не связанных (не синхронизированных). Устранить такие дубликаты можно только путем объединения «проблемных» товаров таким образом, чтобы основным остался дубликат, имеющий идентификатор CommerceML. Сделать это можно несколькими способами:

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

Синхронизация каталога товаров между системой управления и «1С»

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

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

  1. Перенести с помощью файла весь существующий каталог товаров из системы управления в «1С».
  2. Устранить дубликаты товаров в номенклатуре «1С».
  3. Выгрузить данные о товарах из «1С» в файл.
  4. Полностью очистить каталог системы управления (предварительно сохранив резервную копию базы данных).
  5. Импортировать файл с информацией о товарах, экспортированный из «1С».

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

Смена адреса автоматического обмена

Чтобы сменить адрес (URL) скрипта автоматического обмена данными, выключите и снова включите обмен данными с «1С» в настройках магазина — в результате будет сформирован новый адрес скрипта синхронизации. Пароль, как и имя пользователя, закодирован в адресе скрипта синхронизации.


Читайте далее:

Руководство пользователя
Вопрос-ответ
 

 
    Съешь еще эти сладкие вишни,
да почитай про
интернет-магазин