Имя: Пароль:
1C
1С v8
Зависание запроса при использовании выражения ЗНАЧЕНИЕ
0 sanches2
 
09.08.11
15:11
Привет! УТ 10.3.8.9 (8.1.15.14)
Был в запросе кусок кода
ЗНАЧЕНИЕ (ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)
Заметил, что у одного из пользователей с ограниченными правами этот запрозапрос зависал и можно было не ждать результата его выполнения, а смсмело снимать задачу. Заменил этот кусок кода на параметр запроса
ЗапросУслуги.УстановитьПараметр("НазначениеСвойства", ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры);

Запрос стал выполняться. Подскажите, в чем может быть проблема?
1 DmitrO
 
09.08.11
15:18
дык видимо и запрос поменялся, потому как значения-то какбэ разные
2 DmitrO
 
09.08.11
15:21
получается вопрос звучит так: я поменял текст запроса, он стал быстрее работать, объясните почему.. но как я его поменял я вам не покажу :)
3 sanches2
 
09.08.11
15:27
Нет, запрос могу показать если надо :)
Но я в нем поменял текст

ГДЕ СвойстваОбъектов.НазначениеСвойства = ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)

На

ГДЕ СвойстваОбъектов.НазначениеСвойства =&НазначениеСвойства
4 sanches2
 
09.08.11
15:28
(2) Он не просто стал быстрее работать. Он стал выполняться, а до этого просто зависал компьютер.
5 ZoRN
 
09.08.11
15:28
В первом случае получаешь значения !
Во втором определяешь по значению !
6 Жан Пердежон
 
09.08.11
15:30
(3) ну так значения разные
7 DmitrO
 
09.08.11
15:30
только мне кажется что это разные значения:
ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура
ПланыВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры
или это просто опечатка?
8 sanches2
 
09.08.11
15:31
(7) Нет, так и есть
9 DmitrO
 
09.08.11
15:33
но тогда запрос должен вернуть другие данные
10 ZoRN
 
09.08.11
15:34
Характеристик 2
Номенклатуры 100000000000000000
11 sanches2
 
09.08.11
15:35
Буду тупить :)
Хорошо, значения разные. Получается у этого пользователя нет каких-то прав на получение значения ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)?
Где-то это можно посмотреть?

Ведь под пользователем с полными правами этот запрос выполняется.
Права на НазначенияСвойствКатегорийОбъектов у пользователя с огограниченным доступом все, кроме удаления.
12 ZoRN
 
09.08.11
15:37
Справочник_Номенклатура ссылка ???
13 DmitrO
 
09.08.11
15:38
ограничения RLS есть?
14 Fragster
 
гуру
09.08.11
15:39
НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура <> НазначенияСвойствКатегорийОбъектов.Справочник_ХарактеристикиНоменклатуры
15 Жан Пердежон
 
09.08.11
15:43
(14) не может быть)))
16 sanches2
 
09.08.11
15:43
(13) На НазначенияСвойствКатегорийОбъектов нет
17 DmitrO
 
09.08.11
15:43
телепатирую: сдается мне что
Справочник_Номенклатура - это группа
Справочник_ХарактеристикиНоменклатуры - это элемент
и наводит на мысли что в запросе когда-то стояло так
ГДЕ СвойстваОбъектов.НазначениеСвойства в (&НазначениеСвойства)
особенно в купе с ограничениями RLS на допустимые юзеру характеристики, очень возможен такой эффект, т.к. реальный запрос изменится сильно.
18 sanches2
 
09.08.11
15:46
Вот мой запрос. Возможно, кривой :)

ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
   |    ЗначенияСвойствОбъектов.Значение КАК Зона,
   |    ЗначенияСвойствОбъектов.Объект КАК Номенклатура
   |ПОМЕСТИТЬ ВТЗоны
   |ИЗ
   |    РегистрСведений.НазначенияСвойствОбъектов КАК НазначенияСвойствОбъектов,
   |    (ВЫБРАТЬ
   |        СвойстваОбъектов.Ссылка КАК Свойство,
   |        СвойстваОбъектов.Наименование КАК Наименование
   |    ИЗ
   |        ПланВидовХарактеристик.СвойстваОбъектов КАК СвойстваОбъектов
   |    ГДЕ
   |        СвойстваОбъектов.НазначениеСвойства =  &НазначениеСвойства
   //ЗНАЧЕНИЕ(ПланВидовХарактеристик.НазначенияСвойствКатегорийОбъектов.Справочник_Номенклатура)
   |        И СвойстваОбъектов.Наименование = ""Рабочая зона"") КАК ВложенныйЗапрос
   |        ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.ЗначенияСвойствОбъектов КАК ЗначенияСвойствОбъектов
   |        ПО ВложенныйЗапрос.Свойство = ЗначенияСвойствОбъектов.Свойство
19 Жан Пердежон
 
09.08.11
17:17
(18) кривой конечно
Выдавать глобальные идеи — это удовольствие; искать сволочные маленькие ошибки — вот настоящая работа. Фредерик Брукс-младший