|
При индексировании не хватает прав | ☑ | ||
---|---|---|---|---|
0
Плехоть
07.05.14
✎
13:07
|
О умы секты 1С подскажите, плиз!
Я под неким пользователем в консоле запросов ввожу не хитрый код. Компилирую - выдаёт: "Ошибка выполнения запроса: У пользователя недостаточно прав на исполнение операции над базой данных." Под полными правами - нет ошибки. Видимо, проблема в индексировании, потому что без него код отрабатывает. Подскажите где копать? Собственно, код: ВЫБРАТЬ СчетФактураВыданный.Дата, СчетФактураВыданный.Проведен, СчетФактураВыданный.Ссылка КАК ДокументОснование ПОМЕСТИТЬ ВТ_СчетФактураВыданный ИЗ Документ.СчетФактураВыданный КАК СчетФактураВыданный ГДЕ СчетФактураВыданный.Организация = &Организация ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ СчетФактураВыданный.Ссылка.Дата, СчетФактураВыданный.Ссылка.Проведен, СчетФактураВыданный.ДокументОснование ИЗ Документ.СчетФактураВыданный.ДокументыОснования КАК СчетФактураВыданный ГДЕ СчетФактураВыданный.Ссылка.Организация = &Организация ИНДЕКСИРОВАТЬ ПО ДокументОснование |
|||
1
Apokalipsec
07.05.14
✎
13:09
|
РЛС. Использовать конструкцию ВЫБРАТЬ РАЗРЕШЕННЫЕ
|
|||
2
maxile
07.05.14
✎
13:10
|
Делаешь просто заходишь в пользовательсете права и ставишь все флаги - 100%. Есть такой глюк у полных прав.
|
|||
3
su_mai
07.05.14
✎
13:11
|
(0) На самом деле надо разбираться с шаблонами ограничения. У пользователя нет прав на чтение одной из таблиц использ. в запросе
|
|||
4
Плехоть
07.05.14
✎
13:12
|
(1) Тогда почему отрабатывает код без индексирования?
|
|||
5
Maxus43
07.05.14
✎
13:12
|
ДокументОснование - составной тип, надо права на все типы, входящие в него
|
|||
6
su_mai
07.05.14
✎
13:14
|
(1) Это концептуально ситуацию не меняет, просто ошибка не возникает. При такой конструкции недоступные строки таблиц не включаются в данные запроса
|
|||
7
su_mai
07.05.14
✎
13:16
|
(5) Вот именно!
РЛС приводит к тому, что текст запроса дополняется ограничением данных путем соединения со всеми таблицами составного типа. |
|||
8
Плехоть
07.05.14
✎
13:16
|
ещё одно наблюдение: Если поставить ограничения по датам для документов, то в большом интервале ошибка возникает, а если сделать по-меньше временной интервал, то ошибка исчезает
|
|||
9
su_mai
07.05.14
✎
13:17
|
+(7) Используй Выразить в запросе
|
|||
10
Плехоть
07.05.14
✎
13:18
|
(9) Дело в том, что код из типового запроса... и он огромный. Не хотелось бы править сам запрос. Мне бы понять, что можно исправить в данных, или может в правах
|
|||
11
Плехоть
07.05.14
✎
13:20
|
(5) Как вариант, посмотрю про типы.
|
|||
12
Maxus43
07.05.14
✎
13:21
|
(11) это не вариант, это 146%
|
|||
13
Плехоть
07.05.14
✎
13:22
|
(12) Просто было интересно, почему индексирование так влияет на итог запроса
|
|||
14
su_mai
07.05.14
✎
13:24
|
(12) А (9)?
|
|||
15
Maxus43
07.05.14
✎
13:25
|
(13) тут дело не совсем в индексировании, дело в правах, но вылезли они в неожиданном месте. Если бы в результате запроса попался докуент на который нет прав - тоже бы ошибка была.
напиши Выразить(СчетФактураВыданный.ДокументОснование Как Документ.СчетФактураВыданный) |
|||
16
su_mai
07.05.14
✎
13:32
|
(15) А я о чем (9)? :))))
|
|||
17
Крошка Ру
07.05.14
✎
13:33
|
(15) лучше
ВЫБОР КОГДА (СчетФактураВыданный.ДокументОснование ССЫЛКА Документ.СчетФактураВыданный) ТОГДА ВЫРАЗИТЬ(СчетФактураВыданный.ДокументОснование КАК Документ.СчетФактураВыданный) КОНЕЦ а иначе ошибку выдаст, если ДокументОснование будет не счетом-фактурой |
|||
18
Плехоть
07.05.14
✎
13:34
|
Я сначала попробую права поправить, а если не поможет буду исправлять запрос. Спасибо всем!
|
|||
19
Maxus43
07.05.14
✎
13:36
|
(16) вижу вижу, молодец
|
|||
20
su_mai
07.05.14
✎
13:37
|
(18) Да не правильно это! Права не надо трогать! Надо в запросе приведение к типу сделать (15)...
|
|||
21
su_mai
07.05.14
✎
13:37
|
(19) Етить тить !!!
|
|||
22
su_mai
07.05.14
✎
13:39
|
(17) Не правильно!!!
Просто когда используем (15) в случае когда (17) Выразить вернет Null :))) |
|||
23
su_mai
07.05.14
✎
13:40
|
(22) Не сори набрехал :)))
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |