Нули количеству товара при обмене с CommerceML
Этот модуль входит в нашу Подписку.
Оформите подписку — и пользуйтесь всеми модулями без ограничений.
Модуль дополняет обмен с 1С по CommerceML и не оставляет устаревшие остатки на складах, которые отсутствуют в текущей выгрузке. Если магазин знает склад, но по конкретному товару количество для него не пришло, модуль передаёт в обработку значение 0.
Для чего нужен
В выгрузке из 1С могут присутствовать не все склады. Без дополнительной обработки количество на пропущенном складе сохраняется от предыдущего обмена. Модуль устраняет эту ситуацию и помогает поддерживать складские остатки в соответствии с актуальными данными обмена.
Основные возможности
- Обнуление количества товара на складах магазина, для которых в текущем обмене нет данных.
- Обработка списка складов, полученного при импорте каталога CommerceML.
- Исключение из обработки складов обмена, которых нет в магазине.
- Формирование команды cron для разового полного обнуления остатков.
- Совместная работа с модулями CommerceML и «Склады».
Как работает
При импорте каталога модуль сохраняет соответствие внешних идентификаторов складов и складов магазина. Для каждого товара он сравнивает этот список с количествами из текущей выгрузки. Если склад существует в магазине, но количество по нему не передано, в данные товара добавляется значение 0.
В настройках также доступна команда cron, защищённая хешем секретного ключа. Она предназначена для разового полного обнуления складских и общих остатков перед последующим восстановлением актуальных значений обменом.
Остались вопросы по работе модуля?
- English
- Русский
- 4.18.X
Инструкция к модулю «Нули количеству товара при обмене с CommerceML»
Что делает модуль
Модуль дополняет данные о количестве товара при обмене CommerceML. Если склад существует в магазине, но в текущей выгрузке по товару нет количества для этого склада, модуль передаёт значение 0. Склады, которых нет в магазине, исключаются из обработки.
Дополнительно модуль позволяет разово обнулить все складские и общие остатки командой cron.
Где находится модуль
Откройте Модули → Управление модулями → Нули количеству товара при обмене с CommerceML.
Для работы автоматического режима должны быть установлены и включены модули CommerceML и Склады. Обмен должен проходить с корректной HTTP Basic-авторизацией.
Настройки модуля
Секретный ключ (secret_key) защищает запуск полного обнуления. В адрес команды передаётся MD5-хеш текущего ключа. Значение по умолчанию — ms_cml_fill_empty_amount; перед использованием cron рекомендуется заменить его своим уникальным значением.
Ссылка для крона отображает готовую команду после заполнения секретного ключа. Команду можно скопировать из настроек модуля.
Автоматическое обнуление при обмене
- Запустите авторизованный импорт каталога CommerceML.
- Модуль получит соответствие внешних идентификаторов складов и складов магазина.
- При обработке товара модуль добавит количество 0 для каждого существующего склада, по которому в текущей выгрузке нет данных.
Полное обнуление по cron
Модуль формирует команду следующего вида:
0 4 * * * php<версия> <корень магазина>/<файл витрины> --dispatch=ms_cml_fill_empty_amount.reset --hash=<MD5 секретного ключа>
Скопируйте команду из настроек и добавьте её в планировщик cron. Операция выполняется только при совпадении переданного хеша с MD5 текущего секретного ключа.
Важно: команда обнуляет все значения в таблицах складских остатков и общее количество товаров. Операция не предусматривает отката. Перед запуском сделайте резервную копию базы данных и убедитесь, что после обнуления можно сразу выполнить полный обмен для восстановления актуальных остатков.
Как проверить работу
Автоматический режим: выполните тестовый обмен, в котором для выбранного товара отсутствует один из существующих складов. После импорта проверьте количества товара по складам: для отсутствующего склада должно быть установлено 0, а значения переданных складов должны соответствовать выгрузке.
Полное обнуление: проверяйте только на тестовой копии или после резервного копирования. Запустите команду из настроек и убедитесь, что складские и общие количества стали равны 0. Команда с изменённым хешем не должна выполнять обнуление.
История изменений
v1.0.2 от 30.09.2026
[*] Обновлены код, шаблоны и интеграционные файлы модуля.
[*] Обновлены описание, инструкция, changelog и логотип модуля.
v1.0.1 от 2024-09-18
[*] Стандартизация модуля.
[+] Обнуление остатка товара в базе по крону.
v1.0.0 от 2022-04-06
[+] Первое издание.
Обозначения:
[+] Добавлено
[-] Удалено
[*] Изменено
[!] Исправлена ошибка
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.