Почему не рассчитывается старая цена при создании установки цен на основании поступления товаров в 1С:Розница?

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

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

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

В чем физическая причина сбоя автозаполнения?

Для того чтобы понять, почему программа «оживает» только после перехода в форму изменения состава видов цен, разберем логику работы формы документа Установка цен номенклатуры. Когда мы открываем форму выбора видов цен и вносим туда изменения, система принудительно инициализирует модуль расчета цен и выполняет полнотекстовый запрос к базе данных для получения актуального среза последних цен из регистра сведений Цены номенклатуры. Это принудительное обновление «спасает» ситуацию, но указывает на то, что при первичном создании документа на основании поступления context (контекст) для автоматического расчета был определен неверно или не полностью.

Основные причины, из-за которых ломается автоматический расчет при создании документа на основании, можно разделить на несколько ключевых блоков:

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

Шаг 1. Настройка вида цены «Закупочная» для работы с документами поступления

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

Для этого перейдем в раздел Маркетинг -> Настройки и справочники -> Виды цен и откроем карточку вида цены Закупочная (или аналогичной базовой цены поставщика):

  1. Убедимся, что статус использования установлен в значение Используется.
  2. В поле Способ задания цены выберем вариант Заполнять по данным ИБ при поступлении. Если у вас установлена более старая версия конфигурации (например, Розница для Украины 2.0 или Розница 2.2), этот параметр может называться «Заполнять по данным информационной базы», а ниже во вкладке настройки компоновки данных нужно выбрать схему Цены поступления. Это принципиально важный момент: схема «Произвольное значение» заставит документ ожидать ручного ввода, в то время как «Цены поступления» обращаются непосредственно к табличной части документа-основания.
  3. Обратим внимание на флаг Цена включает НДС. Настройка этого флага должна строго соответствовать вашей системе налогообложения и настройкам розничной цены. Если ваше предприятие работает без НДС, этот флаг должен быть снят как в закупочной цене, так и во всех остальных видах цен, участвующих в цепочке. Если вы плательщик НДС, проследите, чтобы настройки были единообразными.

Шаг 2. Настройка вида цены «Розничная» и уход от ручного ввода

Если у вас для розничных цен установлен способ задания «Задавать вручную», автоматизации не получится. Программа при создании документа на основании поступления просто проигнорирует эту цену, так как для нее нет формулы расчета. Чтобы розничная цена подтягивалась автоматически, переведем ее в разряд зависимых (рассчитываемых) цен.

В карточке вида цены Розничная выполним следующие настройки:

  1. В качестве способа задания цены установим Рассчитывать по другим видам цен.
  2. В появившемся поле для формулы укажем математическую зависимость розничной цены от закупочной. Например, если наценка составляет 30%, формула будет выглядеть следующим образом:

[Закупочная] * 1.3

Или, если мы используем более сложный процент наценки:

[Закупочная] + ([Закупочная] * 30 / 100)

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

Шаг 3. Настройка правил ценообразования и привязка к магазинам

Выясним, как программа понимает, какую именно розничную цену нужно рассчитать для конкретного магазина. В 1С:Розница за это отвечает справочник Правила ценообразования. Проверим эту цепочку настроек:

  1. Перейдем в раздел Маркетинг -> Правила ценообразования.
  2. Создадим или откроем существующее правило для нашего магазина.

В карточке правила ценообразования обязательно укажем:

Теперь свяжем правило ценообразования с физическим магазином. Перейдем в раздел НСИ -> Магазины, откроем карточку нужного магазина и в поле Правило ценообразования выберем наше настроенное правило. Без этой привязки при создании документа на основании поступления система не сможет определить целевой вид розничной цены и оставит колонки пустыми.

Шаг 4. Учет механизма двухфазного ценообразования (Применение цен)

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

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

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

Следствие: Если вы провели предыдущую «Установку цен», но забыли создать или провести документ «Применение цен», то для системы новые цены считаются недействующими. При следующем поступлении товара в колонке «Старая цена» программа покажет пустоту, так как фактически в рабочем регистре продаж предыдущие цены не были зафиксированы как примененные.

Чтобы проверить эту настройку, перейдем в раздел Администрирование -> Маркетинг -> Применение цен. Если вы хотите, чтобы цены начинали действовать сразу после проведения документа Установка цен номенклатуры без создания промежуточных документов применения, просто снимите флаг Использовать применение цен номенклатуры.

Шаг 5. Временной фактор проведения документов

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

Если документ Поступление товаров проведен, например, 15.05.2024 в 12:00:00, а создаваемый на его основе документ Установка цен номенклатуры создается той же датой, но система по какой-то причине записывает его временем 11:59:59 (или секунда в секунду), то при расчете базовой цены программа физически «не увидит» новые закупочные цены из поступления, так как на момент расчета (в 11:59:59) они еще не существовали в базе данных.

Рекомендация: всегда следите за тем, чтобы время проведения документа Установка цен номенклатуры было позже времени проведения документа-основания Поступление товаров хотя бы на одну секунду. Оптимально — проводить установку цен концом дня или после окончательного проведения и сверки документа поступления.

Резюмирующий алгоритм действий для стабильной работы

Подведем итог и составим краткий чек-лист, который гарантирует, что при создании установки цен на основании поступления все старые и новые цены будут рассчитываться мгновенно и без ручного вмешательства:

  1. Перевести вид цены Розничная со способа задания «Вручную» на расчет по формуле на основании Закупочной цены.
  2. В виде цены Закупочная установить способ заполнения по данным ИБ при поступлении и выбрать схему компоновки «Цены поступления».
  3. Проверить равенство признака Цена включает НДС во всех цепочках: в поступлении, правиле ценообразования, закупочной и розничной ценах.
  4. Убедиться, что в магазине выбрано правильное Правило ценообразования, в котором указан верный основной розничный вид цены.
  5. Если используется двухфазное ценообразование, не забывать вводить документ Применение цен номенклатуры, чтобы старые цены корректно записывались в регистр и считывались при последующих поставках.

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

← На главную