Вид цен и настройка создания

1. OlegAr 21 10.08.20 16:38 Сейчас в теме
Коллеги, прошу Вашего внимания и возможной подсказки.
Вид цены (Цена Поставщика), расчет по запросу из информационной базе по Максимальной цене, скажите почему максимальная цена берется из двух последних документах, а не за весь период ?
Прикрепленные файлы:
По теме из базы знаний
Вознаграждение за ответ
Показать полностью
Найденные решения
15. ab_initio 95 16.08.20 18:30 Сейчас в теме +1 $m
Вот оригинальный запрос из СКД формирования этого вида цен (если запустить программу в режиме толстого клиента, то можно его отредактировать):

ВЫБРАТЬ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Сегменты.Номенклатура,
	Сегменты.Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Партнер КАК Партнер,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
{ВЫБРАТЬ
	Партнер.*}
ИЗ
	РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментПартнеров,
	Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
	Сегменты.Партнер
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
	ЦеныНоменклатурыСрезПоследних.Упаковка КАК Упаковка,
	&Валюта КАК Валюта,
	1 КАК Коэффициент,
	(ВЫРАЗИТЬ(ВЫБОР
			КОГДА ВидыЦен.ЦенаВключаетНДС
						И ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
					ИЛИ НЕ ВидыЦен.ЦенаВключаетНДС
						И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
			КОГДА ВидыЦен.ЦенаВключаетНДС
					И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена + ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 0.1
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 0.1
						ИНАЧЕ 0
					КОНЕЦ
			КОГДА НЕ ВидыЦен.ЦенаВключаетНДС
					И ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена - ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 10 / 110
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 10 / 110
						ИНАЧЕ 0
					КОНЕЦ
		КОНЕЦ КАК ЧИСЛО(15, 2))) * ВЫБОР
		КОГДА &Валюта <> ЦеныНоменклатурыСрезПоследних.Валюта
			ТОГДА ВЫБОР
					КОГДА ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Курс, 0) > 0
						ТОГДА КурсыВалютыЦены.Курс * КурсыВалюты.Кратность / (КурсыВалюты.Курс * КурсыВалютыЦены.Кратность)
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 1
	КОНЕЦ КАК Цена
ПОМЕСТИТЬ ЦеныНоменклатурыПоставщиковСрезПоследних
ИЗ
	РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, Партнер.Поставщик {((Номенклатура, Характеристика) В
			    (ВЫБРАТЬ
			        ОтборПоСегментуНоменклатуры.Номенклатура,
			        ОтборПоСегментуНоменклатуры.Характеристика
			    ИЗ
			        ОтборПоСегментуНоменклатуры
			    ГДЕ
			        ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Партнер В
			    (ВЫБРАТЬ
			        ОтборПоСегментуПартнеров.Партнер
			    ИЗ
			        ОтборПоСегментуПартнеров
			    ГДЕ
			        ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}) КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, ) КАК КурсыВалютыЦены
		ПО ЦеныНоменклатурыСрезПоследних.Валюта = КурсыВалютыЦены.Валюта
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, Валюта = &Валюта) КАК КурсыВалюты
		ПО (ИСТИНА)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
		ПО (ВидыЦен.Ссылка = &ВидЦены)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Характеристика КАК Характеристика,
	ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта КАК Валюта,
	1 КАК Коэффициент,
	МАКСИМУМ(ЦеныНоменклатурыПоставщиковСрезПоследних.Цена / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1)) КАК Цена
ИЗ
	ЦеныНоменклатурыПоставщиковСрезПоследних КАК ЦеныНоменклатурыПоставщиковСрезПоследних

СГРУППИРОВАТЬ ПО
	ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Характеристика,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта
Показать


Вам, чтоб выбиралась максимальная цена на товар за всю жизнь, а не действующая на момент установки надо источник выборки подменить: заменить срез последних на физическую таблицу регистра сведений с условием
ГДЕ рег.Период <= КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ).
Но только работать будет медленнее.

Разумно, наверно, было бы параметр еще добавить, что-то вроде "глубина анализа", тогда при установке цен номенклатуры можно будет его регулировать. Условие тогда будет навроде
ГДЕ рег.Период МЕЖДУ ДобавитьКДате(&ДатаДокумента, МЕСЯЦ, - &ГлубинаАнализа) И КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ).

Как-то так.
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. OlegAr 21 10.08.20 16:43 Сейчас в теме
Созданы три поступления по разной цене и максимальная берется относительно двух последний, но не за период.
Прикрепленные файлы:
3. PiotrLoginov 10.08.20 19:56 Сейчас в теме
УТ ? Релиз какой ? Типовую схему "Максимальные цены поставщиков" не модифицировали ?
4. OlegAr 21 10.08.20 20:35 Сейчас в теме
(3) нет не модифицировали, стоит типовая на поддержке, УТ 11.4 релиз 11.4.12.77, обновлял до крайней, результат тот же.
5. vgv8 11.08.20 01:27 Сейчас в теме
Полные версии УТ и 1С - какие?
6. OlegAr 21 11.08.20 11:33 Сейчас в теме
(5)мне конечно не трудно повторить релиз и версию платформы, но хотелось бы результата, воспроизводится ли этот баг у других.

1С:Предприятие 8.3 (8.3.17.1386)
Управление торговлей, редакция 11 (11.4.12.77)
7. OlegAr 21 15.08.20 19:31 Сейчас в теме
тут так много специалистов и никого не интересует ценообразование в УТ 11.4 ?
8. vgv8 16.08.20 02:55 Сейчас в теме
(7)
не вообще ценообразованием, а такм, как у Вас - ВидыЦенПоставщика и СКД
И, зачем Вам 8.3.17, откатите на минимпльно рекомнндованную 8.3.16.1148
9. OlegAr 21 16.08.20 11:24 Сейчас в теме
(8)так не работает Максимальная цена из Поступления товара, выбор только из двух последних документов происходит. и при чем тут платформа, тестировали на разных.
10. ab_initio 95 16.08.20 11:34 Сейчас в теме
Всё отлично и нормально работает. И платформа здесь не причем.
Типовой запрос, который выбирает максимальные цены поставщиков, тянет данные не из документов приобретения.
Он выгребает данные из регистра сведений "ЦеныНоменклатурыПоставщиков". А туда, в свою очередь, попадают данные только из документов приобретения, в которых установлен признак "Регистрировать цены поставщика автоматически".

Скорее всего в Вашем случае в двух последних документах этот признак стоит, а в остальных, по-видимому, не стоит. Вот и возникло такое впечатление.
11. OlegAr 21 16.08.20 13:43 Сейчас в теме
(10)Приведу пример из регистра
1 10.01.2020 цена Товар =240 руб
2. 05.02.2020 цена Товар = 210 руб
Максимальная цена 240руб
3 15.03.2020 цена Товар =215 руб
Максимальная цена 215 руб

Вопрос почему ?
12. OlegAr 21 16.08.20 13:45 Сейчас в теме
(10)как Вы считаете, откуда я взял сведения по ценам, наверное из Регистра. Приводите примеры.
13. OlegAr 21 16.08.20 15:17 Сейчас в теме
Перепроверил еще раз, при поступлении Цена Поставщика записывается в регистр.
Установка цен номенклатуры не видит максимальную цену из БД, настройка на скриншоте во главе.
Прикрепленные файлы:
14. ab_initio 95 16.08.20 18:18 Сейчас в теме
Да всё же правильно!!
Так и должно быть.
Авторы имели ввиду, что выбирается самая высокая цена на товар из всех действующих поставщиков на момент установки.
Т.е. есть на сегодня у Поставщика1 - 100 руб, а у Поставщика2 - 110 руб. Выберется 110 руб. - цена Поставщика2. А у Вас только один поставщик, на нем действует последняя цена, всегда и будет выбираться последняя, если поставщик один.

Об этом и в справке написано.
Прикрепленные файлы:
user1706724; +1 Ответить
15. ab_initio 95 16.08.20 18:30 Сейчас в теме +1 $m
Вот оригинальный запрос из СКД формирования этого вида цен (если запустить программу в режиме толстого клиента, то можно его отредактировать):

ВЫБРАТЬ РАЗЛИЧНЫЕ
	Сегменты.Номенклатура КАК Номенклатура,
	Сегменты.Характеристика КАК Характеристика,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуНоменклатуры
ПОМЕСТИТЬ ОтборПоСегментуНоменклатуры
ИЗ
	РегистрСведений.НоменклатураСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментНоменклатуры,
	Сегменты.Номенклатура.* КАК Номенклатура,
	Сегменты.Характеристика.* КАК Характеристика}

ИНДЕКСИРОВАТЬ ПО
	Сегменты.Номенклатура,
	Сегменты.Характеристика,
	ИспользуетсяОтборПоСегментуНоменклатуры
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	Сегменты.Партнер КАК Партнер,
	ИСТИНА КАК ИспользуетсяОтборПоСегментуПартнеров
ПОМЕСТИТЬ ОтборПоСегментуПартнеров
{ВЫБРАТЬ
	Партнер.*}
ИЗ
	РегистрСведений.ПартнерыСегмента КАК Сегменты
{ГДЕ
	Сегменты.Сегмент.* КАК СегментПартнеров,
	Сегменты.Партнер.* КАК Партнер}

ИНДЕКСИРОВАТЬ ПО
	Сегменты.Партнер
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Характеристика КАК Характеристика,
	ЦеныНоменклатурыСрезПоследних.Упаковка КАК Упаковка,
	&Валюта КАК Валюта,
	1 КАК Коэффициент,
	(ВЫРАЗИТЬ(ВЫБОР
			КОГДА ВидыЦен.ЦенаВключаетНДС
						И ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
					ИЛИ НЕ ВидыЦен.ЦенаВключаетНДС
						И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена
			КОГДА ВидыЦен.ЦенаВключаетНДС
					И НЕ ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена + ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 0.1
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 0.2
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 0.18
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 0.1
						ИНАЧЕ 0
					КОНЕЦ
			КОГДА НЕ ВидыЦен.ЦенаВключаетНДС
					И ЦеныНоменклатурыСрезПоследних.ВидЦеныПоставщика.ЦенаВключаетНДС
				ТОГДА ЦеныНоменклатурыСрезПоследних.Цена - ЦеныНоменклатурыСрезПоследних.Цена * ВЫБОР
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10)
							ТОГДА 10 / 110
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС0)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.БезНДС)
							ТОГДА 0
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС20_120)
							ТОГДА 20 / 120
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС18_118)
							ТОГДА 18 / 118
						КОГДА ЦеныНоменклатурыСрезПоследних.Номенклатура.СтавкаНДС = ЗНАЧЕНИЕ(Перечисление.СтавкиНДС.НДС10_110)
							ТОГДА 10 / 110
						ИНАЧЕ 0
					КОНЕЦ
		КОНЕЦ КАК ЧИСЛО(15, 2))) * ВЫБОР
		КОГДА &Валюта <> ЦеныНоменклатурыСрезПоследних.Валюта
			ТОГДА ВЫБОР
					КОГДА ЕСТЬNULL(КурсыВалютыЦены.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалютыЦены.Курс, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Кратность, 0) > 0
							И ЕСТЬNULL(КурсыВалюты.Курс, 0) > 0
						ТОГДА КурсыВалютыЦены.Курс * КурсыВалюты.Кратность / (КурсыВалюты.Курс * КурсыВалютыЦены.Кратность)
					ИНАЧЕ 0
				КОНЕЦ
		ИНАЧЕ 1
	КОНЕЦ КАК Цена
ПОМЕСТИТЬ ЦеныНоменклатурыПоставщиковСрезПоследних
ИЗ
	РегистрСведений.ЦеныНоменклатурыПоставщиков.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, Партнер.Поставщик {((Номенклатура, Характеристика) В
			    (ВЫБРАТЬ
			        ОтборПоСегментуНоменклатуры.Номенклатура,
			        ОтборПоСегментуНоменклатуры.Характеристика
			    ИЗ
			        ОтборПоСегментуНоменклатуры
			    ГДЕ
			        ОтборПоСегментуНоменклатуры.ИспользуетсяОтборПоСегментуНоменклатуры = &ИспользуетсяОтборПоСегментуНоменклатуры)), (Партнер В
			    (ВЫБРАТЬ
			        ОтборПоСегментуПартнеров.Партнер
			    ИЗ
			        ОтборПоСегментуПартнеров
			    ГДЕ
			        ОтборПоСегментуПартнеров.ИспользуетсяОтборПоСегментуПартнеров = &ИспользуетсяОтборПоСегментуПартнеров))}) КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, ) КАК КурсыВалютыЦены
		ПО ЦеныНоменклатурыСрезПоследних.Валюта = КурсыВалютыЦены.Валюта
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КурсыВалют.СрезПоследних({(КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ))}, Валюта = &Валюта) КАК КурсыВалюты
		ПО (ИСТИНА)
		ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ВидыЦен КАК ВидыЦен
		ПО (ВидыЦен.Ссылка = &ВидЦены)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура КАК Номенклатура,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Характеристика КАК Характеристика,
	ЗНАЧЕНИЕ(Справочник.УпаковкиЕдиницыИзмерения.ПустаяСсылка) КАК Упаковка,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта КАК Валюта,
	1 КАК Коэффициент,
	МАКСИМУМ(ЦеныНоменклатурыПоставщиковСрезПоследних.Цена / ЕСТЬNULL(&ТекстЗапросаКоэффициентУпаковки1, 1)) КАК Цена
ИЗ
	ЦеныНоменклатурыПоставщиковСрезПоследних КАК ЦеныНоменклатурыПоставщиковСрезПоследних

СГРУППИРОВАТЬ ПО
	ЦеныНоменклатурыПоставщиковСрезПоследних.Номенклатура,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Характеристика,
	ЦеныНоменклатурыПоставщиковСрезПоследних.Валюта
Показать


Вам, чтоб выбиралась максимальная цена на товар за всю жизнь, а не действующая на момент установки надо источник выборки подменить: заменить срез последних на физическую таблицу регистра сведений с условием
ГДЕ рег.Период <= КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ).
Но только работать будет медленнее.

Разумно, наверно, было бы параметр еще добавить, что-то вроде "глубина анализа", тогда при установке цен номенклатуры можно будет его регулировать. Условие тогда будет навроде
ГДЕ рег.Период МЕЖДУ ДобавитьКДате(&ДатаДокумента, МЕСЯЦ, - &ГлубинаАнализа) И КОНЕЦПЕРИОДА(&ДатаДокумента, ДЕНЬ).

Как-то так.
16. OlegAr 21 16.08.20 20:56 Сейчас в теме
(15) Я Вас понял, но даже если мы имеем несколько поставщиков, то Максимальная цена товара у каждого поставщика находится в интервале отличным от последних документов.
ведь приравнивая максимальную цену товара, клиент хочет иметь ее как постоянно максимальную, тем более, что у нее есть зависимые цены.
в другом случае, мы можем просто запрашивать цену поставщика на дату.
вероятно происходит искажение понятия Максимальная цена.
1. среди поставщиков.
2. среди номенклатуры.

Да спасибо за совет, непременно воспользуюсь.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот