Дробный остаток

Позволяет продавать определенное количество товара или товар с плавающей величиной. Вы можете продавать продукты питания (в граммах, килограммах), продукты продаваемые в упаковках (ящики, коробки) и другие вещи, которые имеют плавающую сумму
Укажите домен без http и слешей. Пример: domain.com
15 200 
Написать отзыв
Последняя версия модуля 2.10.1 Обновлено: 12.11.2024
Есть вопросы по модулю? Напиши нам: HelpDesk
30 дней на возврат
Если не устроит работа модуля, мы вернем вам деньги бонусными баллами в Личном кабинете
Бонус за отзыв
Подарим 1000 бонусных баллов в Личном кабинете за отзыв после покупки модуля
Мультивитринность
Одна цена независимо от количества витрин, не нужно доплачивать
Поддержка
Бесплатная консультация и поддержка по модулю, помощь с установкой
Скидка на доработку
Дадим скидку до 50% на доработку любого функционала при покупке модуля у нас

В CS-Cart по умолчанию нет возможности работы с дробными значениями остатков товаров, это вызывает большие неудобства для владельцев магазинов продуктов, стройматериалов, типографии. Любой продукции где надо оперировать дробными значениями.

Еще одна проблема - это продажа товара упаковками, вы можете задать шаг количества товара, но не будет понятно сколько при этом упаковок получит клиент. Или вы продаете товар упаковками, но учитываете его на складе в штуках, либо в весе(кг, г, т) или объеме(м3, л3) Наш модуль решает сразу 2 проблемы и позволяет продавать товары дробными частями и упаковками

Image

Вы можете гибко настраивать модуль для каждого товара индивидуально или для всего магазина в целом, либо добавить исключения.

Модуль поддерживает отображения единицы измерения количества товара, настройку шага для выбора количества, минимального и максимального количество товара для заказа. Он решает проблемы отображения доступных товаров на сайте и упрощает процесс продажи.

Image

Продажа товара упаковками теперь настраивается очень гибко и понятно как для владельца магазина, так и для клиента. Вы можете:

  • Продавать только упаковками и отображать упаковки;
  • Продавать упаковками и показывать сколько единиц товара получит клиент;
  • Продавать штуками и показывать и давать добавлять товар в корзину упаковками.

При этом учитывать товар вы будете поштучно (целыми числами или дробями) и настраивать это можно индивидуально для каждого товара.

Image

Особенности модуля

  • Продажа товаров дробными единицами;
  • Совместимость с CommerceML;
  • Установка единицы измерения количества товаров. Как глобально, так и локально;
  • Отключение дробного остатка для единиц введенных в исключения;
  • Установка шага выбора количества товаров для заказа;
  • Установка минимального и максимального значения для заказа;
  • Настраиваемое отображение для продажи упаковками;
  • Настраиваемое отображение количества в корзине;
  • Совместим с шаблонами Unitheme и Youpi.

Продукт:
  • Store Builder
  • Store Builder Ultimate
  • Multi-Vendor
  • Multi-Vendor Plus
  • Multi-Vendor Ultimate
Назначение:
  • Вендорам
  • Владельцам
  • Покупателям
Архитектура
:
  • Backend
  • Frontend
Локализации:
  • English
  • Русский
Совместимость:
  • 4.17.X
  • 4.16.X
  • 4.15.X
  • 4.14.X
  • 4.13.X
  • 4.12.X

Установка

После скачивания модуля, его установка производится штатными средствами CS-Cart на странице Панель администратора → Модули → Управление модулями → Загрузить и установить модуль (+).

Для версии CS-Cart 4.13.1 и выше Панель администратора → Модули → Управление модулями → Кнопка Шестеренка → Ручная установка.

Image

Установка хуков

Для корректной работы требуется установить хуки по инструкции. Информация собрана во вкладке модуля Информация.

Данная операция по добавлению хуков актуальна для текущей версии модуля v.2.5.13 и более поздних, в будущих версиях возможно данная операция уже не понадобиться.

Image

Для отображения количество товара в корзине, необходимо добавить 3 хука в файл “fn.cart.php”:

  1. Откройте файл fn.cart.php (файл будет находиться по пути: app/functions/fn.cart.php);
  2. В открывшемся файле найдите строку с кодом (ориентировочно между строк 6057-6062):
    1. if (!empty($product['qty_step']) && $product['qty_step'] > $min_qty) {
              $min_qty = $product['qty_step'];
  3. После найденной строчкой вставьте код:
    1. fn_set_hook('check_amount_in_stock_min_qty', $product, $min_qty, $product_id);
  4. В результате у вас должно получится следующее:
    1. if (!empty($product['qty_step']) && $product['qty_step'] > $min_qty) {
              $min_qty = $product['qty_step'];
          }
      
          
          fn_set_hook('check_amount_in_stock_min_qty', $product, $min_qty, $product_id);
      
          $cart_amount_changed = false;
      Image
  5. Далее в файле найдите строку с кодом (ориентировочно между строк 6522-6524):
    1. $amount = fn_normalize_amount(@$data['amount']);
  6. После найденной строчкой вставьте код:
    1. fn_set_hook('add_product_to_cart_post_normalize_ammount', $product_id, $amount, $data);
  7. В результате у вас должно получится следующее:
    1. $amount = fn_normalize_amount(@$data['amount']);
              
      fn_set_hook('add_product_to_cart_post_normalize_ammount', $product_id, $amount, $data);
      
      if (!isset($data['extra']['exclude_from_calculate'])) {
      Image
  8. Далее в файле найдите строку с кодом (ориентировочно между строк 9340-9342):
    1. $amount = fn_normalize_amount($v['amount']);
  9. После найденной строчкой вставьте код:
    1. fn_set_hook('update_cart_products_normalize_amount_post', $amount, $v);
  10. В результате у вас должно получится следующее:
    1. $amount = fn_normalize_amount($v['amount']);
                  
      fn_set_hook('update_cart_products_normalize_amount_post', $amount, $v);
      
      $v['extra'] = empty($cart['products'][$k]['extra']) ? array() : $cart['products'][$k]['extra'];
      Image
  11. Сохраните изменения в файле;
  12. Очистить кэш:
    1. В админ панели выберите Администрирование → Хранилище данных → Очистить кэш.
      1. Image

Для работы с commerceml, необходимо добавить хук в файл “OrderConvertor.php”:

  1. Откройте файл OrderConvertor.php (файл будет находиться по пути: app/addons/commerceml/src/Convertors/OrderConvertor.php);
  2. В открывшемся файле найдите строку с кодом (ориентировочно между строк 44-46):
    1. $order->id->external_id = $element->getAsString('id');
  3. После найденной строчкой вставьте код:
    1. fn_set_hook('commerceml_order_convertor_convert_pre', $element, $import_storage, $order);
  4. В результате у вас должно получится следующее:
    1. $order->id->external_id = $element->getAsString('id');
      
              fn_set_hook('commerceml_order_convertor_convert_pre', $element, $import_storage, $order);
      
          foreach ($element->get('products/product', []) as $item) {
      Image
  5. Сохраните изменения в файле;
  6. Очистить кэш:
    1. В админ панели выберите Администрирование → Хранилище данных → Очистить кэш.
      1. Image

Настройка

Настройка модуля (Глобальные настройки)

Перейдите в раздел Модули → Скачанные модули → Дробный остаток → Вкладка Настройки

Основные настройки:

На вкладке настройки поделены на 3 раздела, Глобальные настройки для товаров, Глобальные настройки для упаковок, Настройки корзины.

Применение этих настроек влияет сразу на все товары магазина, если не заданы локальные настройки у товара (об этом ниже).

Глобальные настройки для товаров

Использовать дробный остаток - Включение данной функции позволит редактировать поле: Единица измерения количества.

Пример

Глобальные настройки для упаковок

Товар продаётся:

  • Поштучно - товары продаются штуками, все товары (если локально у товара не выбрано другая настройка/включено продажа упаковками) будут продаваться в штучном или аналогичном виде;
  • Упаковками - товары продаются упаковками, можно задать:
    • Количество товара в упаковке - Шаг изменения количества товара, который будет применяться к товарам продающимся упаковками;
    • Image

Варианты отображения выбора количества товара:

  • Показывать количество упаковок - Отображать в карточке товара и каталоге только счетчик с количеством упаковок;
  • Image
  • Показывать количество товара и упаковок - Отображать в карточке товара и каталоге счетчик с количеством упаковок и количеством товаров в упаковке.
  • Пример

    Настройки корзины

    Режим отображения количества на иконке корзины - Позволяет выбрать вариант отображения на иконке корзины:

    • Количество позиций - сколько видов товара лежит в корзине;
    Image
    • Количество единиц - сколько всего единиц товара лежит в корзине;
    Image
    • Не отображать.
    Image

    В настройках модуля в вкладке Отображение представлены настройки отвечающие за отображение единиц измерения и способов продажи на витрине.

    Image
    • Отображать единицы измерения в предложениях продавцов
      • При включении данной функции на витрине, в предложениях продавцом будет отображаться единица измерения товара заданная в глобальных настройках модуля или локальных настройках товара.

    Image
    • Отображать все способы продажи на странице категорий
      • Эта и все последующие настройки отвечают за отображение всех способ продажи на страницах и блоках по выбору.

    Image
    Пример

    В настройках модуля во вкладке Информация отображается инструкция по добавлению хуков, описанная в начале данной инструкции.

    Настройка модуля (Локальные настройки)

    Перейдите в раздел Товары → Товары → Откройте товар для настройки дробного остатка Перейдите во вкладку Модули → Найдите блок MS: Дробный остаток.

    Image
    ⚠️
    Локальные настройки товара обладают более высоким приоритетом и могут перекрывать глобальные настройки для всего магазина.

    Настройки для товаров

    Использовать дробный остаток

    • Глобальные настройки:
      • Для товара будет использоваться единица измерения количества из глобальных настроек модуля;
      • Для товара можно можно задать:
        • Шаг списка выбора количества;
        • Минимальное количество товара для заказа;
        • Максимальное количество для покупки одного товара.
        • ⚠️
          Этот вариант настройки подойдет магазинам где все или большинство товаров имеют одинаковую единицу измерения количества, например в граммах.
          Пример

    • Да:
      • Для товара принудительно будет использоваться дробный остаток;
      • Для товара можно можно задать:
        • Единица измерения количества;
        • Шаг списка выбора количества;
        • Минимальное количество товара для заказа;
        • Максимальное количество для покупки одного товара.
        • ⚠️
          Этот вариант настройки подойдет магазинам где для определенных товаров нужно задать продажу дробным количеством.
          Пример
        • Нет:
          • Для товара принудительно будет выключен дробный остаток;
          • Для товара можно можно задать:
            • Единица измерения количества.
            • ⚠️
              Этот вариант настройки подойдет магазинам где для товаров необходимо задать только единицу измерения количества.
              Пример

              Настройки для упаковок

              Товар продаётся упаковками

              • Глобальные настройки:
                • Для товара будут использоваться глобальные настройки для упаковок;
                • Для товара не доступны к редактированию поля:
                  • Количество товара в упаковке;
                  • Варианты отображения выбора количества товара;
                  • ⚠️
                    Данный вариант подойдет для магазинов которые продают все товары с одинаковыми условиями продажи.
                    Пример
                  • Да:
                    • Для товара можно задать количество товара в упаковке;
                    • Для товара можно выбрать варианты отображения выбора количества товара;
                      • ⚠️
                        Данный вариант подойдет для магазинов которые продают товары с разным количеством в упаковке.
                  • Нет:
                    • Товар продается штуками, глобальные настройки не влияют на товар, локальные поля недоступны для редактирования.

                  Массовое редактирование

                  Через обновление товаров в CS-Cart:

  1. Открыть раздел Товары → Товары;
  2. Выберите необходимые товары;
  3. Нажмите Редактировать выбранные;
  4. Выбрать поля для редактирования;
    1. Image
      Image
  5. Нажать Редактировать выбранные;
  6. Ввести новые значения для выбранных полей; Значение global - Глобальные настройки Y - Да N - Нет
    1. Image
  7. Нажать Сохранить.

Через экспорт импорт товаров:

  1. Открыть раздел Администрирование → Экспорт данных → Товары;
  2. Переместить из списка доступных полей в экспортируемые поля следующие поля: MS:Allow Fractional Amount MS:Product Amount Step MS:Product minimum order quantity MS:Product maximum order quantity MS:Product Amount Postfix MS:Product Sale Type MS:Show Sale Types Данные поля отобразятся в табличном файле для редактирование настроек дробного остатка
    1. Image
  3. Нажать Экспорт;
  4. В табличном файле внести необходимые изменения и сохранить;
  5. Открыть раздел Администрирование → Импорт данных → Товары;
  6. Нажать кнопку +;
  7. Выбрать табличный файл;
  8. Перейти на следующий шаг Сопоставление полей;
  9. Сопоставить поля как изображено ниже:
    1. Image
  10. Нажать Импорт.

v2.10.0 (скоро)

[+] Новый расчет количества. Происходит расчет кол-во уп. переводится в ед. и сравнивается с кол-во ед. в наличии, если их достаточно, то добавляет в корзину

[*] Подправлены стили

[+] Добавлена запись данных по дробному остатку товара в таблицу order_details после оформления/обновления заказа

[+] Добавлена передача в шаблоны писем по заказу переменные из настроек модуля и переменные по дробному остатку по каждому товару в таблице товаров

[!] Не корректный тег на странице "Товара". Исправлено

[*] Изменены стили для счёткика количества на странице "Товара" и "Корзина" для youpi темы

[!] Ошибка расчёта количества при вводе значения вручную. Исправлено

[!] Дубликат атрибута id на странице "Корзина". Исправлено

[!] При установке количества товара на странице "Корзина" не работает округление. Исправлено

[*] Добавлена переменная для вывода кол-ва товаров csc_fractional_stock

[+] В hooks.php исправлен метод fn_csc_fractional_stock_create_order_details (добалена логика проверки и запись значения в специальную переменную - единичный товар или упаковки товара)

[+] По пути \app\addons\csc_fractional_stock\Tygh\Template\Snippet в класс CscFractionalStockVariables добавлена переменная csc_fractional_stock_show_amount

[+] В класс CscProductVariable в метод attributes добавлена csc_fractional_stock_show_amount

[+] Добавлено отображение символа валюты для переменной csc_fractional_stock_price_by_piece

[!] Неккоректно считалось стоимость товара в упаковке при добавлении в корзину. Исправлено

v2.9.1 от 28.03.2024

[*] Стандартизация языковых переменных

[*] Подправлены стили у unitheme2

[+] Добавлены шаблоны и стили для youpitheme

[+] Добавлены настройки для массового редактирования товаров

[*] Подправлены стили unitheme2 и файл лицензии

[+] Добавлена возможность отображать товары в единицах измерений на всех этапах оформления заказа даже если товар продается упаковками

v2.9.0 от 20.02.2024

[*] Проведена оптимизация запросов в базу данных

v2.8.1 от 16.02.2024

[*] Добавил проверку локального значения для товара при отображении цен для единиц товара и для упаковки

v2.8.0 от 16.02.2024

[+] Добавлены настройки в модуле и у товара для управления использования цены (единицы/упаковки)

v2.7.1 от 30.01.2024

[!] Удален дублирующий код, нарушавший добавление в корзину дробного остатка при работе со складами

v2.7.0 от 19.01.2024

[+] Добавлена возможность работы с модулем "Склады"

[*] Исправлено отображение изображения товара на странице детального просмотра заказа на витрине

[*] Подправлены стили

[*] Если товар продается упаковками, то при оформлении заказа количество будет вычитаться в единицах товара, а не в упаковках

[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество товара и упаковок" товар будет списываться количеством выбранных штук

[*] Изменен механизм вычитания количества на складах при продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" товар будет списываться: количество упаковок, умноженное на количество штук в упаковке

[*] При продаже товара упаковками и включенном режиме отображения "Показывать количество упаковок" в поле ввода количества упаковок можно ввести только целые исла

v2.6.0 от 10.01.2024

[*] Изменена структура во вкладке Настройки->Информация

[+] Добавлена передача дробных остатков через обмен commerceml

[-] Удалены исключения для единиц измерений

[+] Добавлена передача дробных остатков товаров в заказе через обмен commerceml

[+] Запросы в базу данных из файла addon.xml перенесены в файл func.php для корректной проверки перед выполнением запросов

[*] Изменены стили

[+] Добавлены языковые переменные

[+] Добавлены настройки для управления "Способ изменения количества товаров"

[*] Переименованы настройки "Шаг списка выбора количества" в "Шаг изменения количества товара"

[*] Исправлено увеличение количества упаковок

v2.5.14 23.11.2023

[!] Экспорт/импорт поля "Единица измерения количества"

v2.5.13 14.11.2023

[-] Удаление закомментированного кода

[!] Корректировка поля MS: "Минимальное количество товара для заказа"

[!] Перевод поля "Единица измерения количества"

[!] Корректное отображение в карточке товара

[*] Актуальные номера строк для добавления хуков модуля

[+] Добавлена информация о добавлении хуков модуля

[!] Добавлены виды отображения количества товара на иконке корзины

[!] Отображение дробного значения в корзине

[!] Отображение счетчика количества товаров в карточке товаров

[+] Стандартизация модуля

v2.5.12 от 23.10.2023

[!] Правильный подсчет упаковок на странице корзины

[!] Доступность сервиса на странице заказа в административной панели

[!] Поле "Единица измерения количества" в настройках продукта изменено на тип "float"

[!] Поля, связанные с выбором количества, сохраняют только положительное значения

[!] В поле MS: "Минимальное количество товара для заказа" доступен только ввод цифровых значений

[*] Стандартизация языковых переменных

v2.5.11 от 16.10.2023

[*] Изменены короткие теги на обычные

[*] Переработаны настройки модуля

v2.5.10 от 18.07.2023

[!] Корректное отображение в карточке товара

[!] Загрузка иконки

[!] Поле "Шаг количества товара", сохраняет только положительное значения

[!] Корректное отображение названия единиц на страницах товары по акции, новинки, хиты продаж и результат поиска

[!] Отображение единиц измерения на странице отложенные

v2.5.9 от 25.06.2023

[+] Стандартизация модуля

v2.5.8 от 12.06.2023

[+] Стандартизация модуля

v2.5.7 от 08.06.2023

[*] Подправлен стиль в блоке "Хиты продаж" если он открывается в карточке товара

v2.5.6 от 05.06.2023

[+] Добавлена настройка отображения дробного остатка в импорт и экспорт товаров

[+] Добавлены настройки и регулировка отображения всех способов продаж на разных страницах

[+] Добавлена настройка для отображения единицы измерения в блоке предложений от продавцов в карточке товара

[!] Исправлена ошибка, которая ломает страницу просмотра категории

v2.5.5 от 20.05.2023

[+] Добавлена настройка отображения дробного остатка в карточке товара на странице редактирования товара в админке

v2.5.4 от 16.05.2023

[*] Мелкие правки в шаблоне qty.override.tpl

v2.5.3 от 16.05.2023

[!] Исправлена ошибка при добавлении товара в корзину при работающем модуле "Общие товары продавцов"

v2.5.2 от 15.05.2023

[*] Лицензирование

v2.5.1 от 10.05.2023

[!] Исправлен импорт поля product_amount_postfix

Запросить доработку
Бэклог

Обучить модуль Склады дробным остаткам

Обучить модуль Склады дробным остаткам

Январь 2024
1%

Локально задавать тип упаковки

Добавление локальной настройки ввода типа упаковки (метры, паллеты, коробки, ящики)

Декабрь 2024
Планируется

Разделение модуля Дробный остаток на 2 модуля

Разделение существующего модуля на 2 автономных

Июль 2023
5%
В работе
Выпущено

Использование существующей цены как за уп так и за м2

Использование существующей цены как за уп так и за м2

Февраль 2024
100%

Арифметика продажи упаковками

Февраль 2024
100%

Количество товара для отображения в карточке

Доработка модуля

Декабрь 2023
100%

Удобные настройки

Настройки для модуля интуитивно не понятные, надо это исправить, сделать их логичными и удобными

Август 2023
100%

шт. или упаковки отображение при оформлении заказа

Настройка отображение типа товара (упаковками, штуками и т.д.) на всех этапах оформления заказа.

Март 2024
100%

Адаптация и настройки отображения счетчика количества товаров

Адаптация и настройки отображения счетчика количества товаров

Апрель 2024
100%

Новая логика расчета товара в наличии при продаже уп.

Новая логика расчета товара в наличии при продаже уп.

Июнь 2024
100%
Обсудить модуль или задать своим вопросы по его работы вы можете на форуме.
Отзывы
Ярослав
Купил(а) товар
Использую модуль с самого дня развития, очень помогает по торговле с продуктами, когда нужно продавать не только поштучно, но и на развес, удобно ограничивать минимальный заказ и весовой шаг.
Похожие модули