В Управлении Торговлей
Для работы обработки нужно добавить справочник ВебСайты с реквизитами для хранения доступов к сайтам:
- Адрес - имя домена сайта (без http)
- Логин - логин из .htpasswd
- Пароль - пароль из .htpasswd
- ПрефиксКатегории - при автоматическом создании номенклатуры будут создаваться группы (категории) с указанным префиксом
- ПрефиксЭлементов - при автоматическом создании номенклатуры будут создаваться элементы (продукты) с указанным префиксом, это позволяет разделить номенклатуру с разных сайтов.
Также у справочника номенклатуры нужно добавить реквизиты (распространяющиеся и на группы - категории)
- METADescription (описание для раскрутки)
- METAKeywords (ключевые слова для раскрутки)
- METATitle (заголовок для раскрутки)
- Архив (товар не доступен на сайте)
- ДатаДобавления (дата для определения когда добавлен элемент (на будущее))
- ДатаИзменения (дата последнего изменения в номенклатуре для синхронизации (на будущее))
- ИзображениеПоУмолчанию (имена файлов изображений, сделайте подлиннее)
- ИмяСтраницы (человеколюбимое имя страницы с продуктом)
- НулеваяЦена (на самом деле это цена продукта, но для моего проекта цены устанавливались на опции только)
- БесплатнаяДоставка (есть и такой флаг)
- СтоимостьДоставки (дробное число)
И встроить эту обработку и добавленный справочник в используемый интерфейс.
Опции (в моём проекте объёмы парфюмов) будут загружены в характеристики номенклатуры, поэтому включите в учётной политике учёт характеристик номенклатуры.
На сервере
С магазином ShopScript нужно в корень сайта положить папку services, на данный момент обмен построен на предположениях, что на сайте используется русский язык, есть 2 уровня вложенности категорий и разновидности товаров типа дополнительная опция одного вида.
Файлы для сервера:
- .htaccess защищает каталог от несанкционированного доступа, в нём прописывается путь к .htpasswd
- mysql.php - содержит общую функцию выполнения запроса к mysql, в некоторых случаях приходится делать нехорошую вещь - конвертировать кодировку запроса к нужной (CP1251), это делается в mysql.php
- const.php - адрес сервера, логин, схема и пароль к БД
- prices.php - сервис выдаёт цены на товар с переданным ID
- products.php - сервис выдаёт все продукты магазина для загрузки номенклатуры
- set.price.php - сервис сохраняет переданные цены на сайте
Защита строится с помощью basic auth, генератор файла .htpasswd можно найти в Интернете, например здесь.
Работа с обработкой:
Приложены две версии обработки: под платформу 8.2 в режиме совместимости с 8.1 и под собственно 8.1.
- Выбираете веб-сайт, с которым будете работать
- На закладке "Загрузка продуктов с сайта" нажимаете Прочитать, если возникают ошибки (будут сообщения выдаваться в служебных сообщениях), нажимаете ещё раз, если не помогает нужно разбираться. Потом Загрузить. На магазинах с несколькими тысячами товаров, может занять несколько часов.
- На закладке "Загрузка цен с сайта" выбираете документ "Установки цен номенклатуры", в появившемся списке создаёте новый документ, дальше нажимаете Прочитать и загрузить и ждёте ещё примерно столько же.
- Когда уже будет что загрузать на сайт, на закладке "Сохранение цен на сайте" выбираете документ "Установка цен номенклатуры" в котором устанавливаются нужные цены и нажимаете Сохранить.
Обработка оригинальная, сделана под проект. Ожидается более полная работа на Управлении Торговлей 11 в будущем.