Как программно получить цену по договору

1. Tailor_Made 09.10.19 12:51 Сейчас в теме
Здравствуйте. Есть документ Заказ Покупателя. В нем есть Договор, у которого установлен тип цен. И по этому типу цен документов "Установка цен номенклатуры" установлена цена. Как программно с модуля документа Заказ Покупателя получить эту цену?
УТП 8.3
По теме из базы знаний
Найденные решения
8. aklopyshko 09.10.19 13:53 Сейчас в теме
(6) Вам стоит обработать результат через выборку.
Я советую Вам воспользоваться консолью запросов, чтобы вы сразу наглядно смотрели возвращает ли ваш запрос что-то или нет.
Остальные ответы
Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. aezdakov 5 09.10.19 12:59 Сейчас в теме
Запрос к регистру установки цен на срез последних на дату документа с типом цены из договора по номенклатуре из табличной части.
3. Tailor_Made 09.10.19 13:17 Сейчас в теме
(2)не уверен праивльно ли понял
Так?
Процедура ПолучитьЦену()
	
	ТипЦен = ЭтотОбъект.ДоговорКонтрагента.ТипЦен;	
	
	Запрос = Новый Запрос;
	Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
	Запрос.УстановитьПараметр("Дата", ЭтотОбъект.Дата);
	Запрос.Текст ="ВЫБРАТЬ
	              |	ЦеныНоменклатурыСрезПоследних.Цена
	              |ИЗ
	              |	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
	              |ГДЕ
	              |	ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен";
	
	Цена = Запрос.Выполнить().Выгрузить();
		
	Сообщить(Цена);
	
КонецПроцедуры
Показать
4. aklopyshko 09.10.19 13:37 Сейчас в теме
https://forum.infostart.ru/forum9/topic74067/
Вот в этой теме есть рабочие варианты.
6. Tailor_Made 09.10.19 13:44 Сейчас в теме
(4)
Сделал по аналогии и ошибка "Индекс находится за границами массива". Не могу понять, как получит эту цену..
ТипЦен = ЭтотОбъект.ДоговорКонтрагента.ТипЦен;	
	
	Запрос = Новый Запрос;
	Запрос.Текст ="ВЫБРАТЬ
	              |	ЦеныНоменклатурыСрезПоследних.Цена
	              |ИЗ
	              |	РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК ЦеныНоменклатурыСрезПоследних
	              |ГДЕ
	              |	ЦеныНоменклатурыСрезПоследних.ТипЦен = &ТипЦен
	              |
	              |СГРУППИРОВАТЬ ПО
	              |	ЦеныНоменклатурыСрезПоследних.Цена";
				  
	Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
	Запрос.УстановитьПараметр("Дата", ЭтотОбъект.Дата);
	
	РезультатЗапроса = Запрос.Выполнить().Выгрузить();
 
	//Если ЦеныНоменклатуры.Количество()<>0 Тогда 
	Сообщить(РезультатЗапроса[0].Цена);
	
Показать
7. YannikAlx 43 09.10.19 13:51 Сейчас в теме
(6) Вы не умеете выполнять запросы с обработкой результата?
Для вас существует такой конструктор - воспользуйтесь , а не сочиняйте пургу с индексами....
10. Tailor_Made 09.10.19 14:02 Сейчас в теме
8. aklopyshko 09.10.19 13:53 Сейчас в теме
(6) Вам стоит обработать результат через выборку.
Я советую Вам воспользоваться консолью запросов, чтобы вы сразу наглядно смотрели возвращает ли ваш запрос что-то или нет.
15. setverg 04.05.23 14:36 Сейчас в теме
(3)
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК


Спасибо Большое, очень помогли этой строчкой
5. YannikAlx 43 09.10.19 13:39 Сейчас в теме
Сообщить (Таблицу Значений) не получится....
А остальное почти верно...
Только вот вы получите тучу цен, как будете разгребать по номенклатуре?
Вы про товар совсем забыли?
9. Lenten 25 09.10.19 14:01 Сейчас в теме
рискну предположить что вам надо не список цен получить, а в документ поставить тип цен из договора. В типовых как правило после этого при добавлении товаров в таб часть, цены подставляются автоматически.
11. Tailor_Made 09.10.19 14:04 Сейчас в теме
(9)
как правило после этого при добавлении товаров в таб часть, цены подставляются автоматически.

Мне нужно просто цену с регистра подставить в Табличную Часть
13. aklopyshko 09.10.19 14:13 Сейчас в теме
(11) Проверьте, есть ли вообще в регистре цена для вашей номенклатуры с измерением "ТипЦен" как в договоре.
14. пользователь 09.10.19 14:52
Сообщение было скрыто модератором.
...
12. Lenten 25 09.10.19 14:08 Сейчас в теме
рекомендую для этого использовать типовой функционал. Например вам так же придется менять сумму при изменении цены. В типовой это происходит автоматом.

например в ут 11 тип цен есть в таб чати. В ут 10.3 это реквизит документа. Посмотрите как у вас это сделано
Скорее всего вам вообще ничего переписывать не надо
Оставьте свое сообщение

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