Руководство по настройке синхронизации информации о товарах и заказах между Shop-Script и «1С»
Shop-Script поддерживает возможность обмена данными с «1С: Предприятие» не ниже версии 8.1 в редакции «1С: Управление торговлей» не ниже версии 10.3.4, «1С:Управление небольшой фирмой» и другими конфигурациями «1С», которые поддерживают обмен данными через CommerceML. При использовании «1С-Битрикс» нужно установить последнюю версию модуля для обмена данными с веб-сайтом.
Обмен данными со стороны интернет-магазина Shop-Script выполняется с помощью плагина, который нужно установить с помощью приложения «Инсталлер».
Обмен данными осуществляется через файл формата CommerceML и может выполняться вручную (через файл) либо автоматически (частота обновления настраивается в «1С»).
1. Установите плагин
Установите плагин интеграции с «1С»: в бекенде интернет-магазина перейдите в приложение «Инсталлер», в секции «Плагины → Магазин» найдите плагин «1С». Щелкните по кнопке «Установить».
Для установки плагина «1С» на собственный сервер обязательно наличие следующих расширений PHP: dom, xml, xmlreader, xmlwriter. В облаке Webasyst все необходимые расширения уже установлены.
2. Настройте обмен данными в Shop-Script
Если Shop-Script установлен на сервере, где 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С» и включите автоматический обмен данными.
После включения активируется скрипт синхронизации, и Shop-Script становится готов к автоматическому обновлению.
Скопируйте адрес скрипта синхронизации из текстового поля — он потребуется для настройки синхронизации на стороне «1С».
Настройка складов
В Shop-Script начиная с версии 7.2.13 в разделе «Настройки → Склады» для параметра «Обновление склада» выберите вариант «Не обновляется действиями с заказами». Этот вариант настройки предполагает, что управление складскими остатками выполняется полностью на стороне «1С» и интернет-магазином они обновляться не должны. Остатки в этом случае обновляются только в ходе обмена данными с «1С».
Настройка плагина
Прежде чем начать синхронизацию данных, проверьте, чтобы в настройках плагина были установлены нужные вам настройки. Настройки плагина «1С (CommerceML)» доступны в разделе бекенда «Плагины» либо по ссылке «Настройки обмена» в разделе «Импорт/экспорт → 1С (CommerceML)».
Типы цен
Укажите данные, актуальные для вашей «1С», если они отличаются от стандартных значений, по умолчанию заполненных в настройках плагина:
- Тип цены в «1С»: Розничная
- Идентификатор розничного типа цен в «1С»: cbcf493b-55bc-11d9-848a-00112f43529a
- Тип закупочной цены в «1С»: Закупочная
- Идентификатор закупочного типа цен в «1С»: bd72d8fc-55bc-11d9-848a-00112f43529a
Выгрузка заказов
Для экспорта информации о заказах укажите следующие параметры:
- Формат экспорта идентификаторов артикулов в составе заказа: выберите тип идентификаторов для вашей системы учёта: для МойСклад или для «1С».
- Формат экспорта наименований артикулов (модификаций): выберите, в каком виде должны названия заказанных товаров экспортироваться в «1С»: только название товара либо название товара с названием артикула в скобках.
- Статусы заказов: отметьте статусы заказов, которые должны экспортироваться в «1С»; если не будет отмечен ни один статус, то в «1С» будут экспортироваться заказы во всех статусах.
- Выгрузка заказов: выберите, какие заказы необходимо экспортировать в «1С»: все либо только новые; новыми считаются заказы, которые поступили в интернет-магазин спустя 1 час либо позднее после очередного обмена данными с «1С». Стандартный период длительностью 1 час можно изменить с помощью настройки «Период для выборки новых и измененных заказов».
- Формат идентификаторов заказов: укажите желаемый формат экспортируемых номеров заказов с обязательной переменной
{$order.id}
. - Формат идентификаторов контрагентов: укажите желаемый формат экспортируемых идентификаторов контрагентов с обязательной переменной
{$order.contact_id}
. - Выгрузка доставки: включите, если необходимо, чтобы доставка фигурировала в составе заказа в качестве отдельной позиции.
- Выгрузка данных покупателей: для каждого свойства покупателя (телефон, email, наименование компании и т. д.) выберите соответствующие поля контакта, настроенные в Webasyst.
Импорт товаров
- Обновлять при импорте свойства товаров: выберите, какие свойства необходимо обновлять для существующих товаров Shop-Script при синхронизации с «1С». При импорте новых товаров из «1С» в Shop-Script эта настройка игнорируется — в этом случае импортируются все доступные свойства товаров.
- Импорт значений характеристик товаров: выберите, должны ли значения характеристик обновляться в магазине у всех товаров или только у тех, которые участвуют в текущей сессии обмена данными.
- Импорт значений характеристик артикулов: выберите, должны ли импортироваться в свойства артикулов товаров значения характеристик с форматом «Выбор нескольких значений из списка».
- Импорт наименования артикула: выберите вариант «Наименование предложения».
- Формировать уникальные URL для импортируемых товаров: включите для формирования неповторяющихся URL для импортируемых товаров.
- Категории товаров при импорте: выберите, каким образом должна импортироваться из «1С» в Shop-Script информация о принадлежности товаров в категориям:
- Импорт категорий и информации о принадлежности к ним будет пропущен: новые товары будут импортированы без указания категории — в «корень» каталога, а существующие товары останутся в тех же категориях, в которых они находились до обновления данных из «1С».
- Только для новых товаров: информация о принадлежности к категориям будет импортирована только для новых товаров; существующие товары останутся в тех же категориях, в которых они находились до обновления данных (как в предыдущем варианте настройки).
- Только добавлять товар в новые категории: новые и существующие товары будут добавлены в те категории, в которых они содержатся в «1С». Если в каталоге Shop-Script существующие товары уже содержатся в каких-то категориях, в ходе импорта данных из «1С» они будут дополнительно добавлены еще в другие категории согласно импортированной информации.
- Добавлять в новые и удалять из устаревших: новые товары в результате импорта данных будут добавлены в категории, в которых они содержатся в «1С». Если в каталоге Shop-Script существующие товары уже содержатся в каких-то категориях, в ходе импорта данных из «1С» они будут удалены из этих категорий и добавлены в другие категории согласно импортированной информации.
- Обновлять свойства категорий при импорте: выберите, какие свойства необходимо обновлять для существующих категорий товаров Shop-Script при синхронизации с «1С». При импорте новых категорий из «1С» в Shop-Script эта настройка игнорируется — в этом случае импортируются все доступные свойства категорий.
- Импорт типа товаров: выберите подходящий вариант импорта типов товаров. Проверка на существование типа товаров выполняется строго по его названию. Если вы выберите один из вариантов, предполагающий проверку существования типа товаров в Shop-Script, то при любом несовпадении названий типов товаров в Shop-Script и «1С» при импорте может быть создан новый тип товаров.
- Тип товаров по умолчанию: выберите из списка тип товаров по умолчанию, которому должны быть отнесены товары, импортированные из «1С», при выборе соответствующих вариантов предыдущей настройки «Импорт типа товаров». В этом списке перечислены все типы товаров, настроенные в Shop-Script в разделе «Настройки → Типы и характеристики товаров».
- Скрывать новые товары при импорте: включите, чтобы сразу не публиковать новые товары, импортированные из «1С» — им будет присвоен статус «Скрыт с сайта», т. е. сразу после импорта такие товары не будут видны на витрине интернет-магазина. Это полезно для того, чтобы после импорта новых товаров у вас была удобная возможность подготовить их к публикации на сайте и только после изменить их статус на «Опубликован на сайте». Товары, отмеченные в «1С» для удаления, всегда импортируются в Shop-Script в скрытом статусе — вне зависимости от значения этой настройки.
- Обработка специальных символов в описаниях товаров: включите, если в описаниях товаров нужно отображать специальные символы (например, угловые скобки < и >) и в них не используются HTML-теги.
- Единица измерения: если вы используете единицу измерения в «1С», введите в этом поле код характеристики Shop-Script, в которую должны импортироваться значения единицы измерения ваших товаров. Если вам не нужно импортировать единицы измерения товаров, оставьте это поле пустым.
- Единица измерения веса: выберите единицу измерения веса, которую вы используете в «1С».
Валюты
- Валюта: выберите основную валюту, используемую в вашем аккаунте «1С». Если вы укажете другую валюту, то цены товаров при импорте будут конвертированы по курсу, настроенному в Shop-Script в разделе «Настройки → Валюты».
- Код валюты: если необходимо введите значение поля «Наименование» для национальной валюты расчета, указанное в настройках «1С». Если у вас использутся ISO-код валюты вместо ее названия, оставьте это поле пустым.
Складские остатки
- Общие остатки в CommerceML: выберите склад, для которого должны импортироваться складские остатки товаров из «1С». Вместо импорта складских остатков в какой-то отдельный склад можно выбрать импорт этих данных в общее свойство товара «На складе», не привязанное ни к какому отдельному складу.
- Создавать новые артикулы с нулевыми остатками: включите эту настройку, для того чтобы при каждом обмене данными устанавливать нулевое значение на складе для всех вновь импортируемых артикулов товаров — только на тех складах Shop-Script (настроенных в разделе «Настройки → Склады»), для которых не выбрано соответствие складам, настроенным в «1С». Такое сопоставление складов выполняется во время импорта файла на вкладке ручного обмена после автоматического анализа файла с информацией о товарах и действует для всех последующих автоматических сессий синхронизации данных «1С» с интернет-магазином. Если эту настройку отключить, то остатки таких артикулов на несопоставленных складах будут сохраняться бесконечными (незаполненными).
- Обнулять остатки в несинхронизированных складах: включите эту настройку, для того чтобы при каждом обмене данными устанавливать нулевое значение для всех товаров магазина — только на тех складах Shop-Script, для которых не выбрано соответствие складам, настроенным в «1С». Такое сопоставление складов выполняется во время импорта файла на вкладке ручного обмена после автоматического анализа файла с информацией о товарах и действует для всех последующих автоматических сессий синхронизации данных «1С» с интернет-магазином. Если эта настройка отключена, то никакие дополнительные действия не выполняются.
- Получать код артикула из информации о товарах: включите, если в файле с информацией о товарах содержатся коды артикулов, которые нужно импортировать в интернет-магазин.
- Кодировка данных для передачи информации о товарах и заказах: выберите кодировку файлов, которые формирует ваша система учёта для обмена данными с интернет-магазином. Обмен данными может не выполняться, если выбрана неправильная кодировка.
3. Настройте обмен данными на стороне «1С: Управление торговлей»
- Версия 1С:
- 11.2
- 11.x
- 10.x
- В программе «1С:Управление торговлей» перейдите в раздел «НСИ и администрирование → Настройка интеграции → Настройки синхронизации данных».
- В разделе «Настройки синхронизации данных» выберите «Синхронизация и обмен данными».
- В секции «Синхронизация и обмен данными» включите параметр «Обмен данными с сайтами».
- Перейдите в раздел «НСИ и администрирование → Настройка разделов → Продажи»:
- Для параметра «Использование соглашений с клиентами» выберите «Типовые и индивидуальные соглашения».
- Включите параметр «Договоры с клиентами».
- Убедитесь в том, что включен параметр «Заказы клиентов».
- В секции «Использование заказов» выберите «Заказ со склада и под заказ».
- Перейдите в раздел «Продажи → Настройки → Типовые соглашения об условиях продаж». Соглашения содержат цены товаров для выгрузки на сайт. Добавьте столько соглашений, сколько видов цен необходимо выгрузить на сайт. Если у вас нет соглашения для сайта, создайте его. Если есть — отредактируйте, как показано ниже.
- Укажите следующие данные на вкладке «Основное»:
- Номер
- Наименование
- Статус: Действует
- Период действия с: укажите начальную дату
- Операция: Реализация
- Укажите следующие данные на вкладке «Условия продаж»:
- Условия оплаты: Договоры не используются, порядок расчетов: По заказам
- График предоплаты: Предоплата (любая)
- Укажите следующие данные на вкладке «Прочие условия»:
- Доступно для обмена с сайтом: включено
- Сохраните соглашение.
- Укажите следующие данные на вкладке «Основное»:
- Вернитесь в раздел «НСИ и администрирование → Настройка интеграции → Настройки синхронизации данных» и выберите «Узлы обмена с сайтами». Создайте новый узел.
- Укажите следующие данные на вкладке «Основные настройки»:
- Наименование: произвольное название для вашего удобства
- Выгрузка товаров: включите, чтобы выгружать информацию о товарах в Shop-Script
- Обмен заказами: включите, чтобы импортировать информацию о заказах из Shop-Script
- Способ обмена данными: Выгружать на сайт
- Адрес сайта: вставьте в значение поля «Скрипт синхронизации» со страницы автоматического обмена с «1С» в бекенде Shop-Script
- Имя пользователя и Пароль: введите любые значения — они не будут использоваться, потому что правильные значения уже закодированы в адресе скрипта синхронизации.
- Укажите следующие данные на вкладке «Выгрузка товаров»:
- Организация: выберите свою организацию
- Каталог товаров: включить
- Цены по соглашениям и остатки товаров на складах: включить
- Склады, доступные для выбора на сайте: выберите нужный склад
- Режим выгрузки данных: Все данные
- Выберите категории товаров, которые нужно выгружать на витрину Shop-Script.
- При необходимости укажите условия отбора товаров для выгрузки.
- Включите параметр «Выгружать остатки с разбиением по складам», если он доступен в вашей конфигурации.
- Укажите следующие данные на вкладке «Обмен заказами»:
- В полях «Дата заказа на сайте» и «Номер заказа на сайте» выберите дополнительные реквизиты, в которых будут хранится данные, импортированные из Shop-Script. Для этого щелкните по списку и выберите «Показать все», чтобы увидеть все доступные реквизиты. Если соответствующих реквизитов в списках нет, добавьте их в разделе «Настройки → Моя организация → Дополнительные реквизиты → Заказы клиента».
- Соглашение: выберите типовое соглашение
- Организация: выберите свою организацию
- Склад: выберите склад, с которого будут списываться заказанные товары
- Способ поиска существующих элементов справочника «Контрагенты»: По ИНН/КПП, если указаны, иначе по наименованию
- Выберите реквизиты для созданиях новых элементов справочника «Номенклатура» — на случай, если окажется, что в интернет-магазине будут заказаны товары, отсутствующие в «1С».
- Если необходимо, перейдите на вкладку «Дополнительно» и настройте соответствие статусов заказов в интернет-магазине статусам, настроенным в «1С».
- Укажите следующие данные на вкладке «Основные настройки»:
4. Выполните экспорт и ручной анализ файлов CommerceML
Экспорт файлов CommerceML
Для того чтобы настроить соответствие характеристик товаров и складов между «1С» и Shop-Script, нужно экспортировать каталог товаров из «1С» в файлы формата CommerceML и выполнить анализ этих файлов в бекенде Shop-Script. Однажды настроенное вручную, такое соответствие между характеристиками и складами затем будет использоваться в ходе полноценной автоматической синхронизации.
Анализ и импорт файлов CommerceML в бекенде Shop-Script
Вариант А. Импорт 2 файлов
Часто такие файлы выгружаются из «1С» с именами import.xml (каталог товаров) и offers.xml (цены и складские остатки).
Сначала нужно импортировать файл с каталогом товаров (с именем вида import.xml), затем файл со складскими остатками (с именем вида offers.xml).
Вариант Б. Импорт товаров, цен и остатков в отдельных файлах
Такие файлы нужно импортировать в строго определенном порядке:
- Справочники групп товаров, складов, цен, характеристик и т. д. Обычно в именах таких файлов используется слово import.
- Файл с основным каталогом товаров — также со словом import в названии. В файле должен содержаться основной каталог товаров в виде элемента <Наименование>Основной каталог товаров</Наименование>.
- Файл с товарными предложениями — со словом offers в названии.
- Файл с ценами — со словом prices в названии.
- Файл с остатками товаров — со словом rest в названии.
Временный импорт товаров
Во время анализа и импорта файлов CommerceML, помимо соответствия между складами и характеристиками, из этих файлов в каталог Shop-Script будут импортированы и товары. Если вы не хотите, чтобы такие новые товары сразу становились доступными на витрине магазина, при импорте присваивайте им отдельный тип. Перейдите в раздел «Плагины» и в настройках плагина «1С (CommerceML)» выберите отдельный тип товаров по умолчанию, к которому должны быть отнесены все товары, импортированные с помощью плагина.
Если отдельного типа товаров для этих целей у вас нет, новый тип можно создать в разделе «Настройки → Типы и характеристики товаров» и затем выбрать его в настройках плагина «1С (CommerceML)».
Для того чтобы временно импортированные из файлов товары не появились на витрине интернет-магазина, в настройках витрины в разделе «Витрина → Настройки» выберите отображение только нужных типов товаров.
Впоследствии, после завершения настройки автоматической синхронизации, вы сможете включить отображение на витрине типа товаров, импортированных из «1С».
Настройки соответствия характеристик и реквизитов товаров
В бекенде Shop-Script перейдите в раздел «Импорт/экспорт → 1С (CommerceML)», откройте вкладку «Ручной обмен» и в секции «Импорт в магазин» выберите файл, экспортированный в интерфейсе «1С» и скачанный по ссылке «каталог товаров» (файл с именем вида import.xml). Этот файл позволяет настроить соответствие характеристик товаров.
Оставьте включенным флажок «Настроить синхронизацию характеристик, свойств, реквизитов и остатков товаров» и щелкните по кнопке «Анализировать».
После загрузки файла в таблице выберите, в какого типа характеристики Shop-Script необходимо импортировать свойства номенклатуры «1С».
Для импорта веса товаров выберите существующую характеристику Shop-Script, у которой должен быть тип «Вес» и код weight.
Выбрав соответствие характеристик и свойств, нажмите «Сохранить и импортировать».
После завершения импорта этого файла аналогичным образом загрузите файл, скачанный по ссылке «остатки» (файл с именем вида offers.xml).
Аналогичным образом выберите соответствия складов и типов цен и нажмите «Сохранить и импортировать».
Сопоставляйте свойства товаров для каждой новой характеристики
Ручной импорт с анализом файлов и сопоставлением свойств товаров нужно выполнять каждый раз, когда вы хотите начать выгружать новую характеристику из «1С» в Shop-Script. Последующий автоматический обмен данными будет учитывать выбранное вами соответствие для новой характеристики товаров.
Просмотр импортированной информации о характеристиках товаров и складах
Список импортированных характеристик товаров (для того типа товаров, который вы указали в настройках плагина, как описано выше) можно увидеть в бекенде Shop-Script — в разделе «Настройки → Типы и характеристики товаров», выбрав нужный тип товаров из списка, доступного в этом разделе.
Информация о связях характеристик и складов, настроенных при импорте файлов CommerceML, доступна в разделе бекенда Shop-Script «Импорт/экспорт → 1С (CommerceML)» на вкладке «Настройки связей».
5. Включите автоматический обмен данными в настройках «1С»
6. Готово
Ваш интернет-магазин настроен для обмена данными с «1С»!
Полезная информация об обмене данными
Порядок обмена данными
Shop-Script умеет:
- экспортировать в файл формата CommerceML (т. е. отдавать в «1С») информацию о товарах и заказах; однако в случае автоматического обмена данными «1С» принимает из этой информации только данные о заказах, а товары необходимо переносить из магазина в «1С» только через файл вручную; если у товара в каталоге Shop-Script есть дополнительные характеристики, то они не будут перенесены в «1С»;
- импортировать из CommerceML-файла (т. е. принимать из «1С») только информацию о товарах и их свойствах; Shop-Script не импортирует информацию о заказах из файла. Для правильного импорта информации о товарах из файлов CommerceML эти файлы должны быть экспортированы из «1С» без использования порционной передачи данных, т. е. все данные должны быть экспортированы в одном пакете.
«1С» умеет:
- экспортировать в файл формата CommerceML (т. е. отдавать в Shop-Script) информацию о товарах и заказах, однако Shop-Script принимает только данные о товарах и не обновляет заказы;
- импортировать из файла (т. е. принимать из Shop-Script) только информацию о заказах, но не о товарах.
В случае обмена данных вручную через файл вы можете выбрать, экспортировать ли в «1С» только новые (и обновленные) заказы с момента последнего экспорта либо экспортировать все имеющиеся заказы. При автоматическом обмене экспортируются только заказы, обновленные с момента последнего экспорта. В случае обмена данных о товарах всегда экспортируется весь каталог продукции.
При автоматическом обмене «1С» выгружает товары (номенклатуру) в файл, однако не принимает ее обратно. При автоматическом обмене «1С» принимает только данные о заказах, и поэтому до настройки обмена данными о заказах рекомендуется импортировать всю номенклатуру из магазина в «1С» через файл — это единственный способ импорта товаров, который поддерживается в «1С».
Полная выгрузка
Если вы работаете с автоматическим обменом данными, по умолчанию «1С» инициирует обмен только измененных данных о заказах и товарах. Это может привести к тому, что товары могут не выгружаться из «1С» в Shop-Script, что сопровождается сообщением «Изменения товаров не зарегистрированы. Выгрузка товаров не произведена».
Чтобы «побороть» эту проблему, необходимо в настройках обмена данными (меню «Сервис → Обмен данными с WEB-сайтом → Настроить обмен данными с WEB-сайтом») установить опцию «Полная выгрузка» и сохранить настройки.
После сохранения этих настроек «1С» будет отправлять полный каталог товаров в магазин.
Достаточно установить такую опцию и выполнить обмен данными один раз, выгрузить все товары из «1С» в магазин и вернуть обратно значение «Только изменения», чтобы не передавать в файле обмена избыточную информацию. Это особенно актуально, если в вашем каталоге большое количество товаров.
Обмен через файл
После настройки автоматической синхронизации данных становится доступным и обмен данными через файл. Обмен данными через файл заключается в том, что вы получаете файл из Shop-Script либо из «1С», сохраняете его на своем компьютере и затем загружаете его в «1С» либо в Shop-Script.
Если вы экспортировали файл из магазина, то импортировать его в «1С» можно, выбрав пункт меню «Сервис → Обмен данными → Загрузка данных в формате CommerceML».
В зависимости от вашей конфигурации и версии «1С» пункт «Загрузка данных в формате CommerceML» может находиться в другом разделе меню.
Сопоставление товаров по идентификатору CommerceML
При обмене данными идентификация товаров, категорий товаров и заказов выполняется по специальному внутреннему ключу (идентификатору CommerceML), который может выглядеть примерно так: 9e271f47-6922-4e19-ab81-44c2c3d6391d.
Внутри «1С» у каждого товара в списке номенклатуры имеется такой идентификатор, а в Shop-Script по умолчанию его нет. Идентификатор CommerceML появляется в Shop-Script только после первой операции импорта/экспорта.
Импорт из «1С» в Shop-Script
В процессе импорта Shop-Script сопоставляет данные, ориентируясь только на идентификатор CommerceML. Идентификация по другим свойствам (в т. ч. по наименованию или артикулу, как в случае импорта из CSV-файла) невозможна. Это значит, что в ходе самого первого импорта данных из «1С» в Shop-Script будут добавлены все товары из списка номенклатуры «1С» (т. к. как до этого момента Shop-Script не «знает» о ключах товаров в «1С» и поэтому не может сопоставить товар в магазине товару в файле 1С).
Экспорт из Shop-Script в «1С»
При экспорте из Shop-Script для всех товаров, у которых еще нет идентификатора CommerceML, такой идентификатор создается автоматически — только после этого информация о товаре добавляется в файл экспорта.
Дубликаты товаров
С учетом приведенного выше описания первый импорт из «1С» в Shop-Script может повлечь за собой дублирование записей о товарах и категориях, уже имеющихся и в базе данных магазина, и в номенклатуре 1С, но еще не связанных (не синхронизированных). Устранить такие дубликаты можно только путем объединения «проблемных» товаров таким образом, чтобы основным товаром в магазине остался дубликат, имеющий идентификатор CommerceML. Сделать это можно несколькими способами:
Способ 1. Если сначала выполняется импорт из «1С» в Shop-Script, то следует оставить из вновь созданных дубликатов товаров только те, которые были импортированы из «1С»; из имеющихся в магазине товаров перенести всю необходимую информацию в «1С» (изображения, характеристики и пр.), после чего удалить их.
Способ 2. Сначала вручную экспортировать товары из Shop-Script в «1С» с помощью файла экспорта, и только затем настраивать автоматический обмен; в этом случае последующие операции импорта из «1С» будут сразу автоматически устанавливать связь с товарами в вашем магазине.
Синхронизация каталога товаров между Shop-Script и «1С»
При раздельном обновлении информации о товарах в каталоге Shop-Script и в номенклатуре «1С» логичным результатом будет наличие двух несинхронизированных каталогов с различными товарами. Такой ситуации следует избегать, т. к. она может привести к сложностям при обмене данными между Shop-Script и «1С». Это вызвано тем, что вся товарная номенклатура изначально ведется в 1С, а не в Shop-Script. Поэтому добавлять новые товары необходимо средствами 1С, после чего переносить информацию о них в Shop-Script с помощью функции обмена данными.
Если уже появились существенные различия между информацией о товарах в «1С» и в каталоге Shop-Script, то устранить их можно следующим способом:
- Перенести с помощью файла весь существующий каталог товаров из Shop-Script в «1С».
- Устранить дубликаты товаров в номенклатуре «1С».
- Выгрузить данные о товарах из «1С» в файл.
- Полностью очистить каталог Shop-Script (предварительно сохранив резервную копию базы данных).
- Импортировать файл с информацией о товарах, экспортированный из «1С».
Если же очистка каталога товаров в Shop-Script для вас неприемлема, то для настройки обмена данными с учетом индивидуальных особенностей вашего бизнеса вам следует обратиться к сторонним специалистам — франчайзи «1С».
Смена адреса автоматического обмена
Чтобы сменить адрес (URL) скрипта автоматического обмена данными, выключите и снова включите обмен данными с «1С» в настройках магазина — в результате будет сформирован новый адрес скрипта синхронизации. Пароль, как и имя пользователя, закодирован в адресе скрипта синхронизации.
Формирование названий товаров и артикулов, импортированных из «1С»
В качестве названия товара используется содержимое элемента <Наименование>...</Наименование> из файла каталога товаров.
В качестве названия артикула используется значение элемента <Наименование>...</Наименование> из файла с информацией об остатках.
В качестве кода артикула используется значение элемента <Артикул></Артикул> из файла с информацией об остатках.
Выбор типа контрагента покупателя при экспорте заказов в «1С»
По умолчанию плагин экспортирует информацию о покупателе как о физическом лице. Если данные некоторых покупателей необходимо экспортировать в «1С» в качестве юридического лица, для этого в настройках плагина в поле «Наименование компании клиента» выберите контактное поле покупателя, которое предназначено для ввода наименования компании. Поля ввода контактной информации, доступные для заполнения покупателями при оформлении заказа, настраиваются в разделе «Настройки → Оформление заказа».
Если выбранное поле для настройки «Наименование компании клиента» не заполнено клиентом при оформлении заказа, то плагин экспортирует информацию о покупателе как о физическом лице.
Импорт остатков товаров для нескольких складов
Для правильного импорта раздельных складских остатков для нескольких складов необходимо один раз выполнить ручной импорт файла offers.xml и после автоматического анализа файла выбрать соответствие между складами, указанными в файле, и складами, настроенными в интернет-магазине в разделе «Настройки → Склады». После этого нужно завершить ручной импорт файла.
При этом нужно иметь в виду, что бесконечные (пустые) значения остатков некоторых артикулов товара для отдельных складов запишут бесконечные складские остатки для всего товара. Чтобы этого не происходило и Shop-Script мог правильно импортировать все непустые значения складских остатков, в настройках плагина нужно включить параметры «Создавать новые артикулы с нулевыми остатками» и «Обнулять остатки в несинхронизированных складах».
Импорт описаний товаров
Стандартная логика импорта описаний товара такова:
- реквизит CommerceML <Описание> (в интерфейсе 1С это поле «Описание») импортируется и в полное, и в краткое описание товара;
- реквизит CommerceML «Полное наименование» (в интерфейсе 1С это поле «Наименование для печати») импортируется в краткое описание товара, перезаписывая информацию из стандартного реквизита <Описание>.
В итоге в краткое описание товара импортируется значение реквизита «Полное наименование», а в полное описание товара импортируется стандартный реквизит <Описание><Описание>.
Импорт описаний товаров можно изменить при импорте CommerceML-файлов на вкладке ручного обмена в разделе «Импорт/экспорт → 1С (CommerceML)» следующим образом:
- импорт реквизита «Полное наименование» в полное описание товара или в краткое описание товара, или игнорирование этого реквизита;
- импорт в полное описание товара дополнительного реквизита (например «Описание товара»), который предварительно должен быть настроен и заполнен в «1С».
Удаление старых изображений товаров
Формат CommerceML, который используется в плагине, не поддерживает удаление изображений товаров. Поэтому нужно импортировать копию товара с нужным набором изображений, а старую копию товара удалить из каталога интернет-магазина.
- Создайте в «1С» копию товара, у которого нужно удалить несколько устаревших изображений.
- Старую копию товара поставьте в «1С» на удаление.
- В новую копию товара загрузите все изображения, которые должны быть использоваться на витрине интернет-магазина.
- В свойствах новой копии товара в «1С» добавьте характеристику, в нее сохраните значение той части URL товара, которая редактируется в карточке товара в бекенде магазина.
- В настройках обмена данными в «1С» включите экспорт изображений товаров, чтобы изображения для новой копии товара выгрузились в файл для импорта в интернет-магазин.
- Очистите синхронизированные параметры на странице обмена данными с «1С» в бекенде интернет-магазина в разделе «Импорт/экспорт → 1С».
- Выгрузите файл с новой копией товара из «1С». В файл будут выгружены и изображения новой копии товара.
- Импортируйте файл вручную в интернет-магазин в разделе «Импорт/экспорт → 1С». Во время импорта для свойства «URL товара» выберите характеристику, созданную и заполненную в шаге №4.
- Завершите импорт файла. В ходе импорта существующий товар, поставленный в «1С» на удаление, станет скрытым.
- Удалите скрытый старый товар. Вместо него в каталоге останется его обновленная копия тем же URL и с нужным набором изображений.
Если сайт работает на HTTPS, а «1С» не поддерживает подключение по HTTPS #
Некоторые версии «1С» не поддерживают подключение к интернет-магазину по HTTPS — из-за сложных проблем с SSL-сертификатами. Для таких версий «1С» нужно использовать HTTP-адрес обмена данными с интернет-магазином.
Случай А. Вы настроили перенаправление на HTTPS средствами фреймворка Webasyst
- В свойствах всех поселений сайта (раздел «Сайт → Структура») включите параметр «Перенаправлять на HTTPS».
- В настройках сайта (раздел «Сайт → Настройки») выключите параметр «Перенаправлять на HTTPS».
- В настройках структуры сайта добавьте правило для Shop-Script, например, с адресом «import1c». В свойствах этого поселения включите параметр «Скрытое поселение» и оставьте выключенным параметр «Перенаправлять на HTTPS».
- В бекенде Shop-Script на странице настройки обмена данными с «1С» скопируйте адрес скрипта синхронизации. Он имеет вид https://domain.ru/cml1c/.../.
- В адресе скрипта синхронизации замените:
- https на http
- domain.ru/cml1c на domain.ru/import1c/cml1c — добавьте к домену адрес скрытого поселения
- Измененный таким образом адрес сохраните в настройках «1С».
Случай Б. Вы настроили перенаправление на HTTPS средствами веб-сервера
Например, в конфигурации nginx или в файле .htaccess.
Самостоятельно добавьте исключение для адреса скрипта синхронизации в конфигурации веб-сервера, чтобы по HTTP-адресу скрипта не выполнялось перенаправление на HTTPS.
Благодаря такой настройке «1С» будет обращаться к плагину обмена данными через протокол HTTP, а остальные разделы сайта продолжат работать по HTTPS.
Как обнулять складские остатки, если система учёта не отправляет пустое количество на складе
Включите настройку «Обнулять складские остатки при отсутствии значений в файле обмена». Если ваша система учёта настроена так, что не отправляет значение 0, когда товар закончился на складе, то с помощью этой настройки плагин автоматически установит количество на складе, равное нулю.
Как получать информацию об артикулах из файла с товарами
Чаще всего информация об артикулах содержится в файле с предложениями, который выгружается из системы учёта. Обычно в названии такого файла используется слово offers. Однако некоторые конфигурации систем учёта выгружают информацию об артикулах в файле с товарами, в названии которого обычно используется слово import. Для того чтобы адаптироваться такому формату файлов, включите настройку «Получать код артикула из информации о товарах».
Как импортировать значения характеристик для артикулов товаров
В свойствах артикулов товаров можно редактировать значения характеристик, для которых включена такая возможность в разделе «Настройки → Типы и характеристики товаров». Такие значения для артикулов товаров можно получать из системы учёта. Для этого в настройке «Импорт значений характеристик артикулов» выберите значение «Импортировать».
Если выбрать «Не импортировать», то значения характеристик будут импортироваться только для товаров, но не для их отдельных артикулов.
Как автоматически скрывать с витрины товары, помеченные на удаление
Во время импорта плагин может устанавливать нужный статус видимости на витрине для тех товаров, информацию о которых Shop-Script получает от системы учёта. Если товар помечен на удаление, то в интернет-магазине такой товар станет скрытым. Для этого включите настройку «Обновлять статус импортированных товаров».