Компании, работающие в сфере оптовых поставок, неизбежно сталкиваются с усложнением процессов ценообразования.
В рамках проекта требовался инструмент централизованного управления составами и ценами готовых сборок, чтобы эта информация оперативно отражалась на сайте Заказчика.
По мере роста ассортимента увеличивается количество комплектных решений, а вместе с ними — число факторов, влияющих на итоговую стоимость: закупочные цены от разных поставщиков, индивидуальные скидки, внутренняя себестоимость компонентов, правила наценки и требования к формированию РРЦ.
Со временем ручные расчёты и частично автоматизированные механизмы перестают справляться с нагрузкой. Любое изменение состава комплектов, структуры номенклатуры или условий закупки требует пересмотра цен, а ошибки напрямую влияют на маржинальность и скорость работы отдела продаж.
В рамках проекта была реализована доработка системы 1С, направленная на автоматизацию расчёта цен для комплектной номенклатуры и выстраивание управляемого механизма ценообразования.
Разработка выполнена в конфигурации «1С: Комплексная автоматизация», снятой с поддержки, что потребовало аккуратной интеграции решения в существующую архитектуру без использования типовых механизмов обновления и с сохранением стабильности работы базы.
Основная задача проекта
Ключевой задачей стала автоматизация расчёта розничных цен для готовых сборок (комплектной номенклатуры) с учётом разных источников стоимости и индивидуальных правил ценообразования, действующих у заказчика.
Механизм расчёта должен был учитывать сразу несколько факторов:
- Формирование итоговой розничной цены на основе суммарной стоимости комплектующих и заданной наценки;
- Прайсы различных поставщиков с индивидуальными условиями и скидками;
- Автоматическое применение результатов через документы установки цен;
- Обязательную проверку актуальности цен в регистрах перед расчётом;
- Использование себестоимости для отдельных групп материалов.
Дополнительную сложность представляла структура данных в системе. Часть бизнес-процессов компании была завязана на иерархию справочника «Номенклатура»: элементы регулярно перемещались между группами, менялась структура папок, добавлялись новые позиции и комплекты.
В стандартной логике 1С это приводило к ряду проблем:
- Результаты зависели от текущего положения позиции в иерархии справочника;
- Требовался постоянный ручной контроль корректности расчётов;
- Возникал риск некорректного назначения цен.
Поэтому разрабатываемое решение должно было не просто выполнять расчёт, а учитывать особенности работы базы:
- Обеспечивать устойчивость расчётов независимо от перемещения номенклатуры внутри иерархии;
- Корректно функционировать при изменении структуры справочника;
- Автоматически адаптироваться к изменениям состава комплектов;
- Контролировать пересечения и вложенность групп.
Задача заключалась не просто в реализации формулы расчёта, а в создании полноценного управляемого механизма ценообразования, органично встроенного в действующую логику работы базы 1С и учитывающего особенности существующих бизнес-процессов.
Последовательность разработки решения:
Разработка интерфейса управления правилами расчёта цен
Для работы с механизмом ценообразования была реализована отдельная форма обработки, предназначенная для настройки правил без вмешательства в программный код. Интерфейс структурирован по логическим блокам и ориентирован на повседневную работу пользователей.
В верхней части формы доступны ключевые параметры управления:
- Сервисные инструменты для анализа данных и их очистки при необходимости;
- Доступ к отчётам по текущим правилам и результатам формирования цен;
- Выбор вида итоговой цены для комплектной номенклатуры;
- Настройка расписания автоматического выполнения расчёта.
Интерфейс управления расчётом цен:
Настройка правил по группам номенклатуры
В форме реализован отдельный блок для управления правилами ценообразования на уровне групп номенклатуры.
В левой части интерфейса задаются основные параметры:
- Процент наценки, применяемый к выбранным категориям;
- Группы номенклатуры, участвующие в расчёте цен.
При выборе групп предусмотрен контроль иерархии справочника:
- Система не позволяет выбрать родительскую группу, если уже выбраны входящие в неё дочерние элементы;
- Исключена возможность выбора пересекающихся групп.
В правой части отображаются группы номенклатуры, входящие в состав комплектов. Для них настраивается вид цены, который используется как база для расчёта.
Все заданные параметры фиксируются в регистрах системы и автоматически применяются при формировании итоговых цен.
Исключения и индивидуальные настройки
В нижней части формы реализован блок для точечной настройки правил расчёта и обработки исключений.
Интерфейс разделён на две области:
- Левая таблица — отдельные комплекты, для которых требуется индивидуальная логика расчёта;
- Правая таблица — составы комплектов с возможностью детальной настройки параметров.
Для каждой позиции пользователь может:
- Применить правила расчёта, отличные от групповых;
- Переопределить стандартную наценку;
- Задать альтернативный вид цены.
Такой подход позволяет сохранить единый механизм ценообразования, дополняя его гибкими индивидуальными настройками там, где это необходимо бизнесу.
Назначение цен и автоматизация расчёта
В основе решения лежит механизм автоматического формирования документов установки цен, обеспечивающий корректное и контролируемое применение результатов расчёта.
Логика работы построена следующим образом:
- Перед назначением выполняется проверка наличия актуальных цен в регистрах;
- Документы создаются только при изменении правил ценообразования;
- В расчёте используются только действующие прайсы;
- Исключается дублирование данных.
Алгоритм оптимизирован для работы с большим объёмом номенклатуры: полный пересчёт выполняется менее чем за 30 секунд.
Запуск расчёта возможен в двух режимах:
- Вручную — непосредственно из формы управления;
- Автоматически — по заданному расписанию.
При этом настройка расписания доступна бизнес-пользователям и не требует административных прав или участия разработчиков.
Контроль и отчётность
Для обеспечения прозрачности работы механизма в форме предусмотрены инструменты контроля и аналитики.
Пользователю доступны отчёты:
- С возможностью детального анализа и последующей корректировки данных;
- По установленным ценам и результатам пересчёта;
- По действующим правилам расчёта.
Дополнительно реализована функция полного удаления и повторного формирования данных при изменении логики расчёта, что позволяет безопасно вносить корректировки и поддерживать актуальность ценовой политики.
Результат проекта
В результате внедрения был реализован управляемый механизм расчёта цен для комплектной номенклатуры, встроенный в существующую систему 1С и учитывающий особенности бизнес-процессов заказчика (оперативное обновление цен на сайте).
Решение обеспечило:
- 1Высокую производительность — расчёт выполняется в среднем за 30 секунд вместо 10+ минут, характерных для аналогичных доработок;
- 2Поддержку сложной логики ценообразования с учётом различных источников стоимости;
- 3Возможность автоматического пересчёта цен и контроля корректности данных;
- 4Гибкую настройку правил без внесения изменений в программный код.
