Регистр сведений ЦеныНоменклатуры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.СрезПоследних(, ВидЦены = &ВидЦены) КАК ЦеныНоменклатуры
	|		ПО (ЦеныНоменклатуры.Номенклатура = Товары.Номенклатура)
	|			И (ЦеныНоменклатуры.ХарактеристикаЦО = ВЫБОР
	|				КОГДА Товары.Номенклатура.ВидНоменклатуры.НастройкиКлючаЦенПоХарактеристике = ЗНАЧЕНИЕ(Перечисление.ВариантОтбораДляКлючаЦен.НеИспользовать)
	|					ТОГДА ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатурыДляЦенообразования.ПустаяСсылка)
	|				ИНАЧЕ Товары.Характеристика.ХарактеристикаНоменклатурыДляЦенообразования
	|			КОНЕЦ)
	|ГДЕ
	|	Товары.Ссылка = &Заказ");
	Запрос.УстановитьПараметр("Заказ", Заказ);
	Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Розничная"));
	Возврат Запрос.Выполнить().Выгрузить();
КонецФункции
Наши разработки:
Учет сертификатов номенклатуры в УНФ (печать реестра сертификатов)

Учет сертификатов номенклатуры в УНФ (печать реестра сертификатов)

Расширение конфигурации добавит возможность вести учет сертификатов номенклатуры в конфигурации "Управление нашей фирмой, редакция 1.6". Вы сможете организовать учет сертификатов ...
Обмен 1С и OZON (УТ11, ERP2, КА2, БП3, УНФ, Розница)

Обмен 1С и OZON (УТ11, ERP2, КА2, БП3, УНФ, Розница)

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

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

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

Управление запасами: Товары поставщиков (УТ11, КА2, ERP2)

Функционал расширения конфигурации позволяет в удобной форме автоматически загружать прайс-листы поставщиков в 1С, анализировать загруженные данные, автоматически устанавливать цены с ...
Изменение записей регистра сведений (универсальная обработка)

Изменение записей регистра сведений (универсальная обработка)

Обработка дает возможность массово или точечно изменять записи регистра сведений. Поддерживается изменение записей в независимых регистрах и регистрах с подчинением ...
Остатки товаров в РМК (УТ11, КА2, ERP2)

Остатки товаров в РМК (УТ11, КА2, ERP2)

Расширение конфигурации добавит возможность просматривать остатки по складу для выбранных в РМК (рабочее место кассира) товаров. При этом Вы сможете ...

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

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

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

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

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