Вопрос о том, существует ли динамический расчет цен в 1С:Управление торговлей 11 (УТ 11), часто возникает у специалистов, перешедших с версии 10.3 или других систем, где цена могла рассчитываться непосредственно в момент подбора товара в документ. В этой статье мы подробно разберем, почему архитектура УТ 11 и ERP строится на иных принципах, как настроить автоматический пересчет цен и какие преимущества дает хранение рассчитанных данных в информационной базе.
В старых конфигурациях (например, УТ 10.3) существовал тип цен «Динамический». При его использовании система не записывала конечную стоимость в базу данных, а вычисляла ее в момент открытия заказа или реализации, умножая базовую цену на определенный процент. Проанализируем, почему в УТ 11 разработчики отказались от такой модели в пользу «Рассчитываемых» видов цен с обязательной записью в регистр.
Рассмотрим основные причины такого решения:
Себестоимость + 20% рассчитывалась динамически, то построение «Прайс-листа» на 50 000 позиций требовало бы колоссальных ресурсов сервера при каждом формировании отчета. Система была бы вынуждена для каждой строки выполнять математические операции и запросы к базовым ценам.Установка цен номенклатуры, мы сохраняем историю. Мы всегда можем выяснить, какая цена действовала неделю назад. В динамической модели цена «прошлого периода» менялась бы вместе с изменением текущей базовой цены, что делало бы невозможным ретроспективный анализ.Хотя цена в УТ 11 должна быть зафиксирована документом, пользователю не требуется создавать эти документы вручную при каждом изменении цен поставщиков. Разберем по шагам, как настроить систему для работы в режиме, близком к динамическому.
Выясним, как работает связка настроек вида цен и регламентных заданий:
Рассчитывать по формуле от других видов цен. Здесь мы указываем формулу, например: [Закупочная] * 1.25.Пересчет цен номенклатуры. Рассмотрим подробнее принцип его работы: система отслеживает изменение базовых цен и помечает зависимые цены как «требующие пересчета». Регламентное задание по расписанию (например, раз в час или ночью) анализирует эти метки и автоматически формирует документы Установка цен номенклатуры.В отличие от простых динамических цен, расчет в УТ 11 позволяет использовать мощь Системы Компоновки Данных (СКД). Это позволяет создавать гибкие правила. Проанализируем ситуацию, когда цена должна зависеть от остатков на складах или данных конкурентов.
В настройках вида цен можно выбрать схему компоновки данных. Например, мы можем настроить выборку данных так, чтобы цена рассчитывалась как:
// Пример логики, которую можно реализовать через СКД в правилах ценообразования
Выбор
Когда ОстаткиНаСкладах > 100 Тогда ЦенаЗакупки * 1.1
Иначе ЦенаЗакупки * 1.3
Конец
Такие «тяжелые» расчеты выполняются в фоновом режиме, не заставляя менеджера по продажам ждать при формировании заказа клиента.
Как отмечают участники обсуждения, современные конфигурации (ERP, УТ 11) ориентированы на высокую нагрузку. Перенос расчетов в офлайн-режим (фоновые задания) — это осознанный шаг для повышения стабильности системы. Рассмотрим пример с офлайн-взаиморасчетами: аналогично ценам, сложные расчеты задолженности перенесены из транзакции проведения документа в фоновое выполнение. Это позволяет проводить документы мгновенно, не дожидаясь завершения всех связанных калькуляций.
Для того чтобы ваша система работала эффективно, придерживайтесь следующих правил:
Пересчет цен номенклатуры. Если цены должны быть актуальными «здесь и сейчас», установите интервал в 10–15 минут.Согласован.Таким образом, динамического расчета цен в его «чистом» виде (без записи в базу) в УТ 11 не существует, и это является преимуществом системы. Мы заменяем мгновенный, но ресурсоемкий расчет на автоматизированную актуализацию данных. Это обеспечивает высокую скорость работы интерфейса подбора товаров, предоставляет полную историю ценообразования и позволяет использовать сложные алгоритмы расчета, недоступные в старых версиях программ 1С.