Как настроить ценообразование с учетом характеристик в 1С:Управление торговлей 10.3

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

В типовой конфигурации 1С:Управление торговлей редакции 10.3 (УТ 10.3) часто возникает задача настройки цен, которые зависят не только от самой номенклатурной позиции, но и от ее характеристик. Классический пример — мебельный бизнес, где стоимость дивана напрямую зависит от категории обивочной ткани. В данной статье мы подробно разберем, как реализовать такую схему, какие подводные камни существуют при работе с большим количеством характеристик и как оптимизировать процесс, чтобы база данных не «раздулась» от миллионов строк цен.

Метод 1: Прямая установка цен на каждую характеристику

Рассмотрим стандартный механизм, заложенный в систему. В 1С:УТ 10.3 для номенклатуры можно включить ведение учета по характеристикам. Это позволяет использовать один элемент справочника Номенклатура (например, «Диван Марсель») для множества вариантов исполнения.

Порядок действий:

  1. В карточке номенклатуры установим флаг Вести учет по характеристикам.
  2. Создадим необходимые характеристики (например, «Ткань Шинилл», «Ткань Жаккард»).
  3. Для установки стоимости воспользуемся документом УстановкаЦенНоменклатуры.

Разберем важный нюанс: в табличной части этого документа при выборе номенклатуры, у которой включен учет по характеристикам, колонка Характеристика номенклатуры становится доступной для заполнения. Мы можем указать конкретную ткань и назначить ей индивидуальную цену. Проанализируем ситуацию: если у нас 10 моделей диванов и 5 видов тканей, нам придется создать 50 записей. Это вполне рабочий вариант для небольшого ассортимента.

Метод 2: Категоризация номенклатуры (Оптимизированный подход)

Если тканей сотни, а моделей мебели десятки, прямое назначение цен приведет к комбинаторному взрыву. Рассмотрим пример: 500 моделей диванов умножить на 50 видов тканей — это уже 25 000 записей только для одного типа цен. А если тканей в диване две (основа и компаньон)? Количество комбинаций станет неуправляемым. Выясним причину, по которой профессионалы рекомендуют использовать категории.

Вместо создания одной позиции «Диван 1» с 1000 характеристик, мы создаем несколько позиций номенклатуры по ценовым категориям:

В этом случае характеристики (конкретные названия тканей) продолжают использоваться в документах ПоступлениеТоваровУслуг и РеализацияТоваровУслуг для складского учета и справочной информации, но цена в документе УстановкаЦенНоменклатуры ставится только на саму номенклатуру без указания характеристики.

Почему это удобно: в УТ 10.3 реализован принцип иерархического поиска цены. Если в регистре сведений ЦеныНоменклатуры нет записи для конкретной характеристики, система автоматически берет цену, установленную для «пустой» характеристики этой номенклатуры. Таким образом, назначив цену на «Диван 1 (Категория 1)», мы автоматически применяем ее ко всем тканям, входящим в эту категорию.

Метод 3: Использование наборов (Комплектов)

Посмотрим на ситуацию с точки зрения калькуляции. Диван можно представить как набор: «Каркас дивана» + «Отрез ткани». Рассмотрим подробнее этот вариант:

  1. Создаем номенклатуру «Каркас дивана» с фиксированной стоимостью работ и материалов.
  2. Создаем номенклатуру «Ткань» с характеристиками (виды тканей) и ценой за погонный метр.
  3. Используем механизм Наборы-комплекты.

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

Технические особенности работы с розницей

Проанализируем работу с розничными складами. В УТ 10.3 для продажи через ЧекККМ на розничном складе обязателен документ ПереоценкаТоваровВРознице. Важно помнить следующее:

Автоматизация заполнения цен через свойства

Для программиста 1С решением проблемы «миллиона строк» может стать автоматизация через дополнительные свойства характеристик. Разберем по шагам логику возможной доработки или использования внешней обработки:

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

Пример программного обращения к ценам с учетом характеристик (фрагмент кода для понимания логики получения цены):


Функция ПолучитьЦенуСХарактеристикой(ВыбНоменклатура, ВыбХарактеристика, ТипЦены, ДатаЦен)
    Запрос = Новый Запрос;
    Запрос.Текст = 
    "ВЫБРАТЬ
    |	ЦеныНоменклатурыСрезПоследних.Цена
    |ИЗ
    |	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, Номенклатура = &Номенклатура И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних
    |ГДЕ
    |	(ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = &Характеристика
    |	ИЛИ ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка))
    |УПОРЯДОЧИТЬ ПО
    |	ЦеныНоменклатурыСрезПоследних.ХарактеристикаНоменклатуры УБЫВ"; // Сначала записи с характеристикой
    
    Запрос.УстановитьПараметр("Дата", ДатаЦен);
    Запрос.УстановитьПараметр("Номенклатура", ВыбНоменклатура);
    Запрос.УстановитьПараметр("Характеристика", ВыбХарактеристика);
    Запрос.УстановитьПараметр("ТипЦен", ТипЦены);
    
    Результат = Запрос.Выполнить().Выбрать();
    Если Результат.Следующий() Тогда
        Возврат Результат.Цена;
    КонецЕсли;
    Возврат 0;
КонецФункции

Проблема обмена с интернет-магазинами

При планировании архитектуры данных важно учитывать интеграцию. Большинство CMS (например, Bitrix) при выгрузке из 1С ожидают, что каждая характеристика — это отдельное торговое предложение (SKU) со своей ценой. Если в 1С цена установлена только «на номенклатуру в целом», модуль обмена может не передать цену для SKU. В этом случае придется либо дорабатывать модуль выгрузки, либо все-таки программно генерировать записи в регистре ЦеныНоменклатуры для каждой связки Номенклатура + Характеристика, несмотря на рост объема данных.

Выводы и рекомендации

Подведем итог нашего анализа. Использование характеристик в ценообразовании УТ 10.3 полностью поддерживается типовым функционалом, но требует грамотного подхода к архитектуре справочников:

Рассмотренные методы позволят вам гибко настроить систему под требования бизнеса, сохраняя высокую производительность базы данных 1С.

← На главную