Имя: Пароль:
1C
1С v8
Объединить две таблицы в одну
0 Gera1t
 
29.09.20
13:16
Есть запрос:
ВЫБРАТЬ
    ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
    ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
    ЗаказПокупателяЗапасы.Количество КАК Количество,
    ЗаказПокупателяЗапасы.Примечание КАК Примечание
ИЗ
    Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
ГДЕ
    ЗаказПокупателяЗапасы.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура КАК Номенклатура,
    ВТ.Характеристика КАК Характеристика,
    ВТ.Количество КАК Количество,
    ВТ.Примечание КАК Примечание,
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение КАК НашНомер,
    "" КАК НомерКлиента
ПОМЕСТИТЬ ВременнаяТаблица
ИЗ
    (ВЫБРАТЬ
        ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
        ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
        ЗаказПокупателяЗапасы.Количество КАК Количество,
        ЗаказПокупателяЗапасы.Примечание КАК Примечание
    ИЗ
        Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
    ГДЕ
        ЗаказПокупателяЗапасы.Ссылка = &Ссылка) КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
        ПО ВТ.Характеристика = ХарактеристикиНоменклатурыДополнительныеРеквизиты.Ссылка
ГДЕ
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство

ОБЪЕДИНИТЬ

ВЫБРАТЬ
    ВТ.Номенклатура,
    ВТ.Характеристика,
    ВТ.Количество,
    ВТ.Примечание,
    "",
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение
ИЗ
    (ВЫБРАТЬ
        ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
        ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
        ЗаказПокупателяЗапасы.Количество КАК Количество,
        ЗаказПокупателяЗапасы.Примечание КАК Примечание
    ИЗ
        Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
    ГДЕ
        ЗаказПокупателяЗапасы.Ссылка = &Ссылка) КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
        ПО ВТ.Характеристика = ХарактеристикиНоменклатурыДополнительныеРеквизиты.Ссылка
ГДЕ
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство1


Запрос выбирает из ТЧ документа данные, помещает их в временную таблицу, потом из характеристики выбирает 2 нужных свойства характеристики. Хочу объединить их в 1 таблицу, но не получается, помогите пожалуйста как мне их объелинить?
1 Gera1t
 
29.09.20
13:18
на выходе получаем задвоение таблицы с пустыми колонками НашНомер и НомерКлиента
2 zippygrill
 
29.09.20
13:20
может надо брать максимум по НашНомер чтобы свернулось, нет?
3 Gera1t
 
29.09.20
13:24
(2) не совсем понял что ты имел ввиду?
4 eTmy
 
29.09.20
13:26
10 лет стажа?)
5 Gera1t
 
29.09.20
13:26
почти)
6 Gera1t
 
29.09.20
13:32
я понимаю, что мне нужно объединить 2 строки, но должно получаться с строками
7 Gera1t
 
29.09.20
14:17
Может кому то будет интересно:
ВЫБРАТЬ
    ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
    ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
    ЗаказПокупателяЗапасы.Количество КАК Количество,
    ЗаказПокупателяЗапасы.Примечание КАК Примечание
ПОМЕСТИТЬ ВТ
ИЗ
    Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
ГДЕ
    ЗаказПокупателяЗапасы.Ссылка = &Ссылка
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура КАК Номенклатура,
    ВТ.Характеристика КАК Характеристика,
    ВТ.Количество КАК Количество,
    ВТ.Примечание КАК Примечание,
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение КАК НашНомер
ПОМЕСТИТЬ ВТНашНомер
ИЗ
    (ВЫБРАТЬ
        ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
        ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
        ЗаказПокупателяЗапасы.Количество КАК Количество,
        ЗаказПокупателяЗапасы.Примечание КАК Примечание
    ИЗ
        Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
    ГДЕ
        ЗаказПокупателяЗапасы.Ссылка = &Ссылка) КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
        ПО ВТ.Характеристика = ХарактеристикиНоменклатурыДополнительныеРеквизиты.Ссылка
ГДЕ
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТ.Номенклатура КАК Номенклатура,
    ВТ.Характеристика КАК Характеристика,
    ВТ.Количество КАК Количество,
    ВТ.Примечание КАК Примечание,
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Значение КАК НомерКлиента
ПОМЕСТИТЬ ВТНомерКлиента
ИЗ
    (ВЫБРАТЬ
        ЗаказПокупателяЗапасы.Номенклатура КАК Номенклатура,
        ЗаказПокупателяЗапасы.Характеристика КАК Характеристика,
        ЗаказПокупателяЗапасы.Количество КАК Количество,
        ЗаказПокупателяЗапасы.Примечание КАК Примечание
    ИЗ
        Документ.ЗаказПокупателя.Запасы КАК ЗаказПокупателяЗапасы
    ГДЕ
        ЗаказПокупателяЗапасы.Ссылка = &Ссылка) КАК ВТ
        ЛЕВОЕ СОЕДИНЕНИЕ Справочник.ХарактеристикиНоменклатуры.ДополнительныеРеквизиты КАК ХарактеристикиНоменклатурыДополнительныеРеквизиты
        ПО ВТ.Характеристика = ХарактеристикиНоменклатурыДополнительныеРеквизиты.Ссылка
ГДЕ
    ХарактеристикиНоменклатурыДополнительныеРеквизиты.Свойство = &Свойство1
;

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
    ВТНашНомер.Номенклатура КАК Номенклатура,
    ВТНашНомер.Характеристика КАК Характеристика,
    ВТНашНомер.Количество КАК Количество,
    ВТНашНомер.Примечание КАК Примечание,
    ВТНашНомер.НашНомер КАК НашНомер,
    ВТНомерКлиента.НомерКлиента КАК НомерКлиента
ИЗ
    ВТНашНомер КАК ВТНашНомер
        ПОЛНОЕ СОЕДИНЕНИЕ ВТНомерКлиента КАК ВТНомерКлиента
        ПО (ВТНашНомер.Номенклатура = ВТНомерКлиента.Номенклатура
                И ВТНашНомер.Характеристика = ВТНомерКлиента.Характеристика
                И ВТНашНомер.Количество = ВТНомерКлиента.Количество
                И ВТНашНомер.Примечание = ВТНомерКлиента.Примечание)



Вот так работает