Более 200 модулей для CS-Cart по единой подписке за 3 000 ₽ в месяц

Нули количеству товара при обмене с Commerceml

Модуль проставляет нули количеству товара на складах, которые отсутствуют при передачи данных с 1С.
Укажите домен без http и слешей. Пример: domain.com
По подписке
Последняя версия модуля Обновлено:
Есть вопросы по модулю? Напиши нам: HelpDesk Bot

ms_cml_fill_empty_amount

Описание

Модуль Нули количеству товара при обмене с CommerceML проставляет нули количеству товара на складах, которые отсутствуют при передаче данных из 1С. Это позволяет корректно обнулять остатки товаров на складах, которые не были переданы в текущем обмене.

Функциональность

  • Автоматическое проставление нулей количеству товара на складах, отсутствующих в обмене
  • Интеграция с модулями CommerceML и Warehouses
  • Поддержка cron-задач для обнуления остатков
  • Настройка секретного ключа для безопасности cron-ссылок

Принцип работы

Модуль работает через систему хуков CommerceML:

  1. Хук commerceml_product_convertor_convert - обрабатывает товары при импорте:
  • Получает список складов из сессии ($_SESSION['ms_cml_warehouses'])
  • Для каждого склада проверяет наличие данных о количестве товара
  • Если склад присутствует в системе, но отсутствует в данных обмена:
  • Создаёт DTO для количества товара на складе со значением 0
  • Добавляет его в коллекцию количеств товара на складах
  • Если склад не найден в системе, удаляет его из сессии
  1. Cron-задача - обнуление остатков товаров:
  • Доступна через специальную ссылку с секретным ключом
  • Выполняет обнуление остатков товаров на всех складах
  • Используется для периодической очистки остатков
  1. Интеграция с модулем Warehouses:
  • Использует классы ProductWarehouseQuantityDto и ProductWarehouseQuantityDtoCollection
  • Работает с системой складов CS-Cart

Расположение в админке

Настройки модуля:

  • Модули → Управление модулями → Нули количеству товара при обмене с Commerceml

Настройки:

  • Секретный ключ (secret_key) - ключ для безопасности cron-ссылки (по умолчанию: ms_cml_fill_empty_amount)

Cron-ссылка:

  • Отображается в настройках модуля после заполнения секретного ключа
  • Используется для запуска обнуления остатков через cron

Важные замечания

  • Модуль требует установленных модулей CommerceML и Warehouses
  • Работает только при обмене данными через CommerceML
  • Использует сессию для хранения списка складов ($_SESSION['ms_cml_warehouses'])
  • Cron-задача требует настройки секретного ключа для безопасности
  • Обнуляет остатки только на складах, которые присутствуют в системе, но отсутствуют в данных обмена
Локализации:
  • English
  • Русский
Совместимость:
  • 4.18.X

# Инструкция по использованию модуля ms_cml_fill_empty_amount

Установка

  1. Убедитесь, что установлены модули CommerceML и Warehouses
  2. Установите модуль через раздел Модули → Скачанные модули
  3. Активируйте модуль Нули количеству товара при обмене с Commerceml

Настройка

Настройка секретного ключа

  1. Перейдите в Модули → Скачанные модули → Нули количеству товара при обмене с Commerceml
  2. Заполните поле Секретный ключ (по умолчанию: ms_cml_fill_empty_amount)
  3. Сохраните настройки
  4. После сохранения в настройках модуля отобразится Ссылка для крона

Настройка cron-задачи (опционально)

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

`

0 2 * * * curl "https://your-site.com/index.php?dispatch=ms_cml_fill_empty_amount.reset&secret_key=YOUR_SECRET_KEY"

`

  1. Настройте расписание выполнения задачи по необходимости

Использование

Автоматическое обнуление при обмене

После активации модуля при каждом обмене данными через CommerceML:

  1. Модуль автоматически проверяет наличие складов в данных обмена
  2. Для складов, которые присутствуют в системе, но отсутствуют в данных обмена:
  • Проставляется количество товара равное 0
  • Это позволяет корректно обнулять остатки на складах
  1. Для складов, которые не найдены в системе:
  • Они удаляются из сессии
  • Не обрабатываются модулем

Ручной запуск обнуления через cron

  1. Откройте ссылку для крона в браузере или через curl
  2. Модуль выполнит обнуление остатков товаров на всех складах
  3. Проверьте результаты в админ-панели

Импорт/Экспорт

Модуль не поддерживает импорт/экспорт данных. Работает только при обмене данными через CommerceML.

Тестирование

  1. Настройте модуль и заполните секретный ключ
  2. Выполните обмен данными через CommerceML:
  • Убедитесь, что некоторые склады присутствуют в системе
  • Убедитесь, что в данных обмена не все склады переданы
  1. Проверьте остатки товаров на складах:
  • Склады, присутствующие в обмене - должны иметь актуальные остатки
  • Склады, отсутствующие в обмене - должны иметь остатки равные 0
  1. Проверьте работу cron-ссылки:
  • Откройте ссылку в браузере
  • Убедитесь, что остатки обнулены

Обслуживание

Обновление модуля

Обновление модуля выполняется стандартным способом через раздел Модули → Скачанные модули.

Удаление модуля

При удалении модуля:

  • Все настройки модуля удаляются
  • Cron-ссылка перестаёт работать
  • Автоматическое обнуление остатков при обмене прекращается

Ключевые файлы

  • func.php - функции установки/удаления модуля
  • hooks.func.php - хук для обработки товаров при импорте CommerceML
  • controllers/frontend/ms_cml_fill_empty_amount.php - контроллер для cron-задачи
  • controllers/frontend/commerceml.pre.php - предобработка обмена CommerceML
  • design/backend/templates/addons/ms_cml_fill_empty_amount/settings/reset_cron.tpl - шаблон настроек cron
  • addon.xml - конфигурация модуля
  • var/langs/ru/addons/ms_cml_fill_empty_amount.po - языковые файлы
**v1.0.1**
[\*] Стандартизация модуля
[+] Обнуление остатка товара в БД по крону

**v1.0.0** (06.04.2022)
[+] Первое издание

**************************

[+] Добавлено
[-] Удалено
[*] Изменено
[!] Исправлена ошибка
Отзывы

Здесь можно поделиться своим мнением и оценить нашу работу.

Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.

Похожие модули