Имя: Пароль:
1C
 
Производительность вывода в ТабДок
0 PlotNick
 
21.05.07
14:22
При формировании отчета в десятки тысяч строк, 1С-ка тормозит. При чем запрос выполняется достаточно шустро, а вот вывод в табличный документ сопровождается жуткими тормозами. Что делать? Может есть способ увеличить быстродействие? Может через COM сразу в йоксель кидать? Посоветуйте пжалыста как быть...
1 Широкий
 
21.05.07
14:26
Основная проблема - неявное преобразование ссылочных типов в строку
2 Леха Дум
 
21.05.07
14:29
А какие то вычисления в процессе вывода идут? Делать все вычисления по возможности в запросе, запросы формировать так чтобы использовать данные запроса в выводе до последнего значения, делать названия параметров в таблице такими же как в запросе и при выводе делать так:

Пока НашаВыборка.Следующий() Цикл
ОбластьВывода.Параметры.Заполнить(НашаВыборка);
ТабДок.Вывести(ОбластьВывода);
КонецЦикла;
3 Леха Дум
 
21.05.07
14:32
+ то что в (1)
4 PlotNick
 
21.05.07
15:12
(1) Ссылочные данные из запроса идут через ПРЕДСТАВЛЕНИЕ()
5 jcage
 
21.05.07
15:13
(0) Код в студию.
6 PlotNick
 
21.05.07
15:20
(5) Код большой...  ничего в принципе архизамудренного в нем нету, просто много полей из запроса вытаскиваются, запрос сам непосредственно формируется очень шустро, но результаты в ТабДок вытаскивает долго - очень много строк.
7 PlotNick
 
21.05.07
15:29
Замеры производительности показывают что больше всего времени жрут именно методы ТабДок.Вывести();
8 PlotNick
 
21.05.07
15:33
Вообще сложилось впечатление что с Табличными документами в десятки тысяч строк Ска работает жутко медленно, даже Сворачивание/Разворачивание уровней группировок по всему документу, листание с использованием скролбара сопровождаются некоторыми тормозами.
ЗЫ: Машина у меня 2800 Ггц с гектаром РАМа... с видяхой все в порядке
9 PlotNick
 
21.05.07
15:36
У кого нибудь был опыт "выплевывания" больших объемов данных в йоксель через ком? Может это все таки будет быстрее чем ввыводить в ТабДок? Я понимаю что ком еще более тормознее работает через "Ску", но как я читал в 8.1 уже должно работать гораздо шустрей, но насколько шустрее?
10 jcage
 
21.05.07
15:50
Код типа

ОбластьСтрока.Параметры.НазваниеНоменклатуры = Выборка.Номенклатура.Наименование

есть?
11 PlotNick
 
21.05.07
15:56
(10) Нету... везде через Заполнить()
12 jcage
 
21.05.07
16:02
(11) "Представление" точно везде есть?
Вывод через ПостроительЗапроса.Вывести() пробовал?
13 PlotNick
 
21.05.07
16:20
(12) А вот через построитель запроса не пробовал...
Проблемы невозможно решaть нa том же уровне компетентности, нa котором они возникaют. Альберт Эйнштейн