Регистр сведений ЦеныНоменклатуры25 — разбираем как получать цены

В Управление торговлей 11.5, Комплексная автоматизация 2.5 и ERP Управление предприятием 2.5 появилось новое ценообразование. Переход на новое ценообразование рассмотрен в статье Переход на ценообразование версии 11.5 в УТ11, версии 2.5 в КА2, ERP2.

Теперь цены могут храниться как в разрезе только номенклатуры (даже для номенклатуры с характеристиками), в разрезе характеристик и их реквизитов, серий и их реквизитов, упаковки. Для хранения цен добавлен новый регистр сведений ЦеныНоменклатуры25.

Теперь рассмотрим как получать цены. Во-первых, теперь нужно анализировать какое используется ценообразование. Организация может переходить на новое ценообразование но всегда имеет возможность вернуться на старое. Это нужно учитывать при получении цен. Рассмотрим запрос получения цен для номенклатуры без характеристик:

Функция ЦенаНоменклатуры(Номенклатура)
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ЦеныНоменклатуры25СрезПоследних.Цена КАК Цена
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры25.СрезПоследних(
	|			,
	|			ВидЦены = &ВидЦены
	|				И Номенклатура = &Номенклатура) КАК ЦеныНоменклатуры25СрезПоследних");
	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
	Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"));
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Цена = Выборка.Цена;
	КонецЕсли;
	Возврат Цена;
КонецФункции

Пример получения запросом цены для номенклатуры с характеристикой:

Функция ЦенаНоменклатуры(Номенклатура, Характеристика)
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	ЦеныНоменклатуры25СрезПоследних.Цена КАК Цена
	|ИЗ
	|	РегистрСведений.ЦеныНоменклатуры25.СрезПоследних(
	|			,
	|			ВидЦены = &ВидЦены
	|				И Номенклатура = &Номенклатура
	|				И ХарактеристикаЦО = &ХарактеристикаЦО) КАК ЦеныНоменклатуры25СрезПоследних");
	Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
	ХарактеристикаЦО = ?(Номенклатура.ВидНоменклатуры.НастройкиКлючаЦенПоХарактеристике = Перечисления.ВариантОтбораДляКлючаЦен.НеИспользовать
	, Справочники.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка(), Характеристика.ХарактеристикаНоменклатурыДляЦенообразования); 
	Запрос.УстановитьПараметр("ХарактеристикаЦО", ХарактеристикаЦО);
	Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"));
	Выборка = Запрос.Выполнить().Выбрать();
	Если Выборка.Следующий() Тогда
		Цена = Выборка.Цена;
	КонецЕсли;
	Возврат Цена;
КонецФункции

Пример получения цен для товаров из заказа. Учет цен возможен как в разрезе номенклатуры, так и в разрезе характеристик:

Функция НоменклатураСЦенами(Заказ)
	Запрос = Новый Запрос(
	"ВЫБРАТЬ
	|	Товары.Номенклатура КАК Номенклатура,
	|	Товары.Характеристика КАК Характеристика,
	|	ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) КАК Цена
	|ИЗ
	|	Документ.ЗаказКлиента.Товары КАК Товары
	|		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры25.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатуры
	|		ПО (ЦеныНоменклатуры.Номенклатура = Товары.Номенклатура)
	|			И (ЦеныНоменклатуры.ХарактеристикаЦО = ВЫБОР
	|				КОГДА Товары.Номенклатура.ВидНоменклатуры.НастройкиКлючаЦенПоХарактеристике = ЗНАЧЕНИЕ(Перечисление.ВариантОтбораДляКлючаЦен.НеИспользовать)
	|					ТОГДА ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка)
	|				ИНАЧЕ Товары.Характеристика.ХарактеристикаНоменклатурыДляЦенообразования
	|			КОНЕЦ)
	|ГДЕ
	|	Товары.Ссылка = &Заказ");
	Запрос.УстановитьПараметр("Заказ", Заказ);
	Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"));
	Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Наши разработки:
Конструктор прайс-листов (прайс-заказов) для УТ11, КА2, ERP2, УНФ, Розница

Конструктор прайс-листов (прайс-заказов) для УТ11, КА2, ERP2, УНФ, Розница

Расширение позволяет формировать произвольные прайс-листы с выгрузкой в Excel и обратной загрузкой в 1С (после обработки прайс-листа клиентом). Конструктор также ...
Помощник продаж с мультикорзиной (расширение для УТ11, КА2, ERP2)

Помощник продаж с мультикорзиной (расширение для УТ11, КА2, ERP2)

Помощник продаж выполнен в виде расширения конфигурации 1С, которое существенно дополняет возможности стандартного списка номенклатуры, превращая его в полноценное рабочее ...
Расширенная форма списка номенклатуры для УТ11, КА2, ERP2

Расширенная форма списка номенклатуры для УТ11, КА2, ERP2

Расширение конфигурации позволяет выводить остатки по всем необходимым складам, отображать цены номенклатуры в списке и применять различные отборы. После установки ...
Расширенная форма РМК для УТ 11, КА 2, ERP 2

Расширенная форма РМК для УТ 11, КА 2, ERP 2

Расширение конфигурации дорабатывает рабочее место кассира (РМК) и добавляет в нее удобные инструменты для просмотра остатков по складам, остатков по ...
Розница: Расширенная форма списка номенклатуры

Розница: Расширенная форма списка номенклатуры

Расширение конфигурации изменяет форму списка номенклатуры и добавляет в него функционал, позволяющий выводить остатки по любому складу, цены номенклатуры и ...
Контроль минимальной цены и суммы в заказах и реализациях (УТ11, КА2, ERP2)

Контроль минимальной цены и суммы в заказах и реализациях (УТ11, КА2, ERP2)

Расширение конфигурации позволяет быстро решить проблему продажи товара по цене ниже закупочной или цены себестоимости. Контроль будет работать в разрезе ...

Комментарии 3

  • Огромнейшее спасибо! Ваша статья сэкономила мне кучу времени!!!
    Кстати, на данный момент это единственный результат в гугле по запросу «НастройкиКлючаЦенПоХарактеристике».

  • огромное спасибо за статью

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *