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