MS: Внешний код вместо артикула
Описание
Модуль ms_external_to_code позволяет использовать внешний код из систем МойСклад или 1С в качестве артикула (кода) товара при импорте через CommerceML. Модуль обрабатывает внешние коды товаров и преобразует их в артикулы товаров CS-Cart.
Основные возможности
- Использование внешнего кода как артикула: Автоматическое использование внешнего кода товара из 1С/МойСклад в качестве артикула
- Обрезка внешнего кода: Возможность обрезать внешний код по символу "#" (все после символа становится артикулом)
- Проверка уникальности: Опция проверки уникальности артикула перед использованием обрезанного кода
- Интеграция с CommerceML: Автоматическая обработка внешних кодов при импорте через CommerceML
Как работает модуль
Модуль использует следующие механизмы:
- Хук импорта CommerceML (
hooks.func.php):
- Функция
fn_ms_external_to_code_commerceml_product_importer_import_pre()вызывается перед импортом товара через CommerceML - Обрабатывает внешний код товара (
external_id) и преобразует его в артикул (product_code)
- Обрезка внешнего кода:
- Если включена опция "Обрезать внешний код":
- Ищет символ "#" во внешнем коде
- Если символ найден, использует все после символа "#" как артикул
- Если символ не найден, использует весь внешний код как артикул
- Если опция выключена, использует весь внешний код как артикул
- Проверка уникальности:
- Если включена опция "Проверить уникальность артикула":
- Проверяет, существует ли уже товар с таким артикулом
- Если существует и это не тот же товар, использует полный внешний код вместо обрезанного
- Если не существует или это тот же товар, использует обрезанный код
Где находится функциональность
- Автоматическая работа: Модуль работает автоматически при импорте товаров через CommerceML
- Административная панель:
- Настройки модуля (обрезка внешнего кода, проверка уникальности)
Настройки модуля
- Обрезать внешний код (
cut_external_id): Если включено, внешний код обрезается по символу "#" (все после символа становится артикулом) - Проверить уникальность артикула (
check_product_code_unique): Если включено, проверяется уникальность обрезанного артикула перед использованием
Технические детали
- Модуль автоматически устанавливается в мультивендор и Ultimate редакции CS-Cart
- Работает только при импорте через CommerceML
- Обрабатывает внешний код товара из системы 1С или МойСклад
- Преобразует внешний код в артикул товара CS-Cart
Примеры работы
- С обрезкой внешнего кода:
- Внешний код:
12345#ABC-123 - Артикул товара:
ABC-123
- Без обрезки:
- Внешний код:
12345#ABC-123 - Артикул товара:
12345#ABC-123
- С проверкой уникальности:
- Внешний код:
12345#ABC-123 - Если артикул
ABC-123уже существует у другого товара → используется12345#ABC-123 - Если артикул
ABC-123уникален → используетсяABC-123
Локализации:
- English
- Русский
Совместимость:
- 4.18.X
# Инструкция по использованию модуля MS: Внешний код вместо артикула
Установка
- Убедитесь, что модуль активирован в разделе Администрирование → Модули → Скачанные модули
- Модуль автоматически устанавливается в мультивендор и Ultimate редакции CS-Cart
Настройка
- Перейдите в Администрирование → Модули → Скачанные модули → MS: Внешний код вместо артикула
- Настройка обработки внешнего кода:
- Обрезать внешний код: Включите, если внешний код содержит символ "#" и нужно использовать часть после символа как артикул
- Пример: внешний код
12345#ABC-123→ артикулABC-123 - Проверить уникальность артикула: Включите для проверки уникальности обрезанного артикула
- Если артикул уже существует у другого товара, будет использован полный внешний код
- Сохраните изменения
Использование
Для администратора
- Импорт товаров через CommerceML:
- Выполните импорт товаров через CommerceML как обычно
- Модуль автоматически обработает внешние коды товаров и преобразует их в артикулы
- Проверка результата:
- После импорта проверьте артикулы товаров
- Убедитесь, что артикулы соответствуют ожидаемым значениям
Примеры работы
- С обрезкой внешнего кода (включено):
- Внешний код в 1С:
ORDER-12345#PROD-ABC - Артикул в CS-Cart:
PROD-ABC
- Без обрезки (выключено):
- Внешний код в 1С:
ORDER-12345#PROD-ABC - Артикул в CS-Cart:
ORDER-12345#PROD-ABC
- С проверкой уникальности:
- Внешний код:
ORDER-12345#PROD-ABC - Если артикул
PROD-ABCуже существует → используетсяORDER-12345#PROD-ABC - Если артикул
PROD-ABCуникален → используетсяPROD-ABC
Проверка работы
- Проверка обрезки внешнего кода:
- Включите опцию "Обрезать внешний код"
- Импортируйте товар с внешним кодом вида
123#ABC - Проверьте, что артикул товара равен
ABC
- Проверка уникальности:
- Включите опцию "Проверить уникальность артикула"
- Импортируйте товар с внешним кодом, который после обрезки совпадает с существующим артикулом
- Проверьте, что используется полный внешний код вместо обрезанного
Устранение неполадок
- Артикулы не обрезаются: Проверьте настройки модуля и убедитесь, что опция "Обрезать внешний код" включена
- Артикулы дублируются: Включите опцию "Проверить уникальность артикула"
- Ошибки при импорте: Проверьте формат внешних кодов в системе 1С/МойСклад
Ключевые файлы
app/addons/ms_external_to_code/addon.xml- конфигурация модуляapp/addons/ms_external_to_code/hooks.func.php- хук обработки внешнего кода при импорте CommerceML
**v1.0.1** [\*] Изменены короткие теги <? на обычные <?php **v1.0.0** от (18.04.2023) [+] Первое издание ************************ [+] Добавлено [-] Удалено [*] Изменено [!] Исправлена ошибка
Отзывы
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.