Как настроить скидку, кратную количеству товара, в 1С:Комплексная автоматизация?

Программист 1С v8.3 (Управляемые формы) 1С:Комплексная автоматизация Управленческий учет Торговля и дистрибуция
← На главную

При автоматизации торговых процессов в 1С:Комплексная автоматизация 2.x часто возникают специфические требования к ценообразованию. Одной из таких задач является предоставление повышенной скидки только при продаже товара кратно определенному количеству (например, упаковками по 5 штук). Давайте разберем, как подойти к решению этой задачи, учитывая ограничения типового функционала.

Анализ проблемы

Суть задачи заключается в следующем: если клиент приобретает товар в объеме, кратном заданному числу (например, 5, 10, 15 штук), он получает повышенную скидку (15%). Если же количество не кратно (например, 6 штук), то на 5 единиц должна быть применена повышенная скидка, а на остаток — базовая (10%).

Важно понимать, что стандартный механизм Скидки (наценок) в типовых конфигурациях 1С работает на уровне строк табличной части документа. Алгоритм системы применяет условие ко всей строке целиком и не предусматривает встроенной функции автоматического «дробления» одной строки на части с разными процентами скидки в зависимости от остатка от деления количества.

Способ решения №1: Использование механизма «Упаковок»

Наиболее рациональным и «чистым» методом с точки зрения архитектуры 1С является использование системы Упаковок номенклатуры. Это позволит избежать доработок конфигурации и остаться в рамках типового обновления.

  1. Создание упаковки: В карточке номенклатуры создайте упаковку, например, «Коробка (5 шт.)».
  2. Настройка скидки: Используйте стандартный вид скидки Скидка (наценка) за упаковку. Укажите, что при выборе данной упаковки в строке документа применяется повышенный процент скидки (15%).
  3. Оформление документа: При добавлении товара менеджер выбирает упаковку «Коробка». Если клиенту нужно 6 штук, менеджер добавляет в документ одну строку с упаковкой «Коробка» (5 шт.) и вторую строку с базовой единицей измерения (1 шт.). Таким образом, система корректно применит 15% к пяти штукам и 10% к одной штуке.

Способ решения №2: Переход на «Наборы»

Если бизнес-процесс подразумевает, что продажа «коробками» — это жесткое правило, можно рассмотреть использование механизма Наборов (комплектов). В этом случае 5 единиц товара объединяются в виртуальный товар-комплект. Это позволяет:

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

Способ решения №3: Доработка конфигурации (Расширение)

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

Для реализации такой логики лучше всего использовать Расширение конфигурации, чтобы не снимать систему с поддержки. Основная задача программиста — вмешаться в алгоритм расчета скидок (обычно это происходит в общих модулях, связанных с Ценообразованием).

Примерная логика доработки:

При выполнении команды Рассчитать скидки в модуле менеджер должен реализовать алгоритм, который:

  1. Получает количество в строке ТЧ.
  2. Вычисляет количество полных «кратных» порций с помощью целочисленного деления.
  3. Вычисляет остаток.
  4. Если остаток больше нуля, программно разбивает текущую строку на две или применяет рассчитанный «средневзвешенный» процент скидки.

Рекомендуем при доработке использовать Расширение для добавления процедуры-обработчика, которая будет анализировать Объект.Товары перед записью документа. Используйте метод РассчитатьСкидкиНаценки() в качестве точки входа для анализа изменений.

Резюме

Типовой функционал 1С:Комплексная автоматизация не умеет автоматически дробить строки для применения разных скидок. Мы рекомендуем начать с внедрения Упаковок — это самый простой путь, который не требует программирования и сохраняет прозрачность учета. Если же автоматизация процесса до нажатия одной кнопки является приоритетной, заказывайте разработку Расширения у квалифицированного специалиста, специализирующегося на механизмах Маркетинга и ценообразования.

← На главную