![]() |
|
Помогите оптимизировать RLS в УПП | ☑ | ||
---|---|---|---|---|
0
leonidkorolev
07.12.12
✎
10:04
|
В документе Начисление зарплаты сотрудникам организации в роли для расчетчика есть такой кусок кода (см. ниже).
Наткнулся на него после жалобы расчетчика что документ проводится 20 минут. Идёт обращение ко всем документам начисления, а в этих документа ко всем таб. частям, а в этих таб. частях ко всем строкам. Для средней компании за пару лет это будет выборка тыщ на 100. Если я правильно понял, то проблема из-за невозможности обращения к ТекущейТаблице во вложенных запросах. Это всё мои предположения, может я ошибаюсь. Как можно оптимизировать этот кусок. #Если &ИспользоватьОграничениеПоФизическиеЛица #Тогда КОГДА НазначениеВидовОбъектовДоступа.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) ТОГДА ВЫБОР КОГДА (НЕ 1 В (ВЫБРАТЬ ПЕРВЫЕ 1 1 ИЗ ( ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.Начисления ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.ДополнительныеНачисления ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.ДоговорыНаВыполнениеРабот ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.Удержания ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.НДФЛ ОБЪЕДИНИТЬ ВСЕ ВЫБРАТЬ Ссылка, ФизЛицо ИЗ Документ.НачислениеЗарплатыРаботникамОрганизаций.ПогашениеЗаймов ) КАК СодержимоеТаблЧастей ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.ФизическиеЛица КАК ФизическиеЛица ПО ФизическиеЛица.Ссылка = СодержимоеТаблЧастей.ФизЛицо ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НастройкиПравДоступаПользователей КАК НастройкиПравДоступаПользователей ПО НастройкиПравДоступаПользователей.ОбъектДоступа = ФизическиеЛица.ГруппаДоступаФизическогоЛица И НастройкиПравДоступаПользователей.ВидОбъектаДоступа = ЗНАЧЕНИЕ(Перечисление.ВидыОбъектовДоступа.ФизическиеЛица) И НастройкиПравДоступаПользователей.ОбластьДанных = ЗНАЧЕНИЕ(Перечисление.ОбластиДанныхОбъектовДоступа.ФизическиеЛицаДанные) И НастройкиПравДоступаПользователей.Пользователь = НазначениеВидовОбъектовДоступа.ГруппаПользователей ГДЕ СодержимоеТаблЧастей.Ссылка = ТекущаяТаблица.Ссылка И НастройкиПравДоступаПользователей.ОбластьДанных ЕСТЬ NULL )) ТОГДА ИСТИНА ИНАЧЕ ЛОЖЬ КОНЕЦ #КонецЕсли |
|||
1
Lexusss
07.12.12
✎
10:07
|
Смотри в SQL план выполнения запроса.
|
|||
2
Нуф-Нуф
07.12.12
✎
10:09
|
отказаться от рлс
|
|||
3
Maxus43
07.12.12
✎
10:09
|
вынести в привелигированый например запись в регистры по этому документу
|
|||
4
Maxus43
07.12.12
✎
10:10
|
"оптимизировать RLS" - даже не смешно
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |