Системные настройки
Ключи хранятся в системных настройках MODX с префиксом ms3remains_. Раздел Настройки показывает и сохраняет их, кроме ms3remains_seed_on_install: его меняют в системных настройках MODX.
Карточки: Основные, Заказы, Витрина, Проекция в каталог. Кнопка Сохранить настройки. Обновить перечитывает значения с сервера без записи.


Основные
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
ms3remains_enabled | да/нет | нет | Списание по статусам и проверки корзины/заказа. Manager, сниппет и проекция работают и при выключении |
ms3remains_option_keys | строка | пусто | Ключи отслеживаемых опций через запятую, например color,size |
ms3remains_remains_default | число | 0 | Значение для новой строки и кнопки Заполнить пустые по умолчанию. До трёх знаков после запятой |
Что делает ms3remains_option_keys
Перечислите ключи, по которым ведёте остаток. Только они участвуют в подборе строки остатка в корзине, заказе и сниппете. В расчёт не входят:
- остальные опции (подарочная упаковка, комментарий к строке)
- служебные ключи с префиксом
_(_variant_idи т.п.)
Пустой список: в расчёт остатка попадают все обычные опции из корзины или заказа. На вкладке товара сочетания цветов и размеров не строятся. Видны базовая строка и варианты ms3Variants.
Каталог с цветом и размером: укажите color,size (или ваши ключи). Иначе менеджер сохранит базовую строку, а покупатель в корзине попадёт на другую комбинацию. Товар без опций: оставьте поле пустым и сохраните базовую строку на вкладке.
Заказы
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
ms3remains_deduct_statuses | список id | пусто | Статусы, при которых списывается остаток |
ms3remains_refund_statuses | список id | пусто | Статусы, при которых списанное возвращается |
ms3remains_check_before_cart | да/нет | да | Проверять остаток при добавлении и изменении в корзине |
ms3remains_check_before_order | да/нет | да | Проверять остаток перед оформлением заказа |
ms3remains_check_options | да/нет | да | Требовать выбор всех ключей из option_keys (при пустом списке не блокирует). Работает только при enabled=1 и вместе с проверкой корзины и/или заказа. Строка с _variant_id (ms3Variants) эту проверку пропускает |
Проверки корзины и заказа работают только при ms3remains_enabled = 1.
В разделе Настройки:
- статусы выбирают мультиселектом из активных статусов MiniShop3
- подписи берутся из лексикона MiniShop3 (
nameстатуса) - сортировка по полю
position - в системных настройках хранятся id через запятую
Если MiniShop3 не отдаёт класс статусов, список пустой. В селекте текст «Статусы заказов MiniShop3 не найдены».
Если один и тот же id попал и в списание, и в возврат, при сохранении он остаётся только в списании.
Если компонент включён, а статусы списания не выбраны, экран показывает предупреждение: заказы не будут уменьшать остатки.
Витрина
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
ms3remains_hide_quantity | да/нет | нет | Сниппет выводит «В наличии / Нет в наличии» вместо числа |
ms3remains_moreless_count | число | 0 | Порог «Много»: остаток строго больше порога → слово. 0 выключает порог. Игнорируется при hide_quantity |
Проекция в каталог
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
ms3remains_sync_product_stock | да/нет | да | Писать сумму остатков в msProductData.stock |
ms3remains_sync_variant_count | да/нет | да | Писать остаток варианта в ms3Variants.count |
Переключатель вариантов выключен, если ms3Variants не установлен.
Кнопка Перестроить сначала сохраняет текущие значения формы, включая два переключателя sync. Затем пересчитывает stock и count для товаров, у которых уже есть строки remains. Если ms3remains_sync_product_stock включён, к ним добавляются товары без строк и со stock больше нуля: в карточку им пишется 0. До нажатия кнопки такой товар остаётся в фильтре «в наличии». После успеха сообщение показывает, сколько товаров обработано. Если оба переключателя выключены, счётчик будет 0.
Эта же карточка показывает версию MiniShop3, которую видит API настроек.
Подробности проекции: Проекция остатков.
Установка
| Ключ | Тип | По умолчанию | Описание |
|---|---|---|---|
ms3remains_seed_on_install | да/нет | нет | При установке и обновлении, если ключ включён, копирует в remains msProductData.stock > 0 (базовая строка, если у товара ещё нет ни одной) и count > 0 вариантов (если строки с ключом ms3variant:{id} ещё нет). Существующие строки не меняет. Проекцию после копирования не запускает. Экран «Настройки» ключ не показывает и не сохраняет |
Предупреждения в разделе «Настройки»
Экран показывает такие блоки:
- нет статусов списания при включённом компоненте
- пересечение статусов списания и возврата
- конфликт с ms3Variants: если у ms3Variants включено собственное списание (
ms3variants_deduct_stock_status), остаток спишется дважды. Кнопка Отключить списание в ms3Variants обнуляет эту настройку - обнаружен ключ
cb1c_enabled(CommerceBridge1C): возможна перезаписьmsProductData.stock. Загружайте остатки через CSV или сервисный API (см. Обмен с внешними системами) - включена встроенная inventory MiniShop3 (
ms3_inventory_enabled). Она резервирует суммарный stock товара и конфликтует с остатками по комбинациям опций. Оставьтеms3_inventory_enabled = 0, пока работает ms3Remains
