Автоматический обмен с 1С
Выгрузка каталога товаров на сайт и загрузка заказов из интернет-магазина позволяет автоматизировать обмен между интернет-магазином и 1С:Управление торговлей. Обмен данными происходит в формате CommerceML. Специальных знаний для настройки обмена не требуется.
Обмен в системе "1С:Предприятие" реализован, в частности, в следующих конфигурациях (список не является исчерпывающим):
- 1С:Управление торговлей 8 в конфигурации 10.хх и 11.хх;
- 1С:Управление небольшой фирмой 8;
- 1С:Розница 2.х и 3.x;
- 1С:Комплексная автоматизация 8;
- 1С:Управление производственным предприятием 8;
- Штрих-М: Торговое предприятие 5.
Поддерживаемые протоколы обмена
- автоматический обмен CommerceML 3.0, 3.1 — import.xml, offers.xml, prices.xml, rests.xml;
- автоматический обмен CommerceML 2.x — import.xml, offers.xml;
- ручной импорт CommerceML 1.x — import.xml.
Создание узла обмена с 1С в HostCMS
В центре администрирования HostCMS в структуре сайта проверьте существование узла /shop/1c/, если узел отсутствует — создайте его:

Настройка обмена данными
$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
Без темы
Есть такое решение, но помогает не всем: https://www.hostcms.ru/forums/2/11119/#71666
Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445
именно для структуры /1c/ просто отключили "соединение только по https", такое решение помогает)
Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445
Если на сервере сайта настроено принудительно перенаправление на SSL то к сожалению данная галочка не спасает.
Re: общийМодуль.ПроцедурыОбменаССайтом.Модуль 445
Мне удалось это решить с установкой сертификата на стороне 1С. Все работает. Спасибо поддержке за ссылки.






