Имя: Пароль:
1C
1С v8
Ошибка при выполнении запроса
,
0 Alex_MA
 
25.10.11
14:21
Всем доброго дня!

При формировании отчета выдает следующее:

Ошибка исполнения отчета
по причине:
Ошибка получения данных
по причине:
Ошибка создания набора данных "Запрос"
по причине:
Ошибка при исполнении запроса набора данных
по причине:
Ошибка выполнения запроса
по причине:
Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.
Microsoft OLE DB Provider for SQL Server: 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, SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=1247
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1244
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1200
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=319, line=1157
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1146
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=156, line=1146
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1144
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1102
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1060
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=1004
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=950
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=102, line=893
SQLSrvr: SQLSTATE=42000, state=1, Severity=F, native=106, line=889


Из за чего такое может быть ?
1 Alex_MA
 
25.10.11
14:22
выполняю отчет под своими правами - все Ок
2 Maxus43
 
25.10.11
14:23
РЛС?
3 Рэйв
 
25.10.11
14:24
(1)>>Построенный запрос к СУБД использует слишком много таблиц. Допустимо не более 256.

помоему вполне все понятно написано
4 Vakhrin
 
25.10.11
14:24
(2) нет, пытается получить реквизит из составного типа... все ссылки, или любой документ, или любой справочник...
5 Vakhrin
 
25.10.11
14:25
(0) ограничивай в запросе по типу (типам)
6 Рэйв
 
25.10.11
14:25
(1)Видимо ты соединяешь что-то составное с чем то не менее составным.А результате получается куча таблиц соединений
7 Maxus43
 
25.10.11
14:26
(4) я к тому что от прав говорит зависит, это понятно что соединеий много... емнип РЛС навешивает ещё доп соединения на запрос, в итоге под полными правами например может не быть ошибки
8 Maxus43
 
25.10.11
14:26
в запросе Выразить повтыкай везде короче где можно у состаыных полей
9 Axel2009
 
25.10.11
14:28
ставь 2008скуль, там такого нет
10 Maxus43
 
25.10.11
14:31
имхо если ошибка про 256 таблиц это значит что сам запрос уже неверно написан, ограничения скуля это ладно, но запрос столько тащить не должен, ибо не могу представить такой отчет где Реально это  требуется
11 Alex_MA
 
25.10.11
15:24
(5)ВЫРАЗИТЬ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Документ.РеализацияТоваровУслуг) - к типу понятно, а если ограничить по нескольким типам это как ?
ВЫРАЗИТЬ(<Выражение> КАК <Тип>)
12 Alex_MA
 
25.10.11
16:17
Нашел из за чего валится

////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
    ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДоговорКонтрагента,
    ВЫРАЗИТЬ(ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки.ДокументРасчетовСКонтрагентом КАК Документ.РеализацияТоваровУслуг) КАК ДокументРасчетовСКонтрагентом
ПОМЕСТИТЬ ТаблицаОстаткиКорректировок
ИЗ
    РегистрНакопления.ВзаиморасчетыСКонтрагентамиПоДокументамРасчетов.Остатки(
              КОНЕЦПЕРИОДА(&ДатаОтчета, ДЕНЬ),
              ДокументРасчетовСКонтрагентом.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРеализацияТоваров.vscКорректировка)
                   И ДоговорКонтрагента.Ссылка.vscТипДоговораПродажи = ЗНАЧЕНИЕ(Перечисление.vscТипыДоговораПродажи.ПоставкаЭлектроэнергии)
                   И ДоговорКонтрагента.vscИсполнитель = &Исполнитель
                   И (НЕ vscСтатьяОборотов В (&СписокСтатейОборотов))
                   И Контрагент <> &Контрагент {(vscСтатьяОборотов)}) КАК ВзаиморасчетыСКонтрагентамиПоДокументамРасчетовОстатки




Убираю "ДокументРасчетовСКонтрагентом.ВидОперации = ЗНАЧЕНИЕ(Перечисление.ВидыОперацийРеализацияТоваров.vscКорректировка)" из параметров ВТ и все ОК
13 Alex_MA
 
25.10.11
17:11
кто нибудь может подсказать, почему тут возникла такая ситуация
14 Maxus43
 
25.10.11
17:13
не вижу логической связи этого условия и ошибки...
З.ы. переписали конфу то...
15 МихаилМ
 
25.10.11
17:20
и какойже тип у реквизита ДокументРасчетовСКонтрагентом

дайте угадаю докумкнт ссылка просто ?
16 ptiz
 
25.10.11
17:20
ВЫРАЗИТЬ(ДокументРасчетовСКонтрагентом КАК Документ.Вид1).ВидОперации =...
ИЛИ ВЫРАЗИТЬ(ДокументРасчетовСКонтрагентом КАК Документ.Вид2).ВидОперации =...
ИЛИ ВЫРАЗИТЬ(ДокументРасчетовСКонтрагентом КАК Документ.Вид3).ВидОперации =...
17 Maxus43
 
25.10.11
17:21
(16) точно, не заметил)
Компьютеры — прекрасное средство для решения проблем, которых до их появления не было.