Имя: Пароль:
1C
1С v8
Объединение таблиц во вложенном запросе
0 Sanchez777
 
25.12.13
11:55
Помогите пожалуйста разобраться. Нужно получить данные одного д-та в котором две табличные части, т.е. получить первую ТЧ потом вторую ТЧ и все это объединить чтобы получилась одна строка через "Объединить ВСЕ"
Текст Запроса:
ВЫБРАТЬ
        ПланированиеПроизводстваВышивкиРаботы.Дата КАК Дата,
        ПланированиеПроизводстваВышивкиРаботы.Смена КАК Смена,
        ПланированиеПроизводстваВышивкиРаботы.Машина КАК Машина,
        ПланированиеПроизводстваВышивкиРаботы.Оператор КАК Оператор,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка.Контрагент КАК Контрагент,
        ПланированиеПроизводстваВышивкиРаботы.Деталь КАК Деталь,
        ПланированиеПроизводстваВышивкиРаботы.Вышивка КАК Вышивка,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков КАК КоличествоСтежковПлан,
        ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоПлан,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков * ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоСтежковВсегоПлан,
        0 КАК Цена,
        0 КАК Сумма,
        0 КАК РасчетнаяСтоимостьРаботыМашины,
        0 КАК Разница,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков КАК КоличествоСтежков,
        ПланированиеПроизводстваВышивкиРаботы.Количество КАК Количество,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков * ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоСтежковВсего,
        ПланированиеПроизводстваВышивкиРаботы.ВремяВыполненияРабот КАК Время,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка КАК Регистратор,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка.Номер КАК Номер,
        "" КАК НомерМК
    ИЗ
        Документ.ПланированиеПроизводстваВышивки.Работы КАК ПланированиеПроизводстваВышивкиРаботы
    ГДЕ
        //ПланированиеПроизводстваВышивкиРаботы.Дата МЕЖДУ &ДатаНачала И &ДатаКонца
         ПланированиеПроизводстваВышивкиРаботы.Ссылка = &Ссылка
    
    ОБЪЕДИНИТЬ
    
    ВЫБРАТЬ
        ПланированиеПроизводстваВышивкиВышивка.Ссылка.Дата,
        ЗНАЧЕНИЕ(Справочник.Смены.пустаяСсылка),
        ЗНАЧЕНИЕ(Справочник.Машины.пустаяСсылка),
        ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.пустаяСсылка),
        ПланированиеПроизводстваВышивкиВышивка.Ссылка.Контрагент,
        ПланированиеПроизводстваВышивкиВышивка.Деталь,
        ПланированиеПроизводстваВышивкиВышивка.Вышивка,
        ПланированиеПроизводстваВышивкиВышивка.КоличествоСтежков,
        ПланированиеПроизводстваВышивкиВышивка.Количество,
        ПланированиеПроизводстваВышивкиВышивка.КоличествоСтежков * ПланированиеПроизводстваВышивкиВышивка.Количество,
        ПланированиеПроизводстваВышивкиВышивка.Цена,
        ПланированиеПроизводстваВышивкиВышивка.Сумма,
        ПланированиеПроизводстваВышивкиВышивка.РасчетнаяСтоимостьРаботыМашины,
        ПланированиеПроизводстваВышивкиВышивка.Разница,
        0,
        0,
        0,
        0,
        ПланированиеПроизводстваВышивкиВышивка.Ссылка,
        ПланированиеПроизводстваВышивкиВышивка.Ссылка.Номер,
        ""
    ИЗ
        Документ.ПланированиеПроизводстваВышивки.Вышивка КАК ПланированиеПроизводстваВышивкиВышивка
    ГДЕ
        ПланированиеПроизводстваВышивкиВышивка.Ссылка = &ССылка

В результате получаю 2 строки, а нужно 1
1 Sabbath
 
25.12.13
11:56
(0) что ты в этой строке хочешь увидеть? И почему одна, если в ТЧ может быть куча строк?
2 Maxus43
 
25.12.13
11:57
потом надо сгруппировать ещё. Но у тебя не получится просто так, значения разные всё равно.
Тут соединение больше подойдёт, чем Объеденить
3 ДенисЧ
 
25.12.13
11:57
внутреннее соединение по ссылка.
4 Maxus43
 
25.12.13
11:57
(3) херня получится какая-то
5 Sanchez777
 
25.12.13
11:58
через ОБЪЕДИНИТЬ ВСЕ тоже пробовал, результат тот же. По отдельности запросы работают правильно.
6 Sanchez777
 
25.12.13
12:05
Sabbath, хочу увидеть строку Дата, Смена, Машина, Оператор Контраген,Деталь,Вышивка и т.д. Конкретно Смена,Машина, Оператор есть только во 2й ТЧ, в 1й ТЧ их нет, соответственно в консоли показывает пустые поля, т.е. объединения не происходит, хотя данные в д-те есть.
Да в ТЧ может быть куча строк, но в конкретном примере который я тестирую по одной строке
7 Maxus43
 
25.12.13
12:05
(5) Объеденить - ты просто к первому запросу снизу добавляешь второй. с какой стати там строки должны сворачиваться?
8 ДенисЧ
 
25.12.13
12:06
(4) да тут уже и так она самая.
9 Sanchez777
 
25.12.13
12:09
Maxus43, а как правильно тогда сделать, чтобы строки свернулись?
10 cw014
 
25.12.13
12:13
ЗНАЧЕНИЕ(Справочник.Смены.пустаяСсылка),
        ЗНАЧЕНИЕ(Справочник.Машины.пустаяСсылка),
        ЗНАЧЕНИЕ(Справочник.ФизическиеЛица.пустаяСсылка),

Вот это добро не даст тебе свернуть
11 cw014
 
25.12.13
12:15
ВЫБРАТЬ
        ПланированиеПроизводстваВышивкиРаботы.Дата КАК Дата,

        ПланированиеПроизводстваВышивкиРаботы.Смена КАК Смена,
        ПланированиеПроизводстваВышивкиРаботы.Машина КАК Машина,
        ПланированиеПроизводстваВышивкиРаботы.Оператор КАК Оператор,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка.Контрагент КАК Контрагент,
        ПланированиеПроизводстваВышивкиРаботы.Деталь КАК Деталь,
        ПланированиеПроизводстваВышивкиРаботы.Вышивка КАК Вышивка,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков КАК КоличествоСтежковПлан,
        ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоПлан,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков * ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоСтежковВсегоПлан,
        ПланированиеПроизводстваВышивкиВышивка.Цена,
        ПланированиеПроизводстваВышивкиВышивка.Сумма,
        ПланированиеПроизводстваВышивкиВышивка.РасчетнаяСтоимостьРаботыМашины,
        ПланированиеПроизводстваВышивкиВышивка.Разница,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков КАК КоличествоСтежков,
        ПланированиеПроизводстваВышивкиРаботы.Количество КАК Количество,
        ПланированиеПроизводстваВышивкиРаботы.КоличествоСтежков * ПланированиеПроизводстваВышивкиРаботы.Количество КАК КоличествоСтежковВсего,
        ПланированиеПроизводстваВышивкиРаботы.ВремяВыполненияРабот КАК Время,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка КАК Регистратор,
        ПланированиеПроизводстваВышивкиРаботы.Ссылка.Номер КАК Номер,
        "" КАК НомерМК
    ИЗ
        Документ.ПланированиеПроизводстваВышивки.Работы КАК ПланированиеПроизводстваВышивкиРаботы
    ЛЕВОЕ СОЕДИНЕНИЕ Документ.ПланированиеПроизводстваВышивки.Вышивка КАК ПланированиеПроизводстваВышивкиВышивка
    ПО ПланированиеПроизводстваВышивкиРаботы.Ссылка = ПланированиеПроизводстваВышивкиВышивка.Ссылка
    И ПланированиеПроизводстваВышивкиРаботы.НомерСтроки = ПланированиеПроизводстваВышивкиВышивка.НомерСтроки
    ГДЕ
        ПланированиеПроизводстваВышивкиРаботы.Ссылка = &Ссылка
12 Sanchez777
 
25.12.13
12:17
cw014 Почему не даст свернуть? я посмотрел по типам Смена,Машина и Оператор это у меня справочники поэтому поставил ЗНАЧЕНИЕ(Справочник.НазваниеСправочника.пустаяСсылка), ведь ставить 0 или "" не верно.
13 cw014
 
25.12.13
12:20
(12) Потому что это ссылочные объекты. Если ты их суммировать сможешь - флаг тебе в руки
14 Sanchez777
 
25.12.13
12:22
cw014 спасибо тебе большое!!! все работает, круто. и всем остальным, ребята спасибо за помощь!!!