Имя: Пароль:
1C
1С v8
Роли в УТ 10.3 и скорость выполнение запроса.
0 AlexKulikov
 
16.11.16
11:42
Добрый день, уважаемые форумчане.

Есть УТ 10.3 (не типовая), есть пользователь со специальными для него сделанными ролями. Проблема возникает в следующем, при открытии элемента справочника "Номенклатура", система загружает данную форму(форму элемента) в течении 2-3 мин. При  "Полных правах" - это происходит моментально.

Вопрос, а какой собственно компонент в "Полных правах", влияет на скорость запроса?

Далее привожу код запроса, над которым система "подвисает" на 2-3 мин, но выводит нужный результат:
<code>
Запрос = Новый Запрос();
    
    Запрос.УстановитьПараметр("НазначениеСвойств",       ?(НазначениеСвойств = Неопределено, ОбщегоНазначения.ПолучитьСписокНазначенийСвойствКатегорийОбъектовПоСсылке(ОбъектОтбораЗначений), НазначениеСвойств));
    Запрос.УстановитьПараметр("ОбъектОтбораЗначений",    ОбъектОтбораЗначений);
    Запрос.УстановитьПараметр("СписокНазначенийСвойств", СписокНазначенийСвойств());
    
    Запрос.Текст = "
    |ВЫБРАТЬ РАЗЛИЧНЫЕ РАЗРЕШЕННЫЕ
    |    СвойстваОбъектов.ПометкаУдаления                            КАК ПометкаУдаления,
    |    СвойстваОбъектов.Ссылка                                     КАК Свойство,
    |    РегистрСведений.ЗначенияСвойствОбъектов.Значение            КАК Значение,
    |    СвойстваОбъектов.Наименование
    |
    |ИЗ
    |// Отбираются свойства, предназначенные для заданного типа объектов.
    |    (
    |    ВЫБРАТЬ
    |        ПланВидовХарактеристик.СвойстваОбъектов.Ссылка          КАК Ссылка,
    |        ПланВидовХарактеристик.СвойстваОбъектов.Наименование    КАК Наименование,
    |        ПланВидовХарактеристик.СвойстваОбъектов.ПометкаУдаления КАК ПометкаУдаления
    |
    |    ИЗ
    |        ПланВидовХарактеристик.СвойстваОбъектов
    |
    |    ГДЕ
    |        ПланВидовХарактеристик.СвойстваОбъектов.НазначениеСвойства В ( &НазначениеСвойств )
    |
    |    )                                                           КАК СвойстваОбъектов
    |
    |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
    |// Присоединяются значения свойств, назначенные для заданного объекта.
    |    РегистрСведений.ЗначенияСвойствОбъектов
    |ПО
    |    РегистрСведений.ЗначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка
    |    И
    |    РегистрСведений.ЗначенияСвойствОбъектов.Объект = &ОбъектОтбораЗначений
    |
    |ЛЕВОЕ ВНЕШНЕЕ СОЕДИНЕНИЕ
    |// Присоединяются группы, которым назначено свойство, для отбора свойств.
    |// Если свойству назначено значение, оно отбирается в любом случае.
    |    РегистрСведений.НазначенияСвойствОбъектов
    |ПО
    |    РегистрСведений.НазначенияСвойствОбъектов.Свойство = СвойстваОбъектов.Ссылка
    |    И
    |    РегистрСведений.ЗначенияСвойствОбъектов.Значение ЕСТЬ NULL
    |
    |ГДЕ
    |// Если значение свойства не задано, свойство должно быть назанчено
    |// или всем объектам, или одной из групп - родителей объекта.
    |    РегистрСведений.НазначенияСвойствОбъектов.Объект ЕСТЬ NULL
    |    ИЛИ
    |    РегистрСведений.НазначенияСвойствОбъектов.Объект В ( &СписокНазначенийСвойств )
    |
    |УПОРЯДОЧИТЬ ПО
    |    СвойстваОбъектов.Наименование
    |";
    
    Возврат Запрос.Выполнить().Выгрузить();
</code>

Собственно права на нужные объекты проверил, все есть. Никаких дополнительных ограничений по доступу к данным у пользователя нет. В чем может быть проблема?

С уважением, Алексей. Очень надеюсь на Вашу помощь и совет.
1 mehfk
 
16.11.16
11:51
РегистрСведений.ЗначенияСвойствОбъектов.Объект -
Здесь Объект - поле составного типа? Вот и думай.
2 AlexKulikov
 
16.11.16
13:42
Спасибо большое, разобрался.
Добавил права на необходимые объекты.