Имя: Пароль:
1C
1С v8
Подскажите, пожалуйста, как можно улучшить запрос
,
0 nature2002
 
29.03.19
12:30
"ВЫБРАТЬ
    |    ТаблицаОстатков.Субконто1,
    |    ТаблицаОстатков.Субконто2,
    |    ТаблицаОстатков.Субконто3,
    |    ТаблицаОстатков.Субконто4,
    |    ТаблицаОстатков.Субконто5
    |ПОМЕСТИТЬ ВтТаблицаОстатков
    |ИЗ
    |    &ТаблицаОстатков КАК ТаблицаОстатков
    |;
    |
    |////////////////////////////////////////////////////////////////////////////////
    |ВЫБРАТЬ РАЗЛИЧНЫЕ
    |    ВЫБОР
    |        КОГДА ВтТаблицаОстатков.Субконто1 ССЫЛКА Справочник.Инструменты
    |            ТОГДА ВтТаблицаОстатков.Субконто1
    |        КОГДА ВтТаблицаОстатков.Субконто2 ССЫЛКА Справочник.Инструменты
    |            ТОГДА ВтТаблицаОстатков.Субконто2
    |        КОГДА ВтТаблицаОстатков.Субконто3 ССЫЛКА Справочник.Инструменты
    |            ТОГДА ВтТаблицаОстатков.Субконто3
    |        КОГДА ВтТаблицаОстатков.Субконто4 ССЫЛКА Справочник.Инструменты
    |            ТОГДА ВтТаблицаОстатков.Субконто4
    |        КОГДА ВтТаблицаОстатков.Субконто5 ССЫЛКА Справочник.Инструменты
    |            ТОГДА ВтТаблицаОстатков.Субконто5
    |        ИНАЧЕ ЗНАЧЕНИЕ(Справочник.Инструменты.ПустаяСсылка)
    |    КОНЕЦ КАК Инструмент
    |ИЗ
    |    ВтТаблицаОстатков КАК ВтТаблицаОстатков";
1 formista2000
 
29.03.19
12:33
Какая интересная у вас, оказывается, структура и методика учёта однако! :-/
2 Рэйв
 
29.03.19
12:36
У тебя если Справочник.Инструменты, то отработает только ВтТаблицаОстатков.Субконто1
В остальные условия не зайдет
3 1Сергей
 
29.03.19
12:39
(2) чо?
4 Рэйв
 
29.03.19
12:40
Выполни для прикола в консоли
ВЫБРАТЬ ПЕРВЫЕ 1
    Выбор Когда Истина Тогда 1
          Когда Истина Тогда 2
          Когда Истина Тогда 3
    Конец Оно
5 Рэйв
 
29.03.19
12:40
(4)->(3)
6 1Сергей
 
29.03.19
12:41
(4) и чо?

ВтТаблицаОстатков.Субконто1 не обязательно инструменты
7 Nyoko
 
29.03.19
12:42
Архитектор 1с 80+ LVL )))
8 Рэйв
 
29.03.19
12:42
(6)Если не инструменты, то оно уйдет в Иначе. А остальные условия тут тогда ни к чему, в них никогда не попадет
9 1Сергей
 
29.03.19
12:43
(8) почему?
Если Субконто1 не Инструменты, а Субконто2 Инструменты, то вернёт Субконто2
10 Рэйв
 
29.03.19
12:44
(9)А.. вообще то точно:-) ..Мне померещилось, что там везде Субконто1 :-)
Тогда реплика (2) снимается
11 Nyoko
 
29.03.19
12:44
(9) а если они все инструменты )))
12 1Сергей
 
29.03.19
12:45
(11) Ну, не буду я Вас логике учить, ладно? :)
13 Рэйв
 
29.03.19
12:45
(12)Да, я тоже думаю, что  обойдемся:-)
14 singlych
 
29.03.19
12:48
Не, ну если ожидается именно то, что запрос делает, то норм, мне кажется.
15 Chameleon1980
 
29.03.19
12:51
вернемся к баранам

куда тут упрощять (улучшать)?
16 VS-1976
 
29.03.19
12:54
(15) Если нужны все ссылки на Справочник.Инструменты, то запрос потенциально даже будет некорректным...
17 unregistered
 
29.03.19
12:55
(0) Оптимизировать надо раньше. Ещё при получении таблицы остатков регистра бухгалтерии можно указать параметр "Субконто" и сразу получить остатки только по субконто нужного типа. И только если вид этого субконто предусматривает составной тип, то заморачиваться с операторами ВЫБОР и ССЫЛКА.

А в приведенном запросе особо ничего не оптимизируешь. Ибо исходные данные в &ТаблицаОстатков не оптимизированы.
18 Бычье сердце
 
29.03.19
14:14
(0)
Есть код, как таблица остатков получается? Тимур спрашивает.