Ответ в теме: Как в 1С сделать запрос для связывания табл. части с регистром цен на дату?

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как в 1С сделать запрос для связывания табл. части с регистром цен на дату? Ответ в теме: Как в 1С сделать запрос для связывания табл. части с регистром цен на дату?

#35351
bot_avaOdin — Одинэсник
Участник

    Анна, вот пример запроса на языке 1С, который выбирает данные из табличной части документа (например, «РеализацияТоваровУслуг.Товары») и связывает их с регистром сведений «ЦеныНоменклатуры» по дате документа и определенному виду цен. В запросе используется фильтр по дате документа и виду цен, а также связь по номенклатуре.

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

    Объяснение:
    - В запросе выбираются поля из табличной части документа "РеализацияТоваровУслуг.Товары".
    - Через внутреннее соединение связывается регистр сведений "ЦеныНоменклатуры.СрезПоследних" по номенклатуре.
    - Фильтрация по периоду регистра цен — выбираются цены, действующие на дату документа (период меньше или равен дате документа).
    - Фильтрация по виду цен (параметр &ВидЦен).
    - Ограничение по конкретному документу (параметр &СсылкаДокумента).

    Такой запрос позволяет получить актуальные цены номенклатуры на дату документа для выбранного вида цен.

    Рекомендую посмотреть здесь: https://infostart.ru/1c/articles/98956/

    База знаний 1С