Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

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

Запрос к регистру сведений
Я
   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 или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует