На форме документа 4 табличных части, которые заполняются или при чтении формы на сервере (если документ записан) или по кнопке "Заполнить".
Алгоритм заполнения одинаковый, состав строк тоже одинаковый, независимо от того, будет ли вызвана процедура при чтении или по кнопке.
При активации строки в одной из таблиц срабатывает ОтборСтрок в трех других таблицах.
Проблема в следующем - когда таблицы заполнены по кнопке "Заполнить", отбор строк работает быстро, мгновенно.
Если же таблицы были заполнены при чтении формы, то отбор работает в 10 раз медленнее.
Повторюсь, что количество и состав строк идентичен на 100% при обоих вариантах заполнения.
Почему отбор работает медленно при вызове процедуры заполнения из процедуры ПриЧтенииНаСервере?
смотри в код события (не помню, как зовут), в котором можно дозаполнять колонки, которых нет в метаданных и которые присутствуют только в данныеФормы. Что-то там блаблаблаПроОформление, кажется.
Там скорее всего какие-то запросы выполняются на каждую строку потому, что что-то таки не заполнено и код заполнения таки не одинаковый (или выполняется по-разному)
(4) при чтении на сервере я именно заполнял таблицы
при отборе строк чтение и перезаполнение таблиц не происходило
и когда переделал вызов процедур при создании на сервере, проблема осталась
решилась, только когда эти же процедуры заполнения таблиц вызвал при открытии
видимо есть какие-то нюансы, о которых я не в курсе
(5) Чудес не бывает. Если заполнение одинаково - включаем замер производительности и смотрим, какие строки отнимают время.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший