Часто перед пользователями 1С:Управление нашей фирмой встает задача: как автоматизировать формирование цены заказа, если итоговая стоимость изделия зависит от выбранных пользователем характеристик или опций (например, категории ткани или типа опор)? В данной статье мы разберем, почему типовой функционал не поддерживает прямые «формулы» в заказах и какие методы лучше использовать для достижения этой цели.
Многие пользователи ожидают, что в 1С можно настроить некую формулу вида БазоваяЦена + НаценкаСвойства1 + НаценкаСвойства2. Однако важно понимать: стандартная архитектура 1С:УНФ ориентирована на работу с конкретной Номенклатурой и её Характеристиками. Каждый уникальный вариант товара (стул с тканью 2 и опорой хром) с точки зрения системы — это отдельная учетная единица.
Самый правильный путь, который обеспечит вам корректную работу с остатками и себестоимостью — это использование штатных Характеристик. Рассмотрим, как это реализовать:
Характеристику.Установка цен номенклатуры задайте для каждой такой комбинации свою фиксированную цену.Преимущество: система будет всегда знать точную цену, не требуя никаких доработок кода. При выборе товара в заказе менеджер выбирает уже готовую позицию с рассчитанной стоимостью.
Если бизнес-процесс подразумевает огромное количество комбинаций (тысячи вариантов), создавать под каждый отдельную Характеристику может быть неудобно. В таком случае мы можем разработать Расширение конфигурации для автоматического пересчета цены.
Логика работы будет строиться на событии ПриИзменении для полей выбора свойств. Рассмотрим примерный алгоритм действий:
Разберем структуру кода для обработчика:
// Пример логики в обработчике ПриИзменении свойств
Процедура ПриИзмененииСвойства(Элемент)
БазоваяЦена = ПолучитьБазовуюЦену(Объект.Номенклатура);
Наценка = РассчитатьНаценку(Объект.КатегорияТкани, Объект.ВидОпоры);
Объект.Цена = БазоваяЦена + Наценка;
КонецПроцедуры
При использовании этого метода вы можете хранить наценки в отдельном справочнике или Регистре сведений. При выборе менеджером ткани 2-й категории, система программно будет добавлять 250 рублей к цене, установленной в карточке Номенклатуры.
Если стул является сложным изделием, где каждая характеристика — это реальная комплектующая (например, кусок ткани определенной категории и конкретная металлическая опора), мы рекомендуем использовать Спецификации. В этом случае цена будет зависеть от стоимости материалов, входящих в состав изделия. 1С:УНФ позволяет рассчитывать плановую себестоимость на основе спецификации, что поможет менеджеру видеть актуальную цену продажи с учетом маржинальности.
Анализируя ситуацию, важно помнить, что Управленческий учет требует четкого понимания, какой товар был продан. Если вы просто меняете цену «на лету» без привязки к конкретной Характеристике, вы потеряете детализацию по остаткам. Поэтому:
Характеристики.Ценовые группы для пакетного обновления цен, если свойства меняются часто.Таким образом, автоматизация в 1С:УНФ возможна либо через правильную настройку справочников, либо через написание небольшого модуля (расширения), который будет прибавлять стоимость опций к базовой цене товара.