Как настроить вывод наценки при просмотре цен в 1С:Управление торговлей 11

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

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

Почему не получается добавить наценку через Пользовательские поля

Многие продвинутые пользователи пытаются решить задачу через Изменение варианта отчета и создание Пользовательского поля с формулой типа [Цена Розничная] / [Цена Закупочная]. Разберем по шагам, почему этот метод не работает в типовом прайс-листе.

Проанализируем техническую сторону: отчет Прайс-лист в УТ 11 построен на системе компоновки данных (СКД) с использованием механизма Кросс-таблицы. В этой структуре виды цен (Закупочная, Розничная, Оптовая) не являются отдельными ресурсами (колонками) в наборе данных. С точки зрения системы, это значения одного измерения Вид цены, которые СКД динамически разворачивает в колонки при формировании отчета.

В окне редактирования формулы пользовательского поля доступно только общее поле Цена. Система не видит разницы между ценами в момент расчета формулы, так как для нее это одна и та же колонка, просто выведенная в разные сегменты таблицы. Таким образом, обратиться одновременно к двум разным колонкам цен внутри одной строки прайса стандартными средствами настройки «в лоб» невозможно.

Решение №1: Использование специализированного отчета Анализ цен

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

Для формирования нужных данных выполним следующие действия:

  1. Перейдем в раздел CRM и маркетинг — Отчеты по маркетингу.
  2. Выберем отчет Анализ цен.
  3. В настройках отчета укажем два вида цен: базовый (например, Закупочная) и анализируемый (например, Розничная).
  4. Система автоматически сформирует таблицу, где в отдельных колонках будут выведены значения цен, а также Абсолютное отклонение и Процент отклонения.

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

Решение №2: Проверка наценок через рабочее место Цены (прайс-лист)

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

Рассмотрим алгоритм действий в этом интерфейсе:

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

Решение №3: Создание внешнего отчета на базе СКД

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

В таком отчете в запросе СКД данные из регистра сведений ЦеныНоменклатуры выбираются не одной массой, а через соединение таблиц. Посмотрим на логику построения запроса:


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

При таком подходе ЦенаЗакупочная и ЦенаРозничная становятся полноценными отдельными полями в одной строке, и расчет наценки становится элементарной арифметической операцией в поле Вычисляемые поля на вкладке настроек СКД. Чтобы не разрабатывать форму с нуля, можно использовать готовый отчет для анализа наценки на закупочные цены.

Рекомендации по управлению процессом

В завершение разберем совет по оптимизации бизнес-процесса. Чтобы минимизировать необходимость постоянного контроля персонала, в 1С:УТ 11 реализованы механизмы ограничения прав. Рекомендуем настроить систему так, чтобы сотрудники могли устанавливать цены только по заранее определенным формулам (наценкам). Для этого в справочнике ВидыЦен установите флаг Использовать полную формулу редактирования и ограничьте права на ручное изменение цен в документе Установка цен номенклатуры. В этом случае риск человеческой ошибки будет сведен к минимуму, а надобность в дополнительных колонках в отчете отпадет сама собой. Для гибкого ограничения ручной корректировки цен отдельным сотрудникам подойдёт расширение для запрета установления произвольных цен.

← На главную