При работе в конфигурации «Управление торговлей для Украины», редакция 2.3 (которая является архитектурным аналогом российской «УТ 10.3»), пользователи часто сталкиваются с путаницей между двумя независимыми механизмами: партионным учетом (ФИФО/ЛИФО) и ценообразованием. Разберем подробно, почему при наличии нового поступления товара по более высокой цене система может продолжать подставлять старую цену в Заказ покупателя, и как правильно настроить систему для корректной работы.
Проанализируем ситуацию, описанную автором темы. Основная ошибка заключается в ожидании того, что стратегия списания партий (ФИФО) должна автоматически влиять на цену, которую видит покупатель в заказе. Рассмотрим подробнее, как эти механизмы работают в 1С:
Реализация товаров и услуг, система смотрит на настройки (например, «по хронологии — ФИФО») и списывает ту партию, которая пришла первой. В примере автора: сначала спишется товар по 1000, затем по 1500. Это отразится в регистре накопления Партии товаров на складах и повлияет на расчет прибыли, но не на цену продажи в документе.Заказ покупателя, берется из периодического регистра сведений Цены номенклатуры. Записи в этот регистр вносятся документом Установка цен номенклатуры. Система ищет последнюю актуальную запись на дату и время документа по конкретному Типу цен.Таким образом, если в заказе подставляется старая цена, проблему нужно искать в настройках ценообразования и хронологии документов, а не в настройках партионного учета.
Выясним, почему дата документа играет ключевую роль. В 1С 8.x данные из периодических регистров сведений (где хранятся цены) извлекаются методом «среза последних». Если документ Установка цен номенклатуры имеет ту же дату и время, что и Заказ покупателя, может возникнуть коллизия.
Рассмотрим по шагам, как это проверить:
Установка цен номенклатуры. Если он создан в 12:00:00, а Заказ покупателя — в 11:59:59, то заказ «не увидит» новую цену.Рекомендация: Всегда устанавливайте время для документов Установка цен номенклатуры на 00:00:00 (начало дня). Это гарантирует, что любая торговая операция в течение этого дня будет видеть актуальные цены.
Посмотрим на настройки договора с контрагентом. В 1С:УТ 2.3 цена в заказ подтягивается не просто «последняя из справочника», а та, которая соответствует Типу цен, указанному в документе.
Разберем типичный сценарий ошибки:
Заказе покупателя выбран тип цен «Оптовая».Установку цен номенклатуры, но по ошибке указал тип цен «Розничная» или «Закупочная».Чтобы проверить это, зайдите в Заказ покупателя, перейдите на вкладку «Цены и валюта» и убедитесь, какой именно тип цен там выбран. Затем проверьте, есть ли документ установки именно для этого типа.
Важно понимать, что 1С не меняет цены в уже созданных или открытых документах «на лету», если вы изменили их в справочнике. Если вы сначала создали Заказ покупателя, а потом (не закрывая его) провели Установку цен, цена в заказе сама не обновится.
Для принудительного обновления выполните следующие действия:
Заказ покупателя нажмите кнопку «Цены и валюта» (находится в верхней части формы).Если автоматическая подстановка не работает, можно проанализировать программный код. В типовых конфигурациях на обычных формах за получение цены отвечает модуль набора записей регистра сведений или специализированные процедуры в общих модулях (например, Ценообразование.ПолучитьЦенуНоменклатуры).
Пример логики запроса, который отрабатывает «под капотом»:
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЦеныНоменклатурыСрезПоследних.Цена,
| ЦеныНоменклатурыСрезПоследних.ЕдиницаИзмерения
|ИЗ
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&ДатаДокумента, Номенклатура = &Номенклатура И ТипЦен = &ТипЦен) КАК ЦеныНоменклатурыСрезПоследних";
Запрос.УстановитьПараметр("ДатаДокумента", Объект.Дата);
Запрос.УстановитьПараметр("Номенклатура", ТекущаяСтрока.Номенклатура);
Запрос.УстановитьПараметр("ТипЦен", Объект.ТипЦен);
Обратите внимание на параметр &ДатаДокумента. Если документ еще не записан в базу, его дата может быть неопределена или пуста, что приведет к получению самой последней цены в системе (на текущий момент), либо к ошибке. Поэтому совет из обсуждения — сначала записать пустой документ, а потом подбирать товар — является крайне полезным.
Хотя в обсуждении указано, что склад оптовый, разберем ситуацию для розницы, так как это часто становится причиной вопросов. Если склад имеет вид «НТТ» (Неавтоматизированная торговая точка) или «Розница», то для изменения цен продажи недостаточно документа Установка цен номенклатуры. В этом случае необходимо формировать документ Переоценка товаров в рознице. Без него учетная цена на остатках склада не изменится, и продажи будут идти по старым ценам, зафиксированным в регистре Товары в рознице.
Если вы столкнулись с тем, что цена подставляется неверно, проверьте следующие пункты:
Установка цен должна быть по времени строго раньше Заказа покупателя.Помните: партионный учет (ФИФО) управляет вашими затратами и прибылью (себестоимостью), а регистр цен управляет вашими доходами (ценой продажи). Это две параллельные рельсы, которые пересекаются только в отчете о валовой прибыли.