Оптимизация хранения табличных частей документа для ускорения работы формы

1. stronich 13.02.21 15:59 Сейчас в теме
Всем привет.

Вопрос такой: влияют ли как-то на скорость открытия формы документа те реквизиты и табличные части, которые на самой форме не отображаются? Есть документ, в котором большинство табличных частей, скажем так, служебные: история изменения отдельных реквизитов, история изменения количества в основной табличной части с номенклатурой и прочее. Данных в них изменяются только программно. Сейчас они выводятся на отдельной форме документа, которая открывается по кнопке из основной формы. Если сравнивать чисто количественно, то строк в "служебных" ТЧ больше в среднем раза в 3, чем в основной. Т.е. 75% данных при обычной работе пользователя с формой не нужны. Можно ли тут что-то оптимизировать? Понимаю, что можно перенести все служебные ТЧ на регистры сведений, но, возможно, есть какие-то другие варианты?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. biimmap 1919 13.02.21 16:15 Сейчас в теме
Влияет не наличие табличных частей и данных в них... Влияют способы заполнения данных в таблицы и способы чтения этих данных. У меня был недавно пример, где сначала я сделал 7 вспомогательных таблиц формы, потом стёр их все и объединил в одну. + поменял заполнение и использование. Часть реквизитов убрал в основную ТЧ, которая на форме отображается.

Такое преобразование сильно сказалось на скорости работы формы. Всё зависит от Вашей задачи.
3. stronich 13.02.21 16:42 Сейчас в теме
(2)
Всё зависит от Вашей задачи.


Задача простая. Есть 10 табличных частей. Они не нужны на основной форме документа, заполняются только программно. Есть отдельная форма документа, которая открывается по кнопке из основной формы, и в ней можно посмотреть все табличные части (каждая просто на отдельной странице). Вопрос: если я вместо этих табличных частей буду использовать регистры сведений, даст ли это какое-то ускорение при открытии основной формы?
5. biimmap 1919 13.02.21 17:03 Сейчас в теме
(3) нет конечно. будет доп. время на чтение регистров. Зачем? но ещё раз говорю, что зависит от решаемой задачи. мало ли где потом вы используете эти данные.
6. stronich 13.02.21 17:17 Сейчас в теме
(5)
будет доп. время на чтение регистров

Это будет происходить уже при открытии вспомогательной формы, что происходит не часто и вообще не критично.
4. stronich 13.02.21 16:49 Сейчас в теме
Вдруг есть какое-то общеупотребительное решение для хранения таких данных, которое в среднем всегда быстрее, чем просто табличные части документа.
7. t.v.s. 112 13.02.21 17:30 Сейчас в теме
При открытии формы объект читается из базы целиком, вместе со всеми табличными частями, даже если они не отображаются. 10 табличных частей - 10 дополнительных таблиц
stronich; +1 Ответить
8. biimmap 1919 13.02.21 18:10 Сейчас в теме
(7) резонно. потому автору и написал, что зависит от задачи. может в каждой таблице по 3 строки... тогда ну и пусть. Если там по 1000 строки более... Да надо анализировать что чаще, открытие или отображение. Как данные в регистры попадают и т.д.
9. stronich 13.02.21 20:19 Сейчас в теме
(7)
При открытии формы объект читается из базы целиком, вместе со всеми табличными частями, даже если они не отображаются. 10 табличных частей - 10 дополнительных таблиц
Правильно ли я понимаю, что это момент вообще никак не регулируется настройками конфигурации или кодом? Т.е. считывается всегда целиком и точка?
10. pyrkin_vanya 488 13.02.21 22:43 Сейчас в теме
(9)Да. Но они читаются. Как правило на чтение не идет слишком много ресурсов. Ну если конечно речь не о тысячах записях. А вот на отображение как раз таки нужны ресурсы.
11. SlavaKron 14.02.21 07:08 Сейчас в теме
(9) Есть такая галочка "Использовать всегда". Она определяет будет ли, например, табличная часть загружена в данные формы при создании формы. Если ее снять, вы не сможете обратиться к табличной части через Объект.ТабличнаяЧасть1 в контексте формы. Эти данные не будут мигрировать между клиентом и сервером при каждом серверном вызове. В общем, работа с формой будет оптимизирована. Однако, если галочка снята, табличная часть всё таки будет прочитана из СУБД при создании формы (ПриЧтенииНаСервере) и при записи (ПередЗаписьюНаСервере), так как там создается прикладной объект.
Прикрепленные файлы:
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот