Вход | Регистрация


Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 25

Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 25
Я
   olo_lo1
 
09.09.16 - 17:01
Делаю запрос:

ВЫБРАТЬ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Организация,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.Контрагент,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Реализация,
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток КАК СуммаЗадолженностиВсего,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
            ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности)
        ИНАЧЕ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата
    КОНЕЦ КАК СрокОплаты,
    ВЫБОР
        КОГДА &Период > ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
                    ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности + 1)
                ИНАЧЕ &Период
            КОНЕЦ
            ТОГДА ВЫБОР
                    КОГДА &Период > ВЫБОР
                            КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
                                ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности + 1)
                            ИНАЧЕ &Период
                        КОНЕЦ
                        ТОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток
                    ИНАЧЕ 0
                КОНЕЦ
        ИНАЧЕ 0
    КОНЕЦ КАК СуммаПросроченнойЗадолженности,
    ВЫБОР
        КОГДА &Период > ВЫБОР
                КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
                    ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности + 1)
                ИНАЧЕ &Период
            КОНЕЦ
            ТОГДА РАЗНОСТЬДАТ(ВЫБОР
                        КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
                            ТОГДА ДОБАВИТЬКДАТЕ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата, ДЕНЬ, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности + 1)
                        ИНАЧЕ &Период
                    КОНЕЦ, &Период, ДЕНЬ)
        ИНАЧЕ 0
    КОНЕЦ КАК Дней,
    ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Сделка.Ответственный, ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Ответственный) КАК ОтветственныйМенеджер,
    ЕСТЬNULL(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.ВалютаДокумента, ЗНАЧЕНИЕ(Справочник.Валюты.ПустаяСсылка)) КАК ВалютаВзаиморасчетов,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.КонтролироватьЧислоДнейЗадолженности = ИСТИНА
            ТОГДА " / По договору"
        ИНАЧЕ " / Не контролируется"
    КОНЕЦ КАК ТипЗадолженности,
    ВЫБОР
        КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента.ДопустимоеЧислоДнейЗадолженности = 0
            ТОГДА ИСТИНА
        ИНАЧЕ ЛОЖЬ
    КОНЕЦ КАК НулевоеЧислоДнейЗадолженности
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(
            &Период,
            ДокументРасчетовСКонтрагентом ССЫЛКА Документ.РеализацияТоваровУслуг
                ИЛИ ДокументРасчетовСКонтрагентом ССЫЛКА Документ.АктОбОказанииПроизводственныхУслуг
                    И ДокументРасчетовСКонтрагентом.Проведен) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки
ГДЕ
    ВЫБОР
            КОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток > 0
                ТОГДА ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток >= 1
            ИНАЧЕ ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.СуммаВзаиморасчетовОстаток <= -1
        КОНЕЦ


Вываливает

Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "НаборДанных1"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft SQL Native Client: Too many table names in the query. The maximum allowable is 256.
HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, HRESULT=80040E14, SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3793
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3791
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3789
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3787
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3765
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3763
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3742
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3720
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3698
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3696
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3675
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3653
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3631
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3629
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3608
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3586
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3564
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3562
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3541
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3519
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3497
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3495
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3474
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3452
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3430
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3428
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3407
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3385
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3363
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3361
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3340
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3318
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3296
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3294
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3273
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3251
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3229
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3227
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3206
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3184
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3182
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3160
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3158
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3137
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3115
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3093
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3091
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3070
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3048
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=3026
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3024
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=3003
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2981
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2957
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2933
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2909
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2886
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2805
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2781
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2757
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2731
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2705
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2681
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2638
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2571
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2544
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2521
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2495
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2468
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2442
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2416
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2392
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2325
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2298
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2274
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2250
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2224
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2202
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2178
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2153
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2129
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2107
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2081
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2057
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2035
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=2008
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1986
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=1960
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1947
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1947
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1945
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1923
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1901
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1879
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1858
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1779
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1757
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1735
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1714
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1693
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1671
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1630
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1565
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1543
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1522
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1501
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1479
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1458
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=1437
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1431
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=106, line=1427
 
 
   Метранпаж
 
1 - 09.09.16 - 17:02
Или ставь ВЫРАЗИТЬ на составные типы или ставь скуль поновее
   xafavute
 
2 - 09.09.16 - 17:03
Уж сколько раз твердили миру, что
   xafavute
 
3 - 09.09.16 - 17:03
ДокументРасчетовСКонтрагентом ССЫЛКА Документ.РеализацияТоваровУслуг 
не отменяет
ВЫРАЗИТЬ
   piter3
 
4 - 09.09.16 - 17:07
типизация по моему основной недостаток 1с-в.
   olo_lo1
 
5 - 09.09.16 - 17:09
А зачем через ВЫРАЗИТЬ, поясните в чем смысл ?
   Метранпаж
 
6 - 09.09.16 - 17:10
(5) Чтобы брать нужный реквизит из конкретной таблицы, а не перебирать все возможные. Почитай профразработку (как отца и мат своих)
   piter3
 
7 - 09.09.16 - 17:11
(5) Да посмотри план запросов и тогда волосы выпадут
   olo_lo1
 
8 - 09.09.16 - 17:11
(6) смотри я из запроса вообще убрал условие
 ДокументРасчетовСКонтрагентом ССЫЛКА Документ.РеализацияТоваровУслуг
                ИЛИ ДокументРасчетовСКонтрагентом ССЫЛКА Документ.АктОбОказанииПроизводственныхУслуг

и все равно та же ошибка
   Метранпаж
 
9 - 09.09.16 - 17:13
(8) ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Сделка.Ответственный

Вот такие конструкции тебе и гадят. Посмотри на состав типов ДокументРасчетовСКонтрагентами и Сделка.
Посчитай, сколько таблиц нужно будет подцепить.
   piter3
 
10 - 09.09.16 - 17:13
СУБД?Патчи? ну лень смотреть портянку
 
 Рекламное место пустует
   f_vadim
 
11 - 09.09.16 - 17:14
ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Сделка.Ответственный

каждая точечка - соединение с таблицей
   olo_lo1
 
12 - 09.09.16 - 17:16
(9) и (11) Спасибо!!!! теперь ясно где копать
   f_vadim
 
13 - 09.09.16 - 17:17
ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом.Дата

ну и в таких местах "выразить" конечно нужно
   piter3
 
14 - 09.09.16 - 17:18
(13) или соединение,если так уж действительно нужна дата

Список тем форума
Рекламное место пустует  Рекламное место пустует
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.
Рекламное место пустует