Имя: Пароль:
1C
1С v8
Выбранные поля в СКД/построителе
0 Боброта
 
29.09.16
14:13
Вот несколько простых запросов:

ВЫБРАТЬ
    ВложенныйЗапрос.Ссылка,
    ВложенныйЗапрос.Наименование,
    ВложенныйЗапрос.ЭтоГруппа
{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
ИЗ
    (ВЫБРАТЬ
        Контрагенты.Ссылка КАК Ссылка,
        Контрагенты.Наименование КАК Наименование,
        Контрагенты.ЭтоГруппа КАК ЭтоГруппа
    {ВЫБРАТЬ
        Ссылка.*,
        Наименование,
        ЭтоГруппа}
    ИЗ
        Справочник.Контрагенты КАК Контрагенты
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Организации.Ссылка,
        Организации.Наименование,
        Организации.ЭтоГруппа
    {ВЫБРАТЬ
        Ссылка.*,
        Наименование,
        ЭтоГруппа}
    ИЗ
        Справочник.Организации КАК Организации) КАК ВложенныйЗапрос


ВЫБРАТЬ
    ВложенныйЗапрос.Ссылка,
    ВложенныйЗапрос.Наименование,
    ВложенныйЗапрос.ЭтоГруппа
{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
ИЗ
    (ВЫБРАТЬ
        Контрагенты.Ссылка КАК Ссылка,
        Контрагенты.Наименование КАК Наименование,
        Контрагенты.ЭтоГруппа КАК ЭтоГруппа
    ИЗ
        Справочник.Контрагенты КАК Контрагенты
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Организации.Ссылка,
        Организации.Наименование,
        Организации.ЭтоГруппа
    ИЗ
        Справочник.Организации КАК Организации) КАК ВложенныйЗапрос


ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ЭтоГруппа КАК ЭтоГруппа
{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
ИЗ
    Справочник.Контрагенты КАК Контрагенты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Организации.Ссылка,
    Организации.Наименование,
    Организации.ЭтоГруппа
ИЗ
    Справочник.Организации КАК Организации


ВЫБРАТЬ
    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ЭтоГруппа КАК ЭтоГруппа
{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
ИЗ
    Справочник.Контрагенты КАК Контрагенты

ОБЪЕДИНИТЬ ВСЕ

ВЫБРАТЬ
    Организации.Ссылка,
    Организации.Наименование,
    Организации.ЭтоГруппа
{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
ИЗ
    Справочник.Организации КАК Организации


Результат в отчете на СКД, вроде бы, всегда получается один и тот же.
В каких случаях будут разные результаты?
Если в любом случае будет одно и то же, для чего оставлено такое многообразие возможностей сделать одно и то же?
1 DrShad
 
29.09.16
14:14
какой-то бред
2 Боброта
 
29.09.16
14:20
(1) В чем бред?
3 Боброта
 
29.09.16
14:30
Больше никто не ответит?
4 aleks_default
 
29.09.16
15:32
42
5 Боброта
 
29.09.16
16:13
(4) ?
6 kuzyara3
 
29.09.16
17:15
А почему у тебя в запросах везде фигурные скобки присутствуют?
7 kuzyara3
 
29.09.16
17:18
Что означают фигурные скобки в запросе?
есть подозрение что комментарий

v8: Фигурные скобки в запросе
8 Боброта
 
29.09.16
17:19
(6) C тем, что в этих фигурных скобках вопросы и связаны.
9 Боброта
 
29.09.16
17:19
(7) Это не комментарии. Это инструкции для СКД или построителя.
10 Боброта
 
29.09.16
17:24
Если кто не понял, уточню:

В этих запросах в разных местах указано то, что в фигурных скобках. В некоторых запросах эти инструкции присутствуют дважды.

Результат один и тот же.
Для чего это нужно именно в отношении выбранных полей?
С отбором - понятно.
11 kuzyara3
 
29.09.16
17:37
(10) Почитал про эти инструкции, похоже что для выбранных полей они работают так же, как и для отборов.
12 Боброта
 
29.09.16
17:58
(11) Да. Спасибо, что откликнулись )

Сделал такой запрос и всё стало понятно:

ВЫБРАТЬ
    ВЗ.Ссылка КАК Ссылка,
    ВЗ.Наименование КАК Наименование
{ВЫБРАТЬ
    Ссылка.* КАК ТраТаТа,
    Наименование КАК БамБам}
ИЗ
    (ВЫБРАТЬ
        Контрагенты.Ссылка КАК Ссылка,
        Контрагенты.Наименование КАК Наименование
    {ВЫБРАТЬ
        Ссылка.*,
        Наименование}
    ИЗ
        Справочник.Контрагенты КАК Контрагенты
    
    ОБЪЕДИНИТЬ ВСЕ
    
    ВЫБРАТЬ
        Организации.Ссылка,
        Организации.Наименование
    ИЗ
        Справочник.Организации КАК Организации) КАК ВЗ
13 kuzyara3
 
29.09.16
18:06
мне вот эта вот кнопка помогает:
https://yadi.sk/i/TGTxaMAxvtw7X
14 hhhh
 
29.09.16
18:09
(12) выкинь ты эти фигурные скобки. В скд они не нужны. Вот охота запрос захламлять всякой фигней.
15 Боброта
 
30.09.16
10:25
(14) У нас некоторые отчеты с использованием построителя отчетов сделаны, там это нужно...

А что, в СКД вообще без этого обойтись можно? Не бывает случаев, когда это нужно? Для чего тогда там оставили эти инструкции?
Я просто не знаю, поэтому спрашиваю...
16 DrZombi
 
гуру
30.09.16
10:26
(2) Зачем тебе это?

{ВЫБРАТЬ
    Ссылка.*,
    Наименование,
    ЭтоГруппа}
17 DrZombi
 
гуру
30.09.16
10:26
+ Вот условие в построителе имеет смысл использовать :)
18 DrZombi
 
гуру
30.09.16
10:27
(15) У тебя поля вида

    Контрагенты.Ссылка КАК Ссылка,
    Контрагенты.Наименование КАК Наименование,
    Контрагенты.ЭтоГруппа КАК ЭтоГруппа

Ужеесть... ты просто дублируешь :)
19 DrZombi
 
гуру
30.09.16
10:28
+(16) Если еще подробнее, они у тебя какие то неопределенные, без приставки "КАК"
20 DrZombi
 
гуру
30.09.16
10:28
(13) Лузер
21 Боброта
 
30.09.16
10:33
(18) Запросы с этими двумя справочниками и такими полями я просто для примера привел, т.к., они в большинстве конфигураций есть...

У нас много отчетов на построителе, в них эти инструкции повторяют одни и те же поля во вложенных запросах, объединениях и т.п. Разобраться захотелось...
22 hhhh
 
30.09.16
10:43
(21) зачем с ними разбираться? У вас есть прекрасная возможность полностью освободиться от этого ненужного хлама.

Всё равно на СКД вы всё перепишете на временные таблицы и пакеты запросов. Неужели вы решили по старинке пользоваться этими многоэтажными вложенными запросами?
23 DrZombi
 
гуру
30.09.16
10:43
(21) Я и пишу, Писатель запросов Профан :)
24 EuVod
 
29.10.16
00:00
В ряде случаев вы в СКД будете снимать галку "автозаполнение" и вот тогда все что вы указываете на закладке "компоновка данных" будет проявляться в виде инструкций в фигурных скобках.

В частности все {Выбрать *  - дают доступные поля (т.е. в запросе то вы укажете выбрать, но без фигурных скобок вы не сможете эти поля использовать в результатах. В промежуточных вычислениях при формировании запроса компоновщиков СКД не уверен какое будет поведение системы).

{где - укажет на что именно будут распространятся отборы. Иногда это очень удобно, когда у вас например есть поле номенклатура в разных временных таблицах и отбор номенклатура и этот отбор надо наложить не всегда, а только в конкретных таблицах и т.п.
Ошибка? Это не ошибка, это системная функция.