ms_cml_fill_empty_amount
Описание
Модуль Нули количеству товара при обмене с CommerceML проставляет нули количеству товара на складах, которые отсутствуют при передаче данных из 1С. Это позволяет корректно обнулять остатки товаров на складах, которые не были переданы в текущем обмене.
Функциональность
- Автоматическое проставление нулей количеству товара на складах, отсутствующих в обмене
- Интеграция с модулями CommerceML и Warehouses
- Поддержка cron-задач для обнуления остатков
- Настройка секретного ключа для безопасности cron-ссылок
Принцип работы
Модуль работает через систему хуков CommerceML:
- Хук
commerceml_product_convertor_convert- обрабатывает товары при импорте:
- Получает список складов из сессии (
$_SESSION['ms_cml_warehouses']) - Для каждого склада проверяет наличие данных о количестве товара
- Если склад присутствует в системе, но отсутствует в данных обмена:
- Создаёт DTO для количества товара на складе со значением 0
- Добавляет его в коллекцию количеств товара на складах
- Если склад не найден в системе, удаляет его из сессии
- Cron-задача - обнуление остатков товаров:
- Доступна через специальную ссылку с секретным ключом
- Выполняет обнуление остатков товаров на всех складах
- Используется для периодической очистки остатков
- Интеграция с модулем 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
Оформление подписки
Мы переходим на новую подписную систему, открывая для вас полный доступ ко всем нашим модулям. Подробную информацию об условиях подписки и часто задаваемых вопросах вы можете найти здесь.
Обратите внимание, что приобретение модулей по отдельности теперь недоступно — воспользоваться ими возможно исключительно в рамках подписки.
За единую стоимость подписки - 2000 руб/мес. Вы получаете доступ ко всем модулям.
Как оформить подписку у нас на сайте
Зарегистрируйтесь или авторизуйтесь на нашем сайте и выберите интересующий вас модуль
Нажмите кнопку Запросить триал доступ
Введите в поле URL сайта ваш домен в формате domain.com, без www и https://

Далее в личном кабинете в разделе загрузки вы сможете скачать нужный вам модуль и менеджер модулей для удобного управления модулями и оформления подписки.


Далее у вас есть 7 дней для тестирования выбранного модуля.
По истечении строка триала, для продолжения работы необходимо оплатить подписку.
Сделать это можно из менеджера модулей.
На выбор вы можете оплатить:
для зарубежных карт - PayPal
для РФ карт - Robokassa

Или на странице на сайте https://makeshop.pro/subscription/

При оплате нужно указать электронную почту с которой вы оформляли триал доступ.
При покупке на маркетплейсе CS-Cart
При покупке любого модуля зарубежной картой или картой РФ
Так как система при оформлении подписки не спрашивает дополнительных вопросов (на какой домен подписка оформляется) желательно вводить электронную почту ту же что и ваша учетная запись у нас на сайте (если она есть), тогда ваши учётки свяжутся между собой.
Выберите интересующий модуль и нажмите кнопку “Оформить подписку“

Далее после оплаты подписки вы сможете скачать модуль перейдя в раздел “Загрузки“, там выберите свой заказ и в нем будет ссылка на скачивание.

В дальнейшем, для получения новых модулей по подписке рекомендуем пользоваться нашим сайтом.
Всё что вам будет нужно сделать это на интересующем вас модуле (после авторизации) нажать кнопку “Запросить модуль по подписке“ и после одобрения скачать его в разделе загрузки.

Если что-то пойдет не так - проверьте выписалась ли лицензия

Найдите заказ с датой оформления подписки

Убедитесь что у вас прописался URL сайта в заказ

Если URL сайта неправильный и вам нужно обновить его: переходите в пункт меню “Мои модули”

Ищите модуль и проверьте URL магазина для которого выписана подписка

# Инструкция по использованию модуля ms_cml_fill_empty_amount
Установка
- Убедитесь, что установлены модули CommerceML и Warehouses
- Установите модуль через раздел Модули → Скачанные модули
- Активируйте модуль Нули количеству товара при обмене с Commerceml
Настройка
Настройка секретного ключа
- Перейдите в Модули → Скачанные модули → Нули количеству товара при обмене с Commerceml
- Заполните поле Секретный ключ (по умолчанию:
ms_cml_fill_empty_amount) - Сохраните настройки
- После сохранения в настройках модуля отобразится Ссылка для крона
Настройка cron-задачи (опционально)
- Скопируйте ссылку для крона из настроек модуля
- Добавьте задачу в cron для периодического обнуления остатков:
`
0 2 * * * curl "https://your-site.com/index.php?dispatch=ms_cml_fill_empty_amount.reset&secret_key=YOUR_SECRET_KEY"
`
- Настройте расписание выполнения задачи по необходимости
Использование
Автоматическое обнуление при обмене
После активации модуля при каждом обмене данными через CommerceML:
- Модуль автоматически проверяет наличие складов в данных обмена
- Для складов, которые присутствуют в системе, но отсутствуют в данных обмена:
- Проставляется количество товара равное 0
- Это позволяет корректно обнулять остатки на складах
- Для складов, которые не найдены в системе:
- Они удаляются из сессии
- Не обрабатываются модулем
Ручной запуск обнуления через cron
- Откройте ссылку для крона в браузере или через curl
- Модуль выполнит обнуление остатков товаров на всех складах
- Проверьте результаты в админ-панели
Импорт/Экспорт
Модуль не поддерживает импорт/экспорт данных. Работает только при обмене данными через CommerceML.
Тестирование
- Настройте модуль и заполните секретный ключ
- Выполните обмен данными через CommerceML:
- Убедитесь, что некоторые склады присутствуют в системе
- Убедитесь, что в данных обмена не все склады переданы
- Проверьте остатки товаров на складах:
- Склады, присутствующие в обмене - должны иметь актуальные остатки
- Склады, отсутствующие в обмене - должны иметь остатки равные 0
- Проверьте работу cron-ссылки:
- Откройте ссылку в браузере
- Убедитесь, что остатки обнулены
Обслуживание
Обновление модуля
Обновление модуля выполняется стандартным способом через раздел Модули → Скачанные модули.
Удаление модуля
При удалении модуля:
- Все настройки модуля удаляются
- Cron-ссылка перестаёт работать
- Автоматическое обнуление остатков при обмене прекращается
Ключевые файлы
func.php- функции установки/удаления модуляhooks.func.php- хук для обработки товаров при импорте CommerceMLcontrollers/frontend/ms_cml_fill_empty_amount.php- контроллер для cron-задачиcontrollers/frontend/commerceml.pre.php- предобработка обмена CommerceMLdesign/backend/templates/addons/ms_cml_fill_empty_amount/settings/reset_cron.tpl- шаблон настроек cronaddon.xml- конфигурация модуляvar/langs/ru/addons/ms_cml_fill_empty_amount.po- языковые файлы
**v1.0.1** [\*] Стандартизация модуля [+] Обнуление остатка товара в БД по крону **v1.0.0** (06.04.2022) [+] Первое издание ************************** [+] Добавлено [-] Удалено [*] Изменено [!] Исправлена ошибка
Нули количеству товаров
Возможность обнуления всех остатков по крону
Ваш запрос отправлен!
Ваш запрос на доработку модуля отправлен в техническую поддержку. Мы изучим ваши пожелания и дадим обратную свзязь.
Вам придет уведомление на указанный Email.
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.