|
Тормозит 1С SQL у пользователей с определенными правами. Где копать ? | ☑ | ||
---|---|---|---|---|
0
Koliaff
17.01.15
✎
14:13
|
Доброго времени суток. Работаем в 1С Управление торговлей 10.3
В базе работает 40 человек. Из-за постоянных блокировок таблиц при проведении в начале этого года перешли на SQL вариант. Почему то у кладовщиков с ихними права и интерфейсом начались тормоза. Например при попытке открыть даже формы списка документа "Реализации товаров и услуг". Или при попытке войти в сам документ "Реализации". Все тоже самое делаем под учеткой с полными правами - все летает. В чем может быть проблема ? В файловой версии под правами кладовщиков тормозов не было ! Помогите пожалуйста добрые люди... |
|||
1
ДенисЧ
17.01.15
✎
14:20
|
RLS
|
|||
2
vde69
17.01.15
✎
14:20
|
для начала замер производительности средствами 1с сделайте и сравните...
потом http://wiki.mista.ru/doku.php?id=it:analiz_sql_block |
|||
3
Koliaff
17.01.15
✎
14:50
|
(ДенисЧ) Поподробнее пожалуйста на счет RLS. Почему именно в SQL версии тормоза начались из-за него ?
|
|||
4
Fragster
гуру
17.01.15
✎
14:55
|
(3) кто-то умный после перехода на SQL включил использовать ограничение на уровне записей"
Или до этого кто-то умный вставил костыль в принудительное невключение RLS, если база файловая |
|||
5
Koliaff
17.01.15
✎
15:11
|
Все разобрался после ваших подсказок. Всему виной вот эта процедура :
Процедура УстановитьВидимостьТолькоНужныхРеализаций() Список = Новый СписокЗначений; Запрос = Новый Запрос; Запрос.Текст = "ВЫБРАТЬ | РеализацияТоваровУслугОтгрузкаПоСкладам.Ссылка |ИЗ | Документ.РеализацияТоваровУслуг.ОтгрузкаПоСкладам КАК РеализацияТоваровУслугОтгрузкаПоСкладам |ГДЕ | РеализацияТоваровУслугОтгрузкаПоСкладам.Склад В(&СписокДоступныхСкладов) | |СГРУППИРОВАТЬ ПО | РеализацияТоваровУслугОтгрузкаПоСкладам.Ссылка"; МассивДоступныхСкладов = глЗначениеПеременной("глТекущийПользователь").ДоступныеДляОтгрузкиСклады.ВыгрузитьКолонку("Склад"); СписокДоступныхСкладов = Новый СписокЗначений; СписокДоступныхСкладов.ЗагрузитьЗначения(МассивДоступныхСкладов); Запрос.УстановитьПараметр("СписокДоступныхСкладов",СписокДоступныхСкладов); Список.ЗагрузитьЗначения(Запрос.Выполнить().Выгрузить().ВыгрузитьКолонку("Ссылка")); ДокументСписок.Отбор.Ссылка.ВидСравнения = ВидСравнения.ВСписке; ДокументСписок.Отбор.Ссылка.Значение = Список; ДокументСписок.Отбор.Ссылка.Использование = Истина; КонецПроцедуры Она отсекает все не нужные реализации для кладовщиков. Кладовщики видят только те реализации, которые по их складу. Эта процедура вызывается из стандартной процедуры формы списка "ОбновлениеОтображения()" Подскажите как оптимизировать её, чтобы она не выполнянась в SQL варианте так долго ? |
|||
6
Fragster
гуру
17.01.15
✎
15:13
|
перенести в "ПередОткрытием"
|
|||
7
Либерал
17.01.15
✎
15:14
|
(5) ха ха
ставь отбор сразу на список складов, зачем реализации сначала запросом собирать?? это же за гранью всего |
|||
8
Koliaff
17.01.15
✎
15:15
|
(Либерал) Запросом отбираются реализации в которых встречается нужный склад в ТАБЛИЧНОЙ части. Как сразу отбор поставить без запроса ?
|
|||
9
Либерал
17.01.15
✎
15:15
|
типа:
МассивДоступныхСкладов = глЗначениеПеременной("глТекущийПользователь").ДоступныеДляОтгрузкиСклады.ВыгрузитьКолонку("Склад"); СписокДоступныхСкладов = Новый СписокЗначений; СписокДоступныхСкладов.ЗагрузитьЗначения(МассивДоступныхСкладов); ДокументСписок.Отбор.Склад.ВидСравнения = ВидСравнения.ВСписке; ДокументСписок.Отбор.Склад.Значение = СписокДоступныхСкладов; ДокументСписок.Отбор.Склад.Использование = Истина; |
|||
10
Fragster
гуру
17.01.15
✎
15:16
|
(7) в теории - чтобы остался доступным отбор по складу (не надо его закрывать через ДокументСписок.НастройкаОтбора)
|
|||
11
Fragster
гуру
17.01.15
✎
15:16
|
(8) критерий отбора
|
|||
12
Fragster
гуру
17.01.15
✎
15:16
|
(11)+ хотя один фиг то же самое получится.
А индекс-то есть по этой колонке? |
|||
13
Koliaff
17.01.15
✎
15:18
|
(Fragster) Если я перенесу в процедуру "Перед открытием". То как кладовщики увидят новые реализации, которые выписали после открытия кладовщиками формы списка "Реализации ТиУ". Только повторным открытием этой формы ? Или кнопку какую-нибудь придумать на форме списка?
|
|||
14
vde69
17.01.15
✎
15:19
|
варианты
1. сделать составной ключ и вставить его в отбор 2. генерить задачи и перейти на список задач 3. перенести в рельсу (будет быстрее хотя и то-же не хорошо) |
|||
15
Escander
17.01.15
✎
15:19
|
(0) На поддержке без права редактирования? - Думаю что нет.
Вы получили ответ на свой вопрос? |
|||
16
Либерал
17.01.15
✎
15:19
|
еще в 10.3 есть штатные группы доступности складов и рлс по ним. ли свою рлс для этого дока нарисовать.
рлс в sql будет быстрее, чем пурга из 5 |
|||
17
Fragster
гуру
17.01.15
✎
15:20
|
(14) в рельсу? RLS? быстрее не будет :)
|
|||
18
Koliaff
17.01.15
✎
15:20
|
(Fragster) Индекса нет по этой колонке. Я так и не понял как это строка будет работать :
ДокументСписок.Отбор.Склад.Значение = СписокДоступныхСкладов; Если склад у меня в табличной части ... |
|||
19
Fragster
гуру
17.01.15
✎
15:20
|
(18) такое работает, если создать критерий отбора "Склад кладовщика", допустим. Заодно и индекс появится.
|
|||
20
vde69
17.01.15
✎
15:20
|
(17) будет, она на сервере работает а прямой запрос на клиенте
|
|||
21
Escander
17.01.15
✎
15:21
|
(17) если попадаешь в индекс - будет очень быстро!
|
|||
22
Либерал
17.01.15
✎
15:21
|
(18) никак, я не понял на тот момент, что склад в тч
(14) +++ |
|||
23
Fragster
гуру
17.01.15
✎
15:22
|
(20) на глаз не заметно, есличо
|
|||
24
Koliaff
17.01.15
✎
15:22
|
Вообщем я так понял что RLS мне надо написать ? Все в этом солидарны. Спасибо ! Буду писать ...
|
|||
25
Fragster
гуру
17.01.15
✎
15:23
|
(23)+ а вот доп. прилипание RLS в отчетах всяких - будет.
|
|||
26
Koliaff
17.01.15
✎
15:24
|
Все большое спасибо за помощь ! Вопрос закрыт !
|
|||
27
Fragster
гуру
17.01.15
✎
15:24
|
(24) для начала сделай критерий отбора по складу и добавь его заполнение вместо запроса и отбора по ссылке...
|
|||
28
Koliaff
17.01.15
✎
15:28
|
(Fragster) Спасибо, попробую вечером. Сейчас люди работают, не могу их выгнать ....
|
|||
29
mdocs
17.01.15
✎
16:45
|
Евпатий коловрат. Вы уж такие пируэты на копии сначала пробуйте.
|
|||
30
Fragster
гуру
17.01.15
✎
16:49
|
покурил разные варианты RLS. Им действительно можно сделать быстрее :)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |