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