Автоматический обмен с 1С

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

Обмен в системе "1С:Предприятие" реализован, в частности, в следующих конфигурациях (список не является исчерпывающим):

Поддерживаемые протоколы обмена

Создание узла обмена с 1С в HostCMS

В центре администрирования HostCMS в структуре сайта проверьте существование узла /shop/1c/, если узел отсутствует — создайте его:

Интернациональное название валюты в HostCMS должно совпадать с названием валюты в 1С, в противном случае будут возникать ошибки вида «Ошибка в значении узла <Документ>.<Валюта> документа CML (RUR).»
Товар в процессе импорта может быть найден по CML ID товара, штрихкоду, артикулу товара.

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

$oShop_Item_Import_Cml_Controller->createShopItems = FALSE;
$oShop_Item_Import_Cml_Controller->import();

Ограничение на импортируемые поля товаров

Контроллер импорта из CML имеет свойство updateFields, принимающее массив атрибутов товаров, подлежащих обновлению в процессе обмена. Позволяет ограничить перечень обновляемых полей и дать приоритет данным, содержащимся в системе управления.

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

$oShop_Item_Import_Cml_Controller->updateFields = array('marking', 'barcode', 'name', 'shop_group_id', 'text', 'description', 'images', 'taxes', 'shop_producer_id', 'prices', 'warehouses');
$oShop_Item_Import_Cml_Controller->import();

Ограничение на импортируемые поля групп

Контроллер импорта из CML имеет свойство updateGroupFields, принимающее массив атрибутов групп, подлежащих обновлению в процессе обмена. Позволяет ограничить перечень обновляемых полей и дать приоритет данным, содержащимся в системе управления.

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

$oShop_Item_Import_Cml_Controller->updateGroupFields = array('name', 'description', 'parent_id');
$oShop_Item_Import_Cml_Controller->import();

Управление полями, по которым осуществляется поиск товара

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

$oShop_Item_Import_Cml_Controller->itemSearchFields = array('cml_id', 'marking', 'barcode');
$oShop_Item_Import_Cml_Controller->import();

Импорт ярлыков

Для товара допускается указание нескольких CML ID  группы, при этом сам товар будет помещен в первую указанную группу, а в другие указанные группы будут помещены ярлыки на этот товар.

<Товар>
    <Ид>365b2cc7-7d8f-10e2-bf4b-f33e468030d2</Ид>
    <Артикул>1000265478</Артикул>
    <Наименование>Bla-bla-bla товар</Наименование>
    <Группы>
        <Ид>c42399e2-b263-11e0-a67f-f4ce468038d0</Ид>
        <Ид>b05597e0-dcaa-00ae-a00f-ac38d0ce4680</Ид>
    </Группы>
    ...
</Товар>

Импорт основных свойств товара, не предусмотренных в 1С

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

HOSTCMS_TITLE Заголовок (title) SEO
HOSTCMS_DESCRIPTION Описание (description) SEO
HOSTCMS_KEYWORDS Ключевые слова (keywords) SEO
HOSTCMS_МЕТКИ Метки (теги)
ПРОИЗВОДИТЕЛЬ Производителя товара
АКТИВНОСТЬ Активность товара
ПРОДАВЕЦ Название продавца
YANDEX_MARKET Экспортировать в Яндекс.Маркет

Импорт тегов ЗначениеРеквизита

Импорт веса и габаритов осуществляется из тегов ЗначенияРеквизитов/ЗначениеРеквизита, при этом Наименование должно иметь одно из следующих значений: Вес, Длина, Ширина, Высота.

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

<ЗначениеРеквизита>
	<Наименование>Полное наименование</Наименование>
	<Значение>Товар *****************</Значение>
</ЗначениеРеквизита>

необходимо создать свойство с названием Полное наименование и в конфигурационный файл внести запись 

'predefinedAdditionalProperties' => array('Полное наименование'),

Удаление товаров

Если у товара указан статус удаления <Товар Статус="Удален">, то такой товар отключается, но сохраняется в каталоге.

Загрузка заказов с сайта

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

Проверить выгружаемую информацию вы можете через браузер, перейдя на страницу http://вашсайт/shop/1c/?type=sale&mode=query (необходимо ввести логин и пароль в открывшемся окне).

Пометить все заказы как невыгруженные вы можете SQL-запросом:

UPDATE `shop_orders` SET `unloaded` = 0 WHERE `shop_id` = 1;

заменив 1 на идентификатор вашего магазина.

Загрузка заказов из 1С

Обрабатывается значение реквизита "Статус заказа", устанавливается существующий статус заказа или создается новый. При выгрузке из 1С для заказа реквизита "ПометкаУдаления", такой заказ помечается удаленным.

Не нашли ответ на свой вопрос в документации? Направьте обращение в службу поддержки или онлайн чат.

Комментарии

  • общийМодуль.ПроцедурыОбменаССайтом.Модуль 445

    1с 8.3 не работает с протоколом https

    20.09.2018 20:59:42
    alexpimnev

    Без темы

    Есть такое решение, но помогает не всем: https://www.hostcms.ru/forums/2/11119/#71666

    21.09.2018 09:02:59
    hostcms

    Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445

    именно для структуры /1c/ просто отключили "соединение только по https", такое решение помогает)

    21.09.2018 09:10:20
    alexpimnev

    Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445

    Если на сервере сайта настроено принудительно перенаправление на SSL то к сожалению данная галочка не спасает.

    23.11.2021 15:54:32
    Seri

    Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445

    Мне удалось это решить с установкой сертификата на стороне 1С. Все работает. Спасибо поддержке за ссылки.

    08.12.2021 14:44:38
    Seri
  • Без темы

    Можно сюда файлы ТДС актуальной версии?

    07.12.2017 16:37:56
    EZ-Web