Здравствуйте. Есть документ Заказ Покупателя. В нем есть Договор, у которого установлен тип цен. И по этому типу цен документов "Установка цен номенклатуры" установлена цена. Как программно с модуля документа Заказ Покупателя получить эту цену?
УТП 8.3
---
Вам стоит обработать результат через выборку.
Я советую Вам воспользоваться консолью запросов, чтобы вы сразу наглядно смотрели возвращает ли ваш запрос что-то или нет.
---
Запрос к регистру установки цен на срез последних на дату документа с типом цены из договора по номенклатуре из табличной части.
---
не уверен праивльно ли понял
Так?

```1c
    Процедура ПолучитьЦену()

    ТипЦен = ЭтотОбъект.ДоговорКонтрагента.ТипЦен;

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

    Цена = Запрос.Выполнить().Выгрузить();

    Сообщить(Цена);

    КонецПроцедуры
```
---
https://forum.infostart.ru/forum9/topic74067/
Вот в этой теме есть рабочие варианты.
---
Сделал по аналогии и ошибка "Индекс находится за границами массива". Не могу понять, как получит эту цену..

```1c
    ТипЦен = ЭтотОбъект.ДоговорКонтрагента.ТипЦен;

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

    Запрос.УстановитьПараметр("ТипЦен", ТипЦен);
    Запрос.УстановитьПараметр("Дата", ЭтотОбъект.Дата);

    РезультатЗапроса = Запрос.Выполнить().Выгрузить();

    //Если ЦеныНоменклатуры.Количество()<>0 Тогда
    Сообщить(РезультатЗапроса[0].Цена);
```
---
Вы не умеете выполнять запросы с обработкой результата?
Для вас существует такой конструктор - воспользуйтесь , а не сочиняйте пургу с индексами....
---
Попробую, спасибо
---
Вам стоит обработать результат через выборку.
Я советую Вам воспользоваться консолью запросов, чтобы вы сразу наглядно смотрели возвращает ли ваш запрос что-то или нет.
---
| РегистрСведений.ЦеныНоменклатуры.СрезПоследних(&Дата, ) КАК

Спасибо Большое, очень помогли этой строчкой
---
Сообщить (Таблицу Значений) не получится....
А остальное почти верно...
Только вот вы получите тучу цен, как будете разгребать по номенклатуре?
Вы про товар совсем забыли?
---
рискну предположить что вам надо не список цен получить, а в документ поставить тип цен из договора. В типовых как правило после этого при добавлении товаров в таб часть, цены подставляются автоматически.
---
как правило после этого при добавлении товаров в таб часть, цены подставляются автоматически.
Мне нужно просто цену с регистра подставить в Табличную Часть
---
Проверьте, есть ли вообще в регистре цена для вашей номенклатуры с измерением "ТипЦен" как в договоре.
---
Сообщение было скрыто модератором.
---
рекомендую для этого использовать типовой функционал. Например вам так же придется менять сумму при изменении цены. В типовой это происходит автоматом.

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