Имя: Пароль:
1C
1С v8
Простой запрос
0 Два вопроса
 
16.12.13
08:57
Есть запрос:

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

СГРУППИРОВАТЬ ПО
    Номенклатура2.Наименование,
    Номенклатура2.Код,
    Св.Тест,
    Св.Товар.Наименование,
    Св.Товар.Код


и всё замечательно
Но...
1 Два вопроса
 
16.12.13
08:58
Изменяем его немного:


ВЫБРАТЬ
    Номенклатура2.Наименование,
    Св.Товар.Наименование,
    Номенклатура2.Код,
    Св.Товар.Код,
    Св.Тест,
    Св.Значение120
ИЗ
    Справочник.Номенклатура КАК Номенклатура2
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Номенклатура.Ссылка КАК Товар,
            1 КАК Тест,
            Св120.Значение КАК Значение120
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Св120
                ПО Номенклатура.Ссылка = Св120.Объект
        ГДЕ
            Св120.Свойство = &Зн120
        
        СГРУППИРОВАТЬ ПО
            Номенклатура.Ссылка,
            Св120.Значение) КАК Св
        ПО Номенклатура2.Ссылка = Св.Товар.Ссылка

СГРУППИРОВАТЬ ПО
    Номенклатура2.Наименование,
    Номенклатура2.Код,
    Св.Тест,
    Св.Товар.Наименование,
    Св.Товар.Код,
    Св.Значение120



и связь не работает
2 Два вопроса
 
16.12.13
08:59
Хотя вложенный запрос отдельно

ВЫБРАТЬ
            Номенклатура.Ссылка КАК Товар,
            1 КАК Тест,
            Св120.Значение КАК Значение120
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Св120
                ПО Номенклатура.Ссылка = Св120.Объект
        ГДЕ
            Св120.Свойство = &Зн120
        
        СГРУППИРОВАТЬ ПО
            Номенклатура.Ссылка,
            Св120.Значение


в консоли запросов заполняется нормально. И где ошибка в (1)?
3 Defender aka LINN
 
16.12.13
09:02
(2) Значит, свистишь. Или в (2) или в (0).
З.Ы. Условия "ПО Номенклатура2.Ссылка = Св.Товар.Ссылка" категорически мало. Рекомендую так:

ПО Номенклатура2.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка = Св.Товар.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка.Ссылка
4 fmrlex
 
16.12.13
09:02
Пробуй замени  

ПО Номенклатура2.Ссылка = Св.Товар.Ссылка
на
ПО Номенклатура2.Ссылка = Св.Товар
5 olegves
 
16.12.13
09:04
Св.Товар.Наименование,
    Св.Товар.Код,

это как-то не кошерно
6 Галахад
 
гуру
16.12.13
09:19
Что-то я совсем не понимаю нафига соединять таблицу "Номенклатуры" с таблицей "Номенклатуры".
В чем сакральный смысл?
7 fmrlex
 
16.12.13
09:27
(6) Это как хлопок одной ладонью. Учитель наверно ему задал коан разгадывать.
8 Два вопроса
 
16.12.13
09:49
(4) Уже менял. Уже даже делал ВЫРАЗИТЬ КАК СПРАВОЧНИК.НОМЕНКЛАТУРА  
Всё уже попробовал и со ссылкой, и без, и через выразить. Как только внутри вложенного запроса делаешь левое соединение с РС  отваливается связь с вложенной таблицей.
9 Два вопроса
 
16.12.13
09:49
(5) Пох, это же пример.
10 Два вопроса
 
16.12.13
09:51
(6) См. 8, это пример. Реальный запрос гораздо сложнее, но я столкнулся с ошибкой и решил написать пример попроще, который ТОЧНО ДОЛЖЕН соединяться. Но нихера не соединяет как только внутри добавляешь левое соединение с РС.
11 Два вопроса
 
16.12.13
09:52
(0) - работает, (1) - не работает, хотя (2) - работает. Почему?
12 Мимохожий Однако
 
16.12.13
09:54
цель запроса?
13 Два вопроса
 
16.12.13
09:57
ВЫБРАТЬ
    Номенклатура2.Ссылка,
    Св.Товар,
    Св.Тест,
    Св.Значение120
ИЗ
    Справочник.Номенклатура КАК Номенклатура2
        ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
            Номенклатура.Ссылка КАК Товар,
            1 КАК Тест,
            Св120.Значение КАК Значение120
        ИЗ
            Справочник.Номенклатура КАК Номенклатура
                ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК Св120
                ПО Номенклатура.Ссылка = Св120.Объект
        ГДЕ
            Св120.Свойство = &Зн120
        
        СГРУППИРОВАТЬ ПО
            Номенклатура.Ссылка,
            Св120.Значение) КАК Св
        ПО Номенклатура2.Ссылка = Св.Товар

СГРУППИРОВАТЬ ПО
    Номенклатура2.Ссылка,
    Св.Товар,
    Св.Тест,
    Св.Значение120


Вот так сработало. ОК, буду смотреть
14 Два вопроса
 
16.12.13
09:58
(12) Отладить другой более сложный запрос.
15 Два вопроса
 
16.12.13
09:58
Всё-таки она вертится...
16 Два вопроса
 
17.12.13
20:12
(16) Интересно что этот запрос (13) возвращает нормальный результат в Консоли отчетов, но в СКД дает только Номенклатура2.Ссылка, а остальные три поля выходят пустые.
17 Два вопроса
 
17.12.13
20:14
Параметр заполняется

    Элемент = КомпоновщикНастроек.Настройки.ПараметрыДанных.Элементы.Найти("Зн120");
    Элемент.Значение = ПланыВидовХарактеристик.СвойстваОбъектов.НайтиПоКоду("000000120");
18 Два вопроса
 
17.12.13
20:14
А счастья нет.
19 Два вопроса
 
17.12.13
20:35
Ладно, как-то удалось это победить, другое решение нашел.
Кaк может человек ожидaть, что его мольбaм о снисхождении ответит тот, кто превыше, когдa сaм он откaзывaет в милосердии тем, кто ниже его? Петр Трубецкой