Имя: Пароль:
1C
1С v8
Снова Построенный запрос к СУБД использует слишком много таблиц
0 LisaAlisa
 
30.09.15
08:27
Пожалуйста, помогите найти и исправить ошибку в запросе

ВЫБРАТЬ
    ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор КАК Документ.ПоступлениеТоваровУслуг) КАК Ссылка,
    "Документ" КАК Признак
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(
            &НачПериода,
            &КонПериода,
            Регистратор,
            Счет = &СчетРасчетов,
            ,
            Организация = &Организация
                И (ТИПЗНАЧЕНИЯ(Субконто3) = ТИП(Документ.ПоступлениеТоваровУслуг)
                    ИЛИ Субконто3 ЕСТЬ NULL
                    ИЛИ (ВЫРАЗИТЬ(Субконто3 КАК Документ.ПоступлениеТоваровУслуг)) = ЗНАЧЕНИЕ(Документ.ПоступлениеТоваровУслуг.ПустаяСсылка)),
            ,
            ) КАК ХозрасчетныйОбороты
ГДЕ
    (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто3 КАК Документ.ПоступлениеТоваровУслуг)) <> (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор КАК Документ.ПоступлениеТоваровУслуг))

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

ВЫБРАТЬ
    ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор КАК Документ.ПоступлениеТоваровУслуг),
    "Договор"
ИЗ
    РегистрБухгалтерии.Хозрасчетный.Обороты(
            &НачПериода,
            &КонПериода,
            Регистратор,
            Счет = &СчетРасчетов,
            ,
            Организация = &Организация
                И (ТИПЗНАЧЕНИЯ(Субконто2) = ТИП(Справочник.ДоговорыКонтрагентов)
                    ИЛИ Субконто2 ЕСТЬ NULL
                    ИЛИ (ВЫРАЗИТЬ(Субконто2 КАК Справочник.ДоговорыКонтрагентов)) = ЗНАЧЕНИЕ(Справочник.ДоговорыКонтрагентов.ПустаяСсылка)),
            ,
            ) КАК ХозрасчетныйОбороты
ГДЕ
    (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто2 КАК Справочник.ДоговорыКонтрагентов)) <> (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.ДоговорКонтрагента КАК Справочник.ДоговорыКонтрагентов))
1 Cyberhawk
 
30.09.15
08:28
А ошибка в чем?
2 LisaAlisa
 
30.09.15
08:33
ошибка обозначена в заголовке темы: Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256...
3 gigi789
 
30.09.15
08:37
(0)    И (ТИПЗНАЧЕНИЯ(Субконто3) = ТИП(Документ.ПоступлениеТоваровУслуг) избавится от этого
4 gigi789
 
30.09.15
08:37
(3) нужно тебе
5 jurassic
 
30.09.15
08:37
(3) с помощью ССЫЛКИ
6 LisaAlisa
 
30.09.15
09:04
Основной вопрос: почему данная ошибка появляется только у одного пользователя? у остальных ошибку отловить не удается
7 ДенисЧ
 
30.09.15
09:10
(6) У него включён РЛС? А у других нет?
8 LisaAlisa
 
30.09.15
09:14
(7) да, РЛС включен
9 ДенисЧ
 
30.09.15
09:15
вот и ответ...
Да ещё и скуль древний, как экскременты мамонта...
10 Cyberhawk
 
30.09.15
09:30
(2) покажи на картинке
11 LisaAlisa
 
30.09.15
09:35
12 LisaAlisa
 
30.09.15
09:36
13 LisaAlisa
 
30.09.15
09:37
14 Fragster
 
гуру
30.09.15
09:38
я б еще параметр виртуальной таблицы с субконто добавил, хотя хз, спасет ли... да и выразить я бы убрал, если без второй точки.
15 Aloex
 
30.09.15
09:38
Размести выполнение запроса в привилегированном модуле.
16 Lama12
 
30.09.15
09:39
(0) Обновите субд или переходите на постгри.
17 hhhh
 
30.09.15
09:40
вот это

                 ИЛИ Субконто2 ЕСТЬ NULL


вообще бред. Субконто2 здесь никогда не будет NULL

наверно

                 ИЛИ Субконто2 = НЕОПРЕДЕЛЕНО
18 Fragster
 
гуру
30.09.15
09:44
лажа тут:

ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор.ДоговорКонтрагента КАК Справочник.ДоговорыКонтрагентов)

надо не договор выражать, а регистратор
19 Fragster
 
гуру
30.09.15
09:45
вот это     (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Субконто3 КАК Документ.ПоступлениеТоваровУслуг)) <> (ВЫРАЗИТЬ(ХозрасчетныйОбороты.Регистратор КАК Документ.ПоступлениеТоваровУслуг))

заменить нафиг
20 LisaAlisa
 
30.09.15
10:11
кстати, проблемы появились именно когда второй запрос добавила
21 Гёдза
 
30.09.15
10:18
тут половина выразить не нужна. Да что там половина, почти все
22 Cyberhawk
 
30.09.15
10:35
Т.е. последнее условие можно сделать таким? :)

ГДЕ
    ХозрасчетныйОбороты.Субконто2 <> ХозрасчетныйОбороты.Регистратор.ДоговорКонтрагента
23 LisaAlisa
 
30.09.15
10:36
(19) заменить на что? мне нужно проверить, что в проводке в 3м субконто стоит документ-регистратор
24 Fragster
 
гуру
30.09.15
10:38
(22) Выразить(регистратор как поступление).договор
25 МихаилМ
 
30.09.15
10:39
26 LisaAlisa
 
30.09.15
10:52
(24) Браво! Спасибо!!!!!
27 Fragster
 
гуру
30.09.15
10:54
(26) везде, где нет двух точек убери выразить
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс