|
УФ: Вывод большого количества строк. | ☑ | ||
---|---|---|---|---|
0
daylight
08.06.16
✎
04:46
|
Доброго времени суток всем. Есть, казалось бы, незамысловатая задача:
В обработке, запросом, получаются данные из внешнего источника(вьюха). Получение данных в таблицу значений проходит, относительно, быстро. Проблему составляет вывод этих данных пользователю. Пробовал выводить в таблицу значений на форме и в Табличный документ. Вывожу методом ЭтотОбъект.ТЗ.Загрузить(ТзРезультатЗапроса) - для таблицы значений или через построитель для табличного документа. В среднем выгрузка 175 000 строк выводит за 2 - 3 минуты. Это чисто ЭтотОбъект.ТЗ.Загрузить(ТзРезультатЗапроса). Собственно вопрос: Можно ли как то ускорить этот процесс? |
|||
1
rphosts
08.06.16
✎
04:56
|
(0) тебе на просмотр? Выводи порциями!
|
|||
2
daylight
08.06.16
✎
05:16
|
На просмотр. Подумывал через динамический список. Или порциями, это как?
Можно ли в качестве источника для динамического списка, с запросом, указать таблицу значений? Что бы оно не читало данные из базы? А то там тяжеловесный запрос. |
|||
3
rphosts
08.06.16
✎
05:33
|
(2) укажи запрос, а текст запроса строй перед открытием формы... ну и кнопки перехода к очередной части... например так.
ЗЫ слабо представляю форму с таблицей почти в 200.000 строк... как и чела который всё это будет смотреть/править. |
|||
4
daylight
08.06.16
✎
05:47
|
Не очень понял, относительно кнопок перехода к очередной части. В динамическом списке, разве не во время прокрутки данные подгружаются из источника? Там разве есть какие то элементы управления?
ЗЫ: Я аналитику то же самое сказал. Меня уверили что нашим пользователям такой объем информации необходим :) |
|||
5
rphosts
08.06.16
✎
05:53
|
>ЗЫ: Я аналитику то же самое сказал. Меня уверили что нашим пользователям такой объем информации необходим :)
весь сразу? Вьюха... скорее всего это только для просмотра. Может всё-таки сделать отчёт с кучей условий на СКД? |
|||
6
MaxS
08.06.16
✎
06:02
|
Делал вывод с помощью СКД в табличный документ.
http://catalog.mista.ru/upload/iblock/11d/Вкладка%20данные%20Excel%20после%20загрузки%20номенклатуры%20УТ%2011.2.png Значительно быстрее вывода табличной части на форме. Но почему этот вопрос не решен средствами платформы? Пусть бы платформа сама при необходимости подгружала бы порциями с сервера... Это баг или фича? |
|||
7
daylight
08.06.16
✎
06:05
|
Там есть куча отборов. 200 000 строк - это вариант без отборов. Я на него закладываюсь, мало ли что пользователю в голову придет.
Реальных данных, с актуальными отборами, выводится 7000 - 10000 строк. Но даже такое количество выгружается в таблицу значений на форме, очень долго. Минуту, может чуть меньше. К слову, на СКД пробовал. Там количество вызовов, при чтении из вьюхи(внешний источник), просто зашкаливает. Такое впечатление, что СКД как то построчно грузит в память данные, а потом их обрабатывает по своем, с дальнейшим выводом в шаблон. Получаетя еще дольше, чем просто вывести на форму. К тому же СКД накладывает отборы уже на результирующие данные. А мои отборы передаются в хранимки, тем самым применясь еще на этапе вывода данных вьюхой, что урезает количество строк. |
|||
8
daylight
08.06.16
✎
06:08
|
(6) Про СКД в (7).
А у тебя, в примере, который на картинке, все сделано через схему компоновки? Или ты просто передал в скд таблицу значений и сказал вывести в табличный документ? |
|||
9
MaxS
08.06.16
✎
06:28
|
(8) Э... как-то не сумел прочитать 7 когда писал 6. ))
В обработке есть макет с СКД, передал в скд таблицу значений через внешние наборы данных и сказал вывести в табличный документ. Перед выводом табличного документа очищается табличная часть, ТЗ с данными хранится во временном хранилище. Тормозов при просмотре не замечено. |
|||
10
daylight
08.06.16
✎
06:36
|
(9) Понял. Ну, как вариант, можно попробовать. Хотя я и пробовал, через СКД, с источником, в качестве запроса к внешним источникам(моя вьюха). Попробую еще передавая сформированную ТЗ. Может так и быстрее будет.
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |