Как настроить региональные цены для отдельной группы товаров в 1С:УНФ 1.6?

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

В практике крупных торговых компаний часто возникает ситуация, когда основная часть ассортимента продается по единому прайс-листу по всей стране, однако на определенную категорию товаров (например, скоропортящиеся продукты или товары с дорогой логистикой) необходимо устанавливать разные цены в зависимости от региона. В 1С:Управление нашей фирмой (УНФ) 1.6 существует несколько способов решения этой задачи: от стандартных настроек доработок конфигурации. Рассмотрим подробно каждый из них.

Способ 1. Использование расчетных цен с уточнениями по ценовым группам

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

  1. Создание ценовой группы. Для начала выделим те товары, цена на которые должна отличаться, в отдельную ценовую группу. Перейдем в раздел Компания — Все справочники — Ценовые группы и создадим новую группу, например, «Региональные товары». Укажем эту группу в карточках соответствующей номенклатуры.
  2. Настройка базового вида цены. Создадим вид цены Основная цена (оптовая). В этот вид цены мы будем заносить стоимость товаров, актуальную для большинства регионов.
  3. Создание региональных видов цен. Для каждого региона (Москва, Казань, Санкт-Петербург) создадим свой вид цены. В поле Тип цены выберем значение Рассчитывать по другим видам цен (динамический или расчетный тип).
  4. Настройка формулы наследования. В основной формуле для региональной цены укажем просто [ОсновнаяЦена]. Это означает, что по умолчанию цена в регионе будет равна основной.
  5. Использование уточнений. В нижней части формы настройки вида цены найдем таблицу «Уточнение по ценовым группам». Добавим в нее нашу группу «Региональные товары». Для этой группы мы можем либо указать другую формулу (например, [ОсновнаяЦена] * 1.1), либо оставить возможность ручного редактирования, если алгоритм отсутствует.

Таким образом, при изменении Основной цены, региональные цены на 90% товаров обновятся автоматически, а «проблемная» группа останется под вашим ручным или формульным контролем.

Способ 2. Автоматизация подстановки цен через склады и подразделения

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

В карточке каждого склада или розничной точки (раздел Компания — Склады и магазины) есть реквизит «Вид цен». Если для склада «Казань» установить вид цены «Цена Казань», то при создании любого документа (Заказ покупателя, Реализация товаров и услуг), в котором выбран этот склад, программа автоматически применит региональные цены. Это избавляет от необходимости создавать «дубли» номенклатуры для разных городов.

Способ 3. Программная доработка логики выбора цены (через расширение)

Если штатных «уточнений» недостаточно, и требуется реализовать логику «Если региональная цена не задана — брать основную», можно прибегнуть к доработке. Мы можем создать расширение конфигурации, которое будет модифицировать запрос к регистру сведений ЦеныНоменклатуры.

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


// Пример логики выбора цены с приоритетом
Функция ПолучитьДействующуюЦену(АктуальнаяНоменклатура, РегиональныйВидЦены, ОсновнойВидЦены)
    
    // 1. Пытаемся получить цену по региональному виду
    ЦенаРегион = Ценообразование.ПолучитьЦенуНоменклатуры(АктуальнаяНоменклатура, РегиональныйВидЦены);
    
    Если ЦенаРегион <> 0 Тогда
        Возврат ЦенаРегион;
    КонецЕсли;
    
    // 2. Если региональная цена не установлена, берем базовую
    ЦенаБаза = Ценообразование.ПолучитьЦенуНоменклатуры(АктуальнаяНоменклатура, ОсновнойВидЦены);
    
    Возврат ЦенаБаза;
    
КонецФункции

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

Способ 4. Использование автоматических скидок и наценок

Выясним еще одну интересную возможность УНФ — использование механизма автоматических скидок. Если цена в регионе отличается на фиксированный процент или сумму, удобнее использовать наценку, привязанную к условию.

Разберем, как это настроить:

  1. Создадим автоматическую скидку (наценку) в разделе Продажи.
  2. В условии предоставления выберем «Покупатель» (если филиалы — это разные контрагенты) или «Склад».
  3. В области действия укажем нашу ценовую группу «Региональные товары».
  4. Установим отрицательный процент скидки (это будет работать как наценка) или выберем специальный вид цены, который будет подставляться автоматически при выполнении условий.

Резюме и рекомендации

Выбор метода зависит от сложности вашей структуры:

Важный момент: избегайте создания дублей номенклатуры (например, «Товар (Москва)» и «Товар (Питер)»). Это приведет к коллапсу в складском учете и невозможности корректного анализа остатков. Всегда используйте одну карточку товара и разные виды цен.

← На главную