ms3Variants
ms3Variants добавляет товару варианты с собственным полем count. ms3Remains хранит для варианта отдельную строку остатка.
Как это работает
- У варианта своя строка остатка с ключом
ms3variant:{id}. Она не смешивается с опциями. - Во вкладке Остатки товара варианты показываются отдельными строками. Подпись строки: артикул (
sku). Если артикул пустой, показываетсяVariant #id. В общем списке остатков та же подпись в колонке SKU варианта. - Сниппет принимает
&variant=27`` и возвращает остаток варианта. - Проверки корзины и списание по заказу берут вариант из строки заказа и работают с его остатком.
Проекция в count
При включённой ms3remains_sync_variant_count компонент пишет остаток варианта в поле count таблицы ms3Variants после каждого изменения. Витрина ms3Variants продолжает работать на своём поле, а источником правды остаётся ms3Remains.
Конфликт списаний
У ms3Variants есть собственное списание count по статусу заказа (настройка ms3variants_deduct_stock_status). Если включены оба механизма, остаток спишется дважды.
Раздел «Настройки» показывает предупреждение при конфликте и кнопку «Отключить списание ms3Variants». Кнопка обнуляет ms3variants_deduct_stock_status. Ручной путь: системные настройки, фильтр ms3variants_.
Когда ms3Variants не установлен
Компонент это определяет по наличию таблицы и молча пропускает всё, что связано с вариантами. Ошибок не будет.
