При автоматизации торговых процессов в 1С:Комплексная автоматизация 2.x часто возникают специфические требования к ценообразованию. Одной из таких задач является предоставление повышенной скидки только при продаже товара кратно определенному количеству (например, упаковками по 5 штук). Давайте разберем, как подойти к решению этой задачи, учитывая ограничения типового функционала.
Суть задачи заключается в следующем: если клиент приобретает товар в объеме, кратном заданному числу (например, 5, 10, 15 штук), он получает повышенную скидку (15%). Если же количество не кратно (например, 6 штук), то на 5 единиц должна быть применена повышенная скидка, а на остаток — базовая (10%).
Важно понимать, что стандартный механизм Скидки (наценок) в типовых конфигурациях 1С работает на уровне строк табличной части документа. Алгоритм системы применяет условие ко всей строке целиком и не предусматривает встроенной функции автоматического «дробления» одной строки на части с разными процентами скидки в зависимости от остатка от деления количества.
Наиболее рациональным и «чистым» методом с точки зрения архитектуры 1С является использование системы Упаковок номенклатуры. Это позволит избежать доработок конфигурации и остаться в рамках типового обновления.
Скидка (наценка) за упаковку. Укажите, что при выборе данной упаковки в строке документа применяется повышенный процент скидки (15%).Если бизнес-процесс подразумевает, что продажа «коробками» — это жесткое правило, можно рассмотреть использование механизма Наборов (комплектов). В этом случае 5 единиц товара объединяются в виртуальный товар-комплект. Это позволяет:
Комплект как на отдельную номенклатурную позицию.Однако помните, что этот метод усложняет складской учет, так как требует корректной настройки спецификаций и списания комплектующих при продаже набора.
Если автоматическое пересчитывание скидки при любом вводе количества является критическим требованием бизнеса и вы не можете обучить менеджеров работать с упаковками, необходимо прибегнуть к программной доработке.
Для реализации такой логики лучше всего использовать Расширение конфигурации, чтобы не снимать систему с поддержки. Основная задача программиста — вмешаться в алгоритм расчета скидок (обычно это происходит в общих модулях, связанных с Ценообразованием).
Примерная логика доработки:
При выполнении команды Рассчитать скидки в модуле менеджер должен реализовать алгоритм, который:
ТЧ.Рекомендуем при доработке использовать Расширение для добавления процедуры-обработчика, которая будет анализировать Объект.Товары перед записью документа. Используйте метод РассчитатьСкидкиНаценки() в качестве точки входа для анализа изменений.
Типовой функционал 1С:Комплексная автоматизация не умеет автоматически дробить строки для применения разных скидок. Мы рекомендуем начать с внедрения Упаковок — это самый простой путь, который не требует программирования и сохраняет прозрачность учета. Если же автоматизация процесса до нажатия одной кнопки является приоритетной, заказывайте разработку Расширения у квалифицированного специалиста, специализирующегося на механизмах Маркетинга и ценообразования.