Имя: Пароль:
1C
1С v8
УФ: Вывод большого количества строк.
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) Понял. Ну, как вариант, можно попробовать. Хотя я и пробовал, через СКД, с источником, в качестве запроса к внешним источникам(моя вьюха). Попробую еще передавая сформированную ТЗ. Может так и быстрее будет.
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.