|
1С: БП КОРП 3.0 - скорость выполнения запроса | ☑ | ||
---|---|---|---|---|
0
TARPV
07.09.15
✎
11:32
|
Исходная ситуация:
1С:Предприятие 8.3 (8.3.6.1999) Бухгалтерия предприятия КОРП, редакция 3.0 (3.0.40.41) В базе данных учет ведется по множеству организаций и установлено ограничение прав доступа на уровне записей. Делаем отчет с простым запросом к таблице "РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто". Если выполнить запрос под учетной записью пользователя у которого в настройках прав доступа установлено (Организации - Все разрешены, без исключений), то запрос выполняется за 40 секунд. Если выполнить запрос под учетной записью пользователя у которого в настройках прав доступа установлено (Организации - Все запрещены, кроме N-го значения), то отчет формируется за 23 минуты. Подкиньте идею куда "копать"! В чем может быть причина (Не корректная работа RLS в этой версии Технологической платформы или нужно внести изменения в текст запроса?) |
|||
1
Матиус
07.09.15
✎
11:37
|
выключи RLS
|
|||
2
Матиус
07.09.15
✎
11:37
|
сами RLS не трогали?
|
|||
3
Гёдза
07.09.15
✎
11:41
|
файловая?
|
|||
4
TARPV
07.09.15
✎
11:42
|
(2) Конфигурация типовая, ограничения прав доступа на уровне записей нужны и отключаться НЕ будут т.к. учет в одной базе данных ведется по множеству организаций и требуется разделение прав доступа пользователей к хозяйственным операциям разных организаций.
|
|||
5
TARPV
07.09.15
✎
11:42
|
(3) Клиент серверная. СУБД - MS SQL Server.
|
|||
6
Гёдза
07.09.15
✎
11:47
|
регламенты на базе настроены?
|
|||
7
TARPV
07.09.15
✎
11:54
|
(6) О чем речь? Задания выполняемые с БД средствами MS SQL Server?
|
|||
8
Гёдза
07.09.15
✎
11:57
|
статистика, реиндекс
|
|||
9
Фрэнки
07.09.15
✎
11:58
|
(7) речь о том, что якобы не хватает индексации какой-то и оттого медленно выполняется...
А за какой период такой разбег времени между выполнением запросов? Одинаковый и свеженький период запрашивается или там за год целиком, а из-за этого куча записей перебирается у каждой организации. Может быть организаций у вас порядка нескольких сотен наплодили в справочник? |
|||
10
OldMonk
07.09.15
✎
12:44
|
(0) попробуй очистить настройки юзера, у которого медленно выполняется запрос. на всякий случай.
|
|||
11
TARPV
07.09.15
✎
13:07
|
(9) В справочнике "Организации" 17 записей.
Создаем новую учетную запись пользователя "Петров". Назначаем ему профиль "Бухгалтер". Для вида доступа "Организации" назначением "Все разрешены, без исключений". Подключаемся к базе данных под пользователем "Петров" и запускам на выполнение отчет за 8 месяцев этого года с отбором по организации "Ромашка". Отчет формируется за 40 секунд!!! Далее для пользователя "Петров" для вида доступа "Организации" назначаем ограничение доступа "Все запрещены, кроме 1-го значения" - есть доступ только к операциям организации "Ромашка". Снова запускаем отчет за 8 месяцев этого года с отбором по организации "Ромашка". ТЕПЕРЬ отчет формируется за 23 минуты!!! Как наличие регламентного задания по реиндексации средствами СУБД может ускорить работу отчета, если Этот отчет может формироваться за 40 секунд? |
|||
12
Славен
07.09.15
✎
13:09
|
(11) ты про рлс уже почитал и во что превращаются запросы с рлс? если не веришь сам смотри как они транслируются
|
|||
13
Гёдза
07.09.15
✎
13:09
|
давай запрос и план к нему
|
|||
14
TARPV
07.09.15
✎
13:15
|
(13) Запрос очень простой:
ВЫБРАТЬ РАЗРЕШЕННЫЕ ХозрасчетныйДвиженияССубконто.Организация.Наименование КАК OrgNaimen, ХозрасчетныйДвиженияССубконто.Организация.ИНН КАК OrgINN, ХозрасчетныйДвиженияССубконто.Регистратор.Дата КАК DHozOper, ХозрасчетныйДвиженияССубконто.Регистратор.Номер КАК NomerDok, ХозрасчетныйДвиженияССубконто.Период КАК DProvodki, ХозрасчетныйДвиженияССубконто.СчетДт.Код КАК KodDebeta, ХозрасчетныйДвиженияССубконто.СчетКт.Код КАК KodKredita, ХозрасчетныйДвиженияССубконто.Содержание КАК Soderzan, ВЫБОР КОГДА ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты) ТОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт1.Наименование ИНАЧЕ "" КОНЕЦ КАК KontrNaim, ВЫБОР КОГДА ХозрасчетныйДвиженияССубконто.ВидСубконтоДт1 = ЗНАЧЕНИЕ(ПланВидовХарактеристик.ВидыСубконтоХозрасчетные.Контрагенты) ТОГДА ХозрасчетныйДвиженияССубконто.СубконтоДт1.ИНН ИНАЧЕ "" КОНЕЦ КАК KontrINN, ХозрасчетныйДвиженияССубконто.СубконтоКт1.Код КАК NomGrKod, ПРЕДСТАВЛЕНИЕ(ХозрасчетныйДвиженияССубконто.НомерСтроки) КАК NomStr, ХозрасчетныйДвиженияССубконто.Регистратор.Комментарий КАК KommDok, ВЫРАЗИТЬ(ХозрасчетныйДвиженияССубконто.Сумма КАК ЧИСЛО(15, 2)) КАК Summa ИЗ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( &Начало, &Конец, СчетКт В ИЕРАРХИИ (&Счет90_1) И Активность = ИСТИНА И Организация В (&СписокОрганизаций), , ) КАК ХозрасчетныйДвиженияССубконто УПОРЯДОЧИТЬ ПО DHozOper Запрос.УстановитьПараметр("Начало",НачалоДня(НачалоПериода)); Запрос.УстановитьПараметр("Конец",Новый Граница(КонецДня(КонецПериода),ВидГраницы.Включая)); Запрос.УстановитьПараметр("Счет90_1",ПланыСчетов.Хозрасчетный.Выручка); Запрос.УстановитьПараметр("СписокОрганизаций",Организации.ВыгрузитьКолонку("Организация")); |
|||
15
vhl
07.09.15
✎
13:23
|
(0) попробуй сделать через "Хозрасчетный.Обороты". В "ДвиженияССубконто" был глюк что запросы по нему как говорили 1С "неоправданно долго"
|
|||
16
Aloex
07.09.15
✎
13:23
|
В параметрах ДвиженияССубконто задай виды ПВХ.
|
|||
17
Фрэнки
07.09.15
✎
13:25
|
(14) а теперь возьми в конфигураторе до правал своего пользователя посмотри на права доступа для рлс у объекта РегистрБухгалтерии.Хозрасчетный... видишь там еще один шаблон текста запроса указан? Вот он и должен стыковаться корректно, иначе будет отрабатывать на каждую запись по отдельности.
|
|||
18
TARPV
07.09.15
✎
14:24
|
(15) Вот это похоже на правду.
Протестировал взаимосвязь выполнения запроса к таблице "Хозрасчетный.Обороты" и наличие у пользователя ограничения доступа по организациям. У этой таблицы в отличие от "ДвиженияССубконто" нет замедления в выполнении запроса в случае если у пользователя есть ограничение доступа по организациям. |
|||
19
Фрэнки
07.09.15
✎
14:59
|
(18) только и текст запроса стал отличатся скорей всего.
Обращение бывшее как ИЗ РегистрБухгалтерии.Хозрасчетный.ДвиженияССубконто( &Начало, &Конец, СчетКт В ИЕРАРХИИ (&Счет90_1) И Активность = ИСТИНА И Организация В (&СписокОрганизаций), , ) КАК ХозрасчетныйДвиженияССубконто с условием в параметре метода стало отрабатывать иначе. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |