УФ: Вывод большого количества строк. #774064


#0 by daylight
Доброго времени суток всем. Есть, казалось бы, незамысловатая задача: В обработке, запросом, получаются данные из внешнего источника(вьюха). Получение данных в таблицу значений проходит, относительно, быстро. Проблему составляет вывод этих данных пользователю. Пробовал выводить в таблицу значений на форме и в Табличный документ. Вывожу методом ЭтотОбъект.ТЗ.Загрузить(ТзРезультатЗапроса) - для таблицы значений или через построитель для табличного документа. В среднем выгрузка 175 000 строк выводит за 2 - 3 минуты. Это чисто ЭтотОбъект.ТЗ.Загрузить(ТзРезультатЗапроса). Собственно вопрос: Можно ли как то ускорить этот процесс?
#1 by rphosts
тебе на просмотр? Выводи порциями!
#2 by daylight
На просмотр. Подумывал через динамический список. Или порциями, это как? Можно ли в качестве источника для динамического списка, с запросом, указать таблицу значений? Что бы оно не читало данные из базы? А то там тяжеловесный запрос.
#3 by rphosts
укажи запрос, а текст запроса строй перед открытием формы... ну и кнопки перехода к очередной части... например так. ЗЫ слабо представляю форму с таблицей почти в 200.000 строк... как и чела который всё это будет смотреть/править.
#4 by daylight
Не очень понял, относительно кнопок перехода к очередной части. В динамическом списке, разве не во время прокрутки данные подгружаются из источника? Там разве есть какие то элементы управления? ЗЫ: Я аналитику то же самое сказал. Меня уверили что нашим пользователям такой объем информации необходим :)
#5 by rphosts
>ЗЫ: Я аналитику то же самое сказал. Меня уверили что нашим пользователям такой объем информации необходим :) весь сразу? Вьюха... скорее всего это только для просмотра. Может всё-таки сделать отчёт с кучей условий на СКД?
#6 by MaxS
Делал вывод с помощью СКД в табличный документ. Значительно быстрее вывода табличной части на форме. Но почему этот вопрос не решен средствами платформы? Пусть бы платформа сама при необходимости подгружала бы порциями с сервера... Это баг или фича?
#7 by daylight
Там есть куча отборов. 200 000 строк - это вариант без отборов. Я на него закладываюсь, мало ли что пользователю в голову придет. Реальных данных, с актуальными отборами, выводится 7000 - 10000 строк. Но даже такое количество выгружается в таблицу значений на форме, очень долго. Минуту, может чуть меньше. К слову, на СКД пробовал. Там количество вызовов, при чтении из вьюхи(внешний источник), просто зашкаливает. Такое впечатление, что СКД как то построчно грузит в память данные, а потом их обрабатывает по своем, с дальнейшим выводом в шаблон. Получаетя еще дольше, чем просто вывести на форму. К тому же СКД накладывает отборы уже на результирующие данные. А мои отборы передаются в хранимки, тем самым применясь еще на этапе вывода данных вьюхой, что урезает количество строк.
#8 by daylight
Про СКД в . А у тебя, в примере, который на картинке, все сделано через схему компоновки? Или ты просто передал в скд таблицу значений и сказал вывести в табличный документ?
#9 by MaxS
Э... как-то не сумел прочитать 7 когда писал 6. )) В обработке есть макет с СКД, передал в скд таблицу значений через внешние наборы данных и сказал вывести в табличный документ. Перед выводом табличного документа очищается табличная часть, ТЗ с данными хранится во временном хранилище. Тормозов при просмотре не замечено.
#10 by daylight
Понял. Ну, как вариант, можно попробовать. Хотя я и пробовал, через СКД, с источником, в качестве запроса к внешним источникам(моя вьюха). Попробую еще передавая сформированную ТЗ. Может так и быстрее будет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям

В этой группе 1С