Вопрос о возможности создания «динамически рассчитываемых цен» часто возникает у пользователей, переходящих на современные конфигурации 1С с более ранних версий. Давайте разберем, как реализовать механизм формирования цен на основе себестоимости в архитектуре Управление торговлей 11.5.
Прежде всего, важно уяснить принципиальное отличие: в УТ 11.5 отсутствует механизм «динамических цен», которые пересчитывались бы непосредственно в момент выбора номенклатуры в документе продажи. Архитектура системы построена на базе регистра сведений Цены номенклатуры, где цена — это зафиксированный факт. Это решение было принято для обеспечения высокой производительности системы, чтобы избежать тяжелых вычислений себестоимости при каждом обращении к товару.
Однако система позволяет автоматизировать процесс расчета цен с помощью механизма Схема компоновки данных (СКД). Мы можем настроить правило, по которому цены будут рассчитываться автоматически, превращая рутинную установку цен в простой процесс обновления данных.
Рассмотрим по шагам, как настроить вид цены, который будет опираться на данные о себестоимости:
CRM и маркетинг — Настройки и справочники — Виды цен.Способ задания цены выберите значение Произвольный запрос к ИБ.Схема компоновки данных выберите соответствующий вариант из выпадающего списка, который позволяет обратиться к регистру Себестоимость товаров.Когда вы выбираете вариант Произвольный запрос к ИБ, система открывает доступ к визуальному конструктору СКД. Здесь вы можете задать параметры выборки, указать, какую именно себестоимость (например, Средневзвешенную) брать за основу и какую наценку применять.
Поскольку цены в системе являются фиксированными (записанными в регистр), после настройки СКД вам необходимо выполнить следующие действия:
Цены номенклатуры для формирования документа установки цен.Заполнить система выполнит расчет по настроенной СКД и предложит актуальные значения.Для создания иллюзии динамичности рекомендуем настроить Регламентные задания. Это позволит системе автоматически запускать расчет цен по расписанию (например, раз в день или раз в час), чтобы ваши прайс-листы всегда оставались актуальными без участия пользователя.
// Пример логики запроса в СКД для получения себестоимости:
ВЫБРАТЬ
Себестоимость.Номенклатура,
Себестоимость.Стоимость / Себестоимость.Количество КАК СебестоимостьЕдиницы
ИЗ
РегистрНакопления.СебестоимостьТоваров.Остатки(&Период, ) КАК Себестоимость
Если специфика вашего бизнеса требует учета себестоимости конкретной партии (например, при дорогостоящих продажах под заказ), используйте следующие инструменты:
Заказе клиента пересчитывают цену через вызов серверной функции. Однако помните, что это решение требует тщательной поддержки при обновлении конфигурации.Использование типового механизма Произвольный запрос к ИБ — это наиболее правильный путь с точки зрения поддержки конфигурации. Мы рекомендуем сфокусироваться на настройке расписаний регламентных заданий, которые будут поддерживать актуальность цен в автоматическом режиме, обеспечивая баланс между актуальностью данных и производительностью системы.
Таким образом, хотя «динамических» цен как «живых» формул в ячейках 1С нет, механизм автоматизированной установки через СКД полностью закрывает потребность в регулярном обновлении прайс-листа на основе себестоимости.