Помощь - Поиск - Пользователи - Календарь
Полная версия этой страницы: Вопрос по "дополнению" строк Запроса из вложенного запроса
Украинский 1С форум: всё про 1С 8.3, 1С 8.2, 1С 8.1, 1С 8.0, 1С 7.7 > Программисту > Программирование в 1С Предприятие 8.3
AnryMc
Запрос выбирает из документов Номенклатуру и НомерЧертежа (НомерЧертежаНоменклатуры) (для каждой позиции номенклатуры свой)
Есть дополнительный справочник в котором указываются возможные замены:
Какой НомерЧертежа (НомерЧертижаЗамены) можно заменить на какой НомерЧертежа (НомерЧертежаСоответствия)

В запросе делается вложенный запрос к НомерамЧертежей замен

Объединение по НомерЧертежаНоменклатуры и НомерЧертижаЗамены

НУЖНО создать все возможные строки в которых будет НомерЧертежаНоменклатуры "плюс"
строки всех возможных НомерЧертежаСоответствия в одной колонке.


Т.е. должны получиться одинаковые строки из основного запроса по Номенклатуре с разными значениями в "НайденыеНомераЧертижей", где будет основной НомерЧертежаНоменклатуры и все варианты подмен из вложенного запроса (НомерЧертежаСоответствия)

Не могу понять как написать условие объединения.
alex-l1904
AnryMc @ Вчера, 18:02 необходимо зарегистрироваться для просмотра ссылки ,
можете навести приклад у вигляді таблиць які потрібно поєднати ?
AnryMc
Основная выборка

Номенклатура1 НомерЧертежа1
Номенклатура2 НомерЧертежа2
Номенклатура3 НомерЧертежа3
Номенклатура4 НомерЧертежа4
...
НоменклатураN НомерЧертежаN

Дополнительная выборка (вложенный запрос) что на что заменять (дополнять)

НомерЧертежа1 НомерЧертежа3
НомерЧертежа1 НомерЧертежа7

ДОЛЖНО ПОЛУЧИТСЯ

Номенклатура1 НомерЧертежа1
Номенклатура1 НомерЧертежа3
Номенклатура1 НомерЧертежа7
Номенклатура2 НомерЧертежа2
Номенклатура3 НомерЧертежа3
Номенклатура4 НомерЧертежа4
...
НоменклатураN НомерЧертежаN

т.е. остается первоначальная страница и добавляются строки со значениями замен из вложенного запроса
Макс1С
Приблизно так напевно:
ВЫБРАТЬ РАЗЛИЧНЫЕ
    Номенклатура.Ссылка КАК ТМЦ,
    Номенклатура.НомерЧертежа КАК НомерЧертежа
ПОМЕСТИТЬ ВрТ_ПочатковіДані
ИЗ
    Справочник.Номенклатура КАК Номенклатура
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗЛИЧНЫЕ
    ВрТ_ПочатковіДані.ТМЦ КАК ТМЦ,
    НомерЧертежаАналоги.НомерЧертежа КАК НомерЧертежа
ПОМЕСТИТЬ ВрТ_ТолькоАналоги
ИЗ
    ВрТ_ПочатковіДані КАК ВрТ_ПочатковіДані
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.НомерЧертежа.Аналоги КАК НомерЧертежаАналоги
        ПО ВрТ_ПочатковіДані.НомерЧертежа = НомерЧертежаАналоги.Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВложенныйЗапрос.ТМЦ КАК ТМЦ,
    ВложенныйЗапрос.НомерЧертежа КАК НомерЧертежа
ИЗ
    (ВЫБРАТЬ
        ВрТ_ПочатковіДані.ТМЦ КАК ТМЦ,
        ВрТ_ПочатковіДані.НомерЧертежа КАК НомерЧертежа
    ИЗ
        ВрТ_ПочатковіДані КАК ВрТ_ПочатковіДані
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        ВрТ_ТолькоАналоги.ТМЦ,
        ВрТ_ТолькоАналоги.НомерЧертежа
    ИЗ
        ВрТ_ТолькоАналоги КАК ВрТ_ТолькоАналоги) КАК ВложенныйЗапрос

УПОРЯДОЧИТЬ ПО
    ТМЦ
Для просмотра полной версии этой страницы, пожалуйста, пройдите по ссылке.