Вход | Регистрация

1С:Предприятие ::

Метки: 

Запрос к регистру сведений

Я
   treor
 
26.07.18 - 12:13
Здравствуйте.
Есть документ "ТребованиеНакладная". Из его табличной части "Материалы" нужно отобрать только те строки, где в качестве счета учета указан 43 счет. Из таб.части есть реквизиты Номенклатура, Партия, Склад, Счет и Количество.
Кроме этих данных нужна еще Цена партии. Она храниться в регистре сведений (измерения: Номенклатура, Партия, Склад, Счет; ресурс: цена).
Вопрос: можно ли как-нибудь выбранные данные из таб.части документа передавать в регистр сведений, чтобы по этим записям сразу получать цену? Вроде отбора
Пока таб.часть обрабатываю во вложенном запросе и затем через левое соединение с регистром получаю цену. Работает. Но мне кажется, что есть более оптимальный вариант решения
 
  Рекламное место пустует
   treor
 
1 - 26.07.18 - 12:13
Запрос.Текст = "ВЫБРАТЬ
                   |    НоменклатураДокументаПо43.Счет,
                   |    НоменклатураДокументаПо43.Склад,
                   |    НоменклатураДокументаПо43.Номенклатура,
                   |    НоменклатураДокументаПо43.Партия,
                   |    НоменклатураДокументаПо43.Количество,
                   |    ЮИ_СебестоимостьПродукцииСрезПоследних.Цена
                   |ИЗ
                   |    (ВЫБРАТЬ
                   |        ТребованиеНакладнаяМатериалы.Счет КАК Счет,
                   |        ТребованиеНакладнаяМатериалы.Ссылка.Склад КАК Склад,
                   |        ТребованиеНакладнаяМатериалы.Номенклатура КАК Номенклатура,
                   |        ТребованиеНакладнаяМатериалы.Партия КАК Партия,
                   |        ТребованиеНакладнаяМатериалы.Количество КАК Количество
                   |    ИЗ
                   |        Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
                   |    ГДЕ
                   |        ТребованиеНакладнаяМатериалы.Счет = &Счет
                   |        И ТребованиеНакладнаяМатериалы.Ссылка = &Ссылка) КАК НоменклатураДокументаПо43
                   |        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЮИ_СебестоимостьПродукции.СрезПоследних(&Период, Регистратор = &Ссылка) КАК ЮИ_СебестоимостьПродукцииСрезПоследних
                   |        ПО НоменклатураДокументаПо43.Номенклатура = ЮИ_СебестоимостьПродукцииСрезПоследних.Номенклатура
                   |            И НоменклатураДокументаПо43.Партия = ЮИ_СебестоимостьПродукцииСрезПоследних.Партия
                   |            И НоменклатураДокументаПо43.Склад = ЮИ_СебестоимостьПродукцииСрезПоследних.Склад
                   |            И НоменклатураДокументаПо43.Счет = ЮИ_СебестоимостьПродукцииСрезПоследних.Счет";
   treor
 
2 - 26.07.18 - 12:15
(1) сори, код с ошибкой исправленный:

ВЫБРАТЬ
    НоменклатураДокументаПо43.Счет,
    НоменклатураДокументаПо43.Склад,
    НоменклатураДокументаПо43.Номенклатура,
    НоменклатураДокументаПо43.Партия,
    НоменклатураДокументаПо43.Количество,
    ЮИ_СебестоимостьПродукцииСрезПоследних.Цена
ИЗ
    (ВЫБРАТЬ
        ТребованиеНакладнаяМатериалы.Счет КАК Счет,
        ТребованиеНакладнаяМатериалы.Ссылка.Склад КАК Склад,
        ТребованиеНакладнаяМатериалы.Номенклатура КАК Номенклатура,
        ТребованиеНакладнаяМатериалы.Партия КАК Партия,
        ТребованиеНакладнаяМатериалы.Количество КАК Количество
    ИЗ
        Документ.ТребованиеНакладная.Материалы КАК ТребованиеНакладнаяМатериалы
    ГДЕ
        ТребованиеНакладнаяМатериалы.Счет = &Счет
        И ТребованиеНакладнаяМатериалы.Ссылка = &Ссылка) КАК НоменклатураДокументаПо43
        ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЮИ_СебестоимостьПродукции.СрезПоследних(&Период, ) КАК ЮИ_СебестоимостьПродукцииСрезПоследних
        ПО НоменклатураДокументаПо43.Номенклатура = ЮИ_СебестоимостьПродукцииСрезПоследних.Номенклатура
            И НоменклатураДокументаПо43.Партия = ЮИ_СебестоимостьПродукцииСрезПоследних.Партия
            И НоменклатураДокументаПо43.Склад = ЮИ_СебестоимостьПродукцииСрезПоследних.Склад
            И НоменклатураДокументаПо43.Счет = ЮИ_СебестоимостьПродукцииСрезПоследних.Счет
   Малыш Джон
 
3 - 26.07.18 - 12:18
1)перетащи в ВТ выборку из табчасти
2)предварительно сделай отбор в параметрах среза последнего:
(Номенклатура, Партия, Склад, Счет) В ( ВЫБРАТЬ Номенклатура, Партия, Склад, Счет Из ВТ)
3) соедини ВТ и срез
   treor
 
4 - 26.07.18 - 12:21
(3) спасибо, попробую


Список тем форума
Рекламное место пустует  
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Рекламное место пустует