Как в 1С:Розница реализовать печать двух цен (старой и новой) на одном ценнике и видеть историю изменений

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

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

Проблема ручного ввода цен в шаблоны

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

  1. Отсутствие контроля: Система не «знает», что вы напечатали одну цену, а в базе осталась другая.
  2. Человеческий фактор: Легко ошибиться при ручном вводе на кассе или при печати.
  3. Отсутствие истории: В карточке Номенклатура вы по-прежнему видите только одну актуальную цену, и невозможно быстро понять, когда и насколько был уценен товар.

Способ 1: Использование характеристик для разных цен

Если ваша задача — снизить цену на конкретный «последний размер», то правильнее всего использовать механизм характеристик. Разберем этот алгоритм по шагам.

Во-первых, проверим настройки программы. В разделе Администрирование — Параметры учета — Номенклатура должна быть включена опция Характеристики номенклатуры. В настройках Вида номенклатуры (например, «Одежда») необходимо указать, что характеристики используются и для них ведется индивидуальный учет цен.

Во-вторых, создадим документ Установка цен номенклатуры. В табличную часть мы добавим один и тот же товар, но с разными характеристиками. Например:

Теперь при подборе товара в РМК (Рабочее место кассира) или в документах продажи система автоматически подставит нужную цену в зависимости от выбранного размера. Это решает проблему отображения актуальной цены в справочнике — вы всегда будете видеть «срез» цен по каждой характеристике.

Способ 2: Маркетинговые акции и автоматический расчет скидок

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

Создадим новую скидку в разделе Маркетинг — Скидки (наценки). Выберем тип Скидка процентом или Скидка суммой. Чтобы эта скидка отражалась на ценнике, в настройках шаблона печати мы будем использовать специальное поле. Выясним, как работает логика печати со скидками:

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

В современных версиях 1С:Розница (2.3 и 3.0) система сама рассчитает цену со скидкой и позволит вывести в шаблон два параметра: Цена (базовая) и Цена со скидкой (конечная).

Способ 3: Создание дополнительного типа цен «Старая цена»

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

При проведении переоценки мы будем заполнять два вида цен: Розничная (новая) и Старая цена (предыдущее значение). Чтобы автоматизировать этот процесс, можно использовать простую доработку или расширение, которое при изменении розничной цены будет копировать старое значение в соответствующее поле. Без расширения это придется делать вручную в документе Установка цен номенклатуры, выбрав сразу два вида цен для редактирования.

Настройка шаблона этикетки для вывода двух цен

Теперь перейдем к самому важному — визуализации. Откроем редактор шаблонов этикеток (Маркетинг — Печать этикеток и ценников — Шаблоны этикеток).

Разберем процесс редактирования макета:

  1. В поле доступных полей найдем Цена. Это будет наша основная, новая цена. Разместим её крупным шрифтом.
  2. Если мы используем дополнительный вид цен, выберем поле Цена.Старая цена.
  3. Если мы используем скидки, добавим поле Цена без скидки (или аналогичное в зависимости от версии релиза).
  4. Для визуального эффекта зачеркивания в редакторе шаблонов (который основан на табличном документе) можно использовать свойства ячейки. В свойствах шрифта выберите Зачеркнутый.

Важный нюанс: Если старая цена не заполнена (например, на новый товар скидки нет), на ценнике может отобразиться «0» или пустая рамка. Чтобы этого избежать, в шаблоне можно использовать условное оформление или просто проверять наличие цен перед печатью.

Как видеть историю переоценки: отчеты

Чтобы решить проблему автора темы «не вижу, что я уже поменял», воспользуемся стандартным отчетом. Перейдем в раздел Маркетинг — Отчеты по маркетингу — Цены номенклатуры.

Настроим отчет для получения нужной информации:

  1. Установим период (например, последняя неделя).
  2. В настройках отчета добавим группировку по Номенклатуре.
  3. В выбранные поля добавим Цена и Регистратор (документ, который установил цену).

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

Техническая реализация (для программистов)

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


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

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

Резюме

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

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

← На главную