|
Скорость отбора строк в табличной части |
☑ |
0
ac13
14.12.23
✎
16:50
|
На форме документа 4 табличных части, которые заполняются или при чтении формы на сервере (если документ записан) или по кнопке "Заполнить".
Алгоритм заполнения одинаковый, состав строк тоже одинаковый, независимо от того, будет ли вызвана процедура при чтении или по кнопке.
При активации строки в одной из таблиц срабатывает ОтборСтрок в трех других таблицах.
Проблема в следующем - когда таблицы заполнены по кнопке "Заполнить", отбор строк работает быстро, мгновенно.
Если же таблицы были заполнены при чтении формы, то отбор работает в 10 раз медленнее.
Повторюсь, что количество и состав строк идентичен на 100% при обоих вариантах заполнения.
Почему отбор работает медленно при вызове процедуры заполнения из процедуры ПриЧтенииНаСервере?
|
|
1
viraboy
14.12.23
✎
16:53
|
Посмотрите на серверные вызовы при отборе. Форма может не все данные затащить. Попробуйте после заполнения в цикле их обойти
|
|
2
Лефмихалыч
14.12.23
✎
18:12
|
смотри в код события (не помню, как зовут), в котором можно дозаполнять колонки, которых нет в метаданных и которые присутствуют только в данныеФормы. Что-то там блаблаблаПроОформление, кажется.
Там скорее всего какие-то запросы выполняются на каждую строку потому, что что-то таки не заполнено и код заполнения таки не одинаковый (или выполняется по-разному)
|
|
3
ac13
14.12.23
✎
21:21
|
(1), (2) спасибо
странная вещь, но помогло, когда процедуру вызвал не при чтении или при создании на сервере, а при открытии
|
|
4
ptiz
15.12.23
✎
07:55
|
(3) отладчиком смотрел? Возможно у тебя установка отбора отрабатывает 100500 раз, когда расположена ПриЧтенииНаСервере
|
|
5
ac13
15.12.23
✎
10:54
|
(4) при чтении на сервере я именно заполнял таблицы
при отборе строк чтение и перезаполнение таблиц не происходило
и когда переделал вызов процедур при создании на сервере, проблема осталась
решилась, только когда эти же процедуры заполнения таблиц вызвал при открытии
видимо есть какие-то нюансы, о которых я не в курсе
|
|
6
ptiz
15.12.23
✎
11:39
|
(5) Чудес не бывает. Если заполнение одинаково - включаем замер производительности и смотрим, какие строки отнимают время.
|
|