Обмен между интернет-магазином и 1С 8 в интернет-магазине

Обмен между интернет-магазином и 1С 8

В интернет-магазине на платформе Универсам можно настроить обмен с 1С 8 Управление торговлей и 1С 8 бухгалтерией. Обмен позволяет:

  • загружать каталог из 1С,
  • обмениваться остатками,
  • обмениваться ценами,
  • выгружать заказы в 1С.

Обмен данными идет через файл в формате XML (CommerceML). Также есть возможность обмениваться через FTP текстовыми файлами.

Подготовка процесса обмена в Универсам

Чтобы включить процесс автоматического обмена нужно перейти в Бизнес => Экспорт / Импорт => 1C и поставить галочку «Включить обмен с 1С». Сохраните настройку. 

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

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

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

Если что-то не загрузилось, то можно сделать в ручную. Для этого вам нужно:

  • в складах указать «Внешний код» 
  • в ценах указать «Внешний код» 
Настройка склада для обмена сайта с 1С
Внешний код в настройках склада

Внешний код это guid из 1С объекта. У каждого склада и цены в 1С есть свой guid. guid это 36-изначный набор букв и цифр, он является уникальным идентификатором. Например в xml файле guid передается так:

<ИдЗначения>05e26d73-01e4-11dc-a411-00055d80a2d1</ИдЗначения>

или так

<Склад ИдСклада=''abf5870d-f5c8-11e2-802f-0015e9b8c48d'' КоличествоНаСкладе=''10''/>

Если не указать внешний код в ценах и остатках, то они обновляться не будут.

Настройка обмена в 1С Управление торговлей 11.2

Для начала настройки обмена в 1С откройте базу данных, с которой будет производиться обмен. Перейдите НСИ и администрирование => Настройка интеграции => Настройки синхронизации данных.

Настройка синхронизации 1С с интернет-магазином

Выберете «Узлы обмена с сайтом». Создайте новый узел. Укажите адрес сайта http://test.ru/api/1c, где test.ru ваш домен. Логин и пароль пользователя сайта, состоящего в группе API. Проверьте соединение.

Настройка обмена в 1С Управление нашей фирмой

В 1C перейдите в CRM. В группе Каналах продаж откройте Обмен с сайтов. Создайте новый обмен с сайтом.

Необходимо выполнить следующие настройки:

  • Для выгрузки цен, укажите нужные цены в разделе Цены и остатки.
  • Для выгрузки остатков укажите Выгружать остатки с разбитием по складам.
  • Для выгрузки товаров укажите Выгрузка на сайт каталога товаров, цен и остатков.
  • Для выгрузки категорий укажите в разделе «Выгружать иерархию» Категории.
  • В таблице каталогов укажите соответствие категорий с категориями на сайте при необходимости.
  • Для выгрузки фотографий товаров укажите Выгружать присоединение файлы.

Процесс обмена заказами

Универсам позволяет передавать заказы в 1С. Для этого включите обмен заказами в 1С.

На сайте выполните:

  • Создайте типовое соглашение
  • Создайте узел обмена
  • В основных настройках узла включите настройку “Обмен заказами”
  • Во вкладке “Обмен заказами” выполните настройку:
    • “Дата заказа на сайте” — укажите, в какой реквизит будет выгружаться дата создания заказа.
    • “Номер заказа на сайте” — создайте реквизит для значения номера заказа. Делается это по аналогии с созданием реквизита для “Дата заказа на сайте”.
    • “Соглашение” — выберите созданное типовое соглашение.
    • “Организация” — выберите организацию, осуществляющую заказ.
    • “Склад” — выберите склад, используемый при создании заказа в 1С.
    • “Менеджер” — выберите менеджера, который будет использоваться при создании заказа в 1С.
    • “Способ поиска существующих элементов справочника Контрагенты” — определяет, по каким данным будет осуществляться поиск контрагентов. Выберите способ поиска “По наименованию”, если данные контрагента в выгружаемых заказах из интернет-магазина не содержат ИНН и КПП.
    • “Вид номенклатуры для товаров” — вид номенклатуры, используемый при создании заказа в 1С.
    • “Вид номенклатуры для услуг” — вид номенклатуры услуг, используемый при создании заказа в 1С.
    • “Единица измерения” — единица измерения товаров, используемая при создании заказа в 1С.
    • “Группа номенклатуры” — группа, в которую будут добавляться товары из интернет-магазина, выгружаемые в заказе.
    • “Причина отмены заказа” — причина, присваиваемая отмененным заказам.
    • “Соответствие статусов заказов в информационной базе и на сайте” — таблица для указания соответствия статусов заказа интернет-магазина и 1С.

Чтобы создать реквизит “Дата заказа на сайте”:

  • Откройте “Администрирование → Общие настройки”.
  • В окне “Общие настройки” нажмите на ссылку “Дополнительные реквизиты”.
  • В окне “Дополнительные реквизиты” перейдите в папку “Заказ клиента” и создайте дополнительный реквизит: в правом верхнем углу нажмите Все действия → Добавить → Новый. Для реквизита “Дата заказа на сайте” обязательно должен быть задан тип “Дата”.

Также укажите если необходимо префикс для номеров счетов, создаваемых при загрузке заказов из интернет-магазина.

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

Проблема с авторизацией

При работе PHP в режиме CGI недоступна HTTP-авторизация, которая необходима для осуществления авторизации 1С на сайте при обмене данными.

Ошибка подключения 1С к сайту

Для решения проблемы в .htaccess в корне сайта после RewriteBase / внесите следующие строки:

RewriteCond %{HTTP:Authorization} ^Basic.*
RewriteRule (.*) index.php?HTTP_AUTHORIZATION=%{HTTP:Authorization} [QSA,L]

или

RewriteCond %{HTTP:Authorization} !^$
RewriteCond %{REQUEST_URI} ^/api/1c/.*
RewriteRule ^(.*)$ /index.php?HTTP_AUTHORIZATION=%{HTTP:Authorization}&%{QUERY_STRING}

Не забудет включить RewriteEngine on. Если не помогло свяжитесь с вашим хостинг-провайдером.

Процесс обмена

  1. 1С инициализирует запуск файла ваш_домен/api/1c.
  1. 1С формирует и передает файлы с данными о товарах в папку вашего интернет-магазина.
  1. 1С отправляет запрос на обработку import.xml.
  2. 1С запускает обработку offers.xml.

При обработке файла import.xml

  • Сохраняется в базу данных основная информация о товарах.
  • Изображения прикрепляются к товарам.

При обработке файлаoffers.xml

  • Обновляются цены
  • Обновляются остатки
  • Обновляются характеристики

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

Ограничения обмена 1С:Бухгалтерия 8 с интернет-магазином

Существуют следующие ограничения для обмена данными «1С:Бухгалтерия 8» с интернет-магазином:

  • обмен будет односторонний — сведения переносятся только из интернет-магазина в «1С:Бухгалтерию 8»;
  • обмен будет упрощенный — переносятся только данные о полученных через интернет-магазин продажах, а также использованные в заказах данные о номенклатуре, контрагентах и ценах. По этим сведениям в «1С:Бухгалтерии 8» создаются новые счета покупателям. Выполнение каких-либо других операций с интернет-магазином не возможно без доработок вашей платформы.

Намного больше возможностей интеграции с интернет-магазином предоставляют решения другие решения 1С — «1С:Управление торговлей», «1С:Комплексная автоматизация», «1С:ERP 2» и «1С:Управление нашей фирмой».