Заполнение табличной части ценой

1. Evgen13 24.03.21 13:26 Сейчас в теме
Друзья, помогите.
Есть документ коммерческое предложение, в него мы добавляем номенклатуры и т.д.
добавил столбец цена приобретения
хочу сделать , чтобы при добавлении номенклатуры , цена приобретения заполнялась автоматически, подтягивалась последняя установленная цена.

делаю запрос, но ничего не работает, помогите разобраться

 Запрос = Новый Запрос;
    Запрос.Текст = 
        "ВЫБРАТЬ
        |    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
        |    МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период
        |ИЗ
        |    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(
        |            &дата,
        |            ВидЦены = &ВидЦены
        |                ) КАК ЦеныНоменклатурыСрезПоследних
        |ГДЕ
        |    ЦеныНоменклатурыСрезПоследних.Цена > 0
        |
        |СГРУППИРОВАТЬ ПО
        |    ЦеныНоменклатурыСрезПоследних.Цена";
    Запрос.УстановитьПараметр("ВидЦены", Справочники.ВидыЦен.НайтиПоНаименованию("Цена приобретения"));
//Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
    Запрос.УстановитьПараметр("Дата", Объект.Дата);
    Выборка = Запрос.Выполнить().Выбрать();
    Для каждого Тч из Объект.Товары Цикл
        ТЧ.ценаприобретения = Выборка.Цена;
        КонецЦикла;
Показать
По теме из базы знаний
Найденные решения
8. voloom 37 24.03.21 14:01 Сейчас в теме
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены И Номенклатура В 
 (&Номенклатура)
 )
) КАК ЦеныНоменклатурыСрезПоследних
Показать


Если документ новый, то в качестве параметра Номенклатура выгрузите табличную часть
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Dimony4 3 24.03.21 13:39 Сейчас в теме
Какие значения принимают:
1. Запрос.Параметры.ВидЦены
2. Запрос.Параметры.Дата
?
3. FatPanzer 24.03.21 13:42 Сейчас в теме
(1) Интересно, что вы ожидали увидеть в Выборка.Цена? Если вы выборку еще даже не открыли, и ни одной строки оттуда не выбрали...
4. voloom 37 24.03.21 13:42 Сейчас в теме
У вас ни в запросе, ни в цикле нет отбора по номенклатуре. Которую цену должна отобразить программа?
5. Evgen13 24.03.21 13:48 Сейчас в теме
ВЫБРАТЬ
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
	КоммерческоеПредложениеКлиенту.Ссылка КАК Ссылка
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
			ПО (КоммерческоеПредложениеКлиентуТовары.Ссылка = КоммерческоеПредложениеКлиенту.Ссылка)
		ПО (КоммерческоеПредложениеКлиентуТовары.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка)
ГДЕ
	КоммерческоеПредложениеКлиенту.Ссылка = &Ссылка
	И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены

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



Вот смотрите, сейчас он берет запросом то коммерческое предложение, цену приобретения, но выводит всю историю изменения цен, помогите, чтобы он добавлял только последнюю цену
7. FatPanzer 24.03.21 13:59 Сейчас в теме
(5) 1. И зачем вы документ сами с собой соединяете?
2. А если документ новый? У него нет ссылки.
9. Evgen13 24.03.21 14:01 Сейчас в теме
(7)
это я в консоли запросов делаю, потом то естественно параметры поставлю
6. voloom 37 24.03.21 13:58 Сейчас в теме
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены И Номенклатура В 
 (ВЫБРАТЬ
     таб.Номенклатура
 ИЗ 
    Документ.КоммерческоеПредложениеКлиенту.Товары КАК таб
ГДЕ
    таб.Ссылка = &Ссылка

 )
) КАК ЦеныНоменклатурыСрезПоследних      
Показать
8. voloom 37 24.03.21 14:01 Сейчас в теме
ВЫБРАТЬ
    ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
    ЦеныНоменклатурыСрезПоследних.Период КАК Период,
    ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
    РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены И Номенклатура В 
 (&Номенклатура)
 )
) КАК ЦеныНоменклатурыСрезПоследних
Показать


Если документ новый, то в качестве параметра Номенклатура выгрузите табличную часть
10. Evgen13 24.03.21 14:07 Сейчас в теме
(8)

 ВЫБРАТЬ РАЗЛИЧНЫЕ
	ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
	МАКСИМУМ(ЦеныНоменклатурыСрезПоследних.Период) КАК Период,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура КАК Номенклатура,
	КоммерческоеПредложениеКлиенту.Ссылка КАК Ссылка
ИЗ
	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&дата, ) КАК ЦеныНоменклатурыСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту.Товары КАК КоммерческоеПредложениеКлиентуТовары
			ЛЕВОЕ СОЕДИНЕНИЕ Документ.КоммерческоеПредложениеКлиенту КАК КоммерческоеПредложениеКлиенту
			ПО (КоммерческоеПредложениеКлиентуТовары.Ссылка = КоммерческоеПредложениеКлиенту.Ссылка)
		ПО (КоммерческоеПредложениеКлиентуТовары.Номенклатура.Ссылка = ЦеныНоменклатурыСрезПоследних.Номенклатура.Ссылка)
ГДЕ
	КоммерческоеПредложениеКлиенту.Ссылка = &Ссылка
	И ЦеныНоменклатурыСрезПоследних.ВидЦены = &ВидЦены

СГРУППИРОВАТЬ ПО
	КоммерческоеПредложениеКлиенту.Ссылка,
	КоммерческоеПредложениеКлиентуТовары.Номенклатура,
	ЦеныНоменклатурыСрезПоследних.Цена
АВТОУПОРЯДОЧИВАНИЕ
Показать


Вот так вот мне отбирает то что нужно, но цены берет за все периоды
а нужнео последнюю
14. Evgen13 24.03.21 14:21 Сейчас в теме
(8)
ВЫБРАТЬ
ЦеныНоменклатурыСрезПоследних.Цена КАК Цена,
ЦеныНоменклатурыСрезПоследних.Период КАК Период,
ЦеныНоменклатурыСрезПоследних.Номенклатура КАК Номенклатура
ИЗ
РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Период, ВидЦены = &ВидЦены И Номенклатура В
(&Номенклатура)
)
) КАК ЦеныНоменклатурыСрезПоследних


а цикл тогда какой будет?
11. stein13 9 24.03.21 14:11 Сейчас в теме
не проще ли в момент заполнения табличной части обращаться к регистру ЦеныНоменклатурыСрезПоследних, а не пихать все в один запрос?
12. Evgen13 24.03.21 14:12 Сейчас в теме
13. Evgen13 24.03.21 14:18 Сейчас в теме
(11)

вообще хочу по кнопке , чтобы все это дело выводилось
Оставьте свое сообщение

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