|
Как оптимизировать обход выборки изменений плана обмена? | ☑ | ||
|---|---|---|---|---|
|
0
Nikoss
10.07.18
✎
13:21
|
Есть стандартный кусок кода обмена. Получение выборки всех измененных объектов и далее его обработка:
ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(УзелОбмена, ЗаписьСообщения.НомерСообщения); Пока ВыборкаИзменений.Следующий() Цикл Попытка Данные = ВыборкаИзменений.Получить(); Исключение Продолжить; КонецПопытки; ........... Ситуация такая: есть РЛС, на некоторые объекты конфигурации стоит авторегистрация изменений. Соответственно, в момент обхода выборки измененных объектов в строке: Данные = ВыборкаИзменений.Получить(); Все объекты, на которые нет прав на чтение, отсекаются в «исключение-продолжить». Проблема в том, что, как мне кажется, метод Получить() сначала получает объект, а потом проверяет есть ли на него права. По крайней мере замер производительности на это намекает. Понятно, что правильное решение – это снимать авторегистрацию изменений и делать вручную. Но может есть другой метод более оптимально определить, что на строку выборки нет прав на чтение. |
|||
|
1
Михаил Козлов
10.07.18
✎
13:23
|
Можно попробовать запросом с РАЗРЕШЕННЫЕ.
|
|||
|
2
DrShad
10.07.18
✎
13:24
|
а вообще какое отношение имеют права и уже зарегистрованные изменения? имхо нужно в момент регистрации проверять права
|
|||
|
3
Nikoss
10.07.18
✎
13:27
|
(2) так и есть, я про это упомянул в (0). Но всеже рассматриваю и другие варианты.
|
|||
|
4
Nikoss
10.07.18
✎
13:28
|
(1) Это придется громоздить 10 этажный запрос, по всем таблицам изменений, получается?
|
|||
|
5
ptiz
10.07.18
✎
13:35
|
(0) Для чего выборка делается? Обмен? Тогда делать в привилегированном режиме.
|
|||
|
6
Serg_1960
10.07.18
✎
13:36
|
Мелкое замечание: в типовых алгоритмах используется принцип "Всё или ничего", т.е. вот так:
Попытка ВыборкаИзменений = ПланыОбмена.ВыбратьИзменения(ЗаписьСообщения.Получатель, ЗаписьСообщения.НомерСообщения); Пока ВыборкаИзменений.Следующий() Цикл |
|||
|
7
triviumfan
10.07.18
✎
13:37
|
Да автор всех запутал.
Для чего получать выборку данных? |
|||
|
8
pavig
10.07.18
✎
13:38
|
(0)
Смешались в кучу кони, люди, И залпы тысячи орудий Слились в протяжный вой... |
|||
|
9
Михаил Козлов
10.07.18
✎
13:40
|
(4) Запрос программно.
|
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |