MS: Дробный остаток
Описание
Модуль ms_fractional_stock позволяет продавать определенное количество товара или товар с плавающей величиной. Модуль подходит для продажи продуктов питания (в граммах, килограммах), продуктов продаваемых в упаковках (ящики, коробки) и других товаров, которые имеют плавающую сумму.
Основные возможности
- Дробные количества: Возможность продажи товаров с дробными количествами (например, 1.5 кг, 2.3 л)
- Единицы измерения: Настройка единиц измерения количества для товаров (шт., кг, л, м и т.д.)
- Шаг изменения количества: Настройка шага изменения количества товара (например, 0.1, 0.5, 1)
- Минимальное и максимальное количество: Ограничение минимального и максимального количества для заказа
- Глобальные настройки: Глобальные настройки для всех товаров или индивидуальные настройки для каждого товара
- Интеграция с модулем складов: Работа с модулем
warehousesдля учета дробных остатков на складах - Импорт/Экспорт: Поддержка импорта и экспорта дробных количеств через CommerceML и стандартный импорт/экспорт
Как работает модуль
Модуль использует следующие механизмы:
- База данных (
upgrades/migrations/): При установке модуль выполняет миграции для создания необходимых полей:
allow_fractional_amountв таблицеproducts- разрешение дробного остатка для товараms_fractional_stock_use_global_settingsв таблицеproducts- использование глобальных настроекms_unit_measureв таблицеproduct_descriptions- единица измерения количестваms_step_qtyв таблицеproducts- шаг изменения количестваms_min_qtyв таблицеproducts- минимальное количество для заказаms_max_qtyв таблицеproducts- максимальное количество для заказа
- Функции работы с дробными количествами (
func.php):
fn_ms_fractional_stock_get_product_ms_unit_measure()- получает единицу измерения для товараfn_ms_fractional_stock_get_allow_fractional_amount()- проверяет, разрешен ли дробный остаток для товараfn_ms_fractional_stock_get_ms_step_qty()- получает шаг изменения количестваfn_ms_fractional_stock_get_product_min_qty()- получает минимальное количествоfn_ms_fractional_stock_get_product_max_qty()- получает максимальное количество
- Хуки корзины (
hooks.func.php):
fn_ms_fractional_stock_add_product_to_cart_post_normalize_amount()- нормализует количество при добавлении в корзину:- Округляет количество до шага изменения
- Проверяет минимальное и максимальное количество
fn_ms_fractional_stock_update_cart_products_normalize_amount_post()- нормализует количество при обновлении корзины
- Хуки товаров (
hooks.func.php):
- Множество хуков для обработки дробных количеств при различных операциях с товарами
- Интеграция с модулем складов для учета дробных остатков
- Схемы импорта/экспорта:
- Расширение схем импорта/экспорта для работы с дробными количествами
- Поддержка CommerceML для импорта дробных количеств
- JavaScript (
js/addons/ms_fractional_stock/):
- Обработка ввода дробных количеств на витрине
- Валидация и нормализация количеств в корзине
Где находится функциональность
- Административная панель:
- Настройки модуля с глобальными параметрами
- Карточка товара с настройками дробного остатка
- Массовое обновление товаров с дробными количествами
- Витрина:
- Страница товара с полем ввода дробного количества
- Корзина с отображением дробных количеств
- Оформление заказа с дробными количествами
Настройки модуля
- Использовать дробный остаток (
allow_fractional_amount): Глобальная настройка включения/выключения дробного остатка - Единица измерение количества (
unit_measure): Глобальная единица измерения (по умолчанию "шт.")
Настройки товара
Для каждого товара можно настроить:
- Использовать дробный остаток: Включить/выключить для конкретного товара
- Использовать глобальные настройки: Использовать глобальные настройки модуля
- Единица измерения количества: Единица измерения для товара (кг, л, м, шт. и т.д.)
- Шаг изменения количества товара: Шаг изменения (например, 0.1, 0.5, 1)
- Минимальное количество товара для заказа: Минимальное количество
- Максимальное количество для покупки одного товара: Максимальное количество
Технические детали
- Модуль автоматически устанавливается в мультивендор и Ultimate редакции CS-Cart
- При установке выполняет миграции для создания необходимых полей в таблицах
- Конфликтует с модулем
csc_fractional_stock(нельзя использовать одновременно) - Интегрируется с модулем
warehousesдля учета дробных остатков на складах - Поддерживает импорт/экспорт через CommerceML и стандартный импорт/экспорт CS-Cart
- Store Builder
- Store Builder Ultimate
- Multi-Vendor
- Multi-Vendor Plus
- Multi-Vendor Ultimate
- Вендорам
- Владельцам
- Покупателям
- English
- Русский
- 4.18.X
- 4.17.X
Оформление подписки
Мы переходим на новую подписную систему, открывая для вас полный доступ ко всем нашим модулям. Подробную информацию об условиях подписки и часто задаваемых вопросах вы можете найти здесь.
Обратите внимание, что приобретение модулей по отдельности теперь недоступно — воспользоваться ими возможно исключительно в рамках подписки.
За единую стоимость подписки - 2000 руб/мес. Вы получаете доступ ко всем модулям.
Как оформить подписку у нас на сайте
Зарегистрируйтесь или авторизуйтесь на нашем сайте и выберите интересующий вас модуль
Нажмите кнопку Запросить триал доступ
Введите в поле URL сайта ваш домен в формате domain.com, без www и https://

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


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

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

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

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

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

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

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

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

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

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

Инструкция
Настройка модуля
Хуки
Для корректной работы модуля необходимо установить хуки, как указано во вкладке “Информация”.

Глобальные настройки
Перейдите в раздел Модули → Скачанные модули → Дробный остаток → Вкладка Настройки → Основные.
На вкладке представлены Глобальные настройки для товаров**,** применение этих настроек влияет на все товары магазина, если не заданы локальные настройки у товара.
Глобальные настройки для товаров
Использовать дробный остаток - при включении модуля по умолчанию всем товарам присваивается значение настройки “Использовать дробный остаток“.
На этой же вкладке указывается “Единица измерения количества”, по умолчанию - шт.

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

Локальные настройки товаров
Не всем товарам подходят глобальные настройки. Для того, чтобы присвоить товарам локальные параметры, необходимо перейти в нужный товар на вкладку “MS: дробный остаток и упаковки“:

Товарам можно задать следующие настройки:
- Использовать глобальные настройки - если нужны локальные настройки, то нужно снять чек-бокс.
- Использовать дробный остаток (да / нет) - при выборе настройки товар будет учитываться кратно в соответствии с заданным шагом.
- Единица измерения количества - если единица измерения товара отличается от глобальной, в этом поле указывается другая единица измерения. Например, в глобальных настройках “кв. м.”, но для данного товара нужен штучный учет, тогда указываем “шт.”.
- Шаг изменения количества товара - шаг добавления количества товара в корзину, может быть дробным или целым числом. По умолчанию - 1.
- Минимальное количество товара для заказа - количество товара, которое минимально можно добавить в корзину.
- Максимальное количество для покупки одного товара - максимальное количество товара, которое можно добавить в корзину. По умолчанию - 0, т. е. без ограничений.

Документы
Вывод дробных значений можно настроить для печати в документах.
Для этого необходимо перейти в раздел с документами (Настройки → Уведомления → Документы). В редактировании любого из документов становятся доступны новые переменные в разделе ms_fractional_stock:

В редактировании таблиц товаров также доступны новые переменные.

Совместимость с модулями
Модуль совместим для работы с модулями “Упаковки” от make shop и “CommerceML” от CS-Cart.
**v1.2.0** [!] Исправлена ошибка при добавлении общего товара из карточки товара в избранное добавлялось два товара [+] В встроенный api фронтенда корзины добавлены поля "ms_unit_measure", "ms_step_qty" **v1.1.0** от 08.09.2025 [\*] Изменен алгоритм определения минимального количество товара для заказа [!] Исправлена ошибка удаления товаров из корзины [\*] Стандартизация модуля [+] Добавлена миграция для изменения типа поля amount в таблице хранения товаров корзины с mediumint на float, для мобильного приложения **v1.0.0** от 25.04.2025 [+] Первое издание *** [+] Добавлено [-] Удалено [\*] Изменено [!] Исправлена ошибка
Ваш запрос отправлен!
Ваш запрос на доработку модуля отправлен в техническую поддержку. Мы изучим ваши пожелания и дадим обратную свзязь.
Вам придет уведомление на указанный Email.
Здесь можно поделиться своим мнением и оценить нашу работу.
Ваши отзывы помогают нам стать лучше и предлагать вам еще более качественный сервис.