Метод КоличествоСтраниц() страшно тормозит - как лечить ? #447009


#0 by Smallrat
Имеется БП 1.6.16.6, регламентированный отчет "Бухгалтерский баланс". Табличный документ выводится где-то минут 10, покопавшись выяснил что тормозит строчка Точнее метод КоличествоСтраниц табличного документа. Я так понимаю - метод что-то там читает из настроек принтера, и затык может быть где-то на уровне дров к принтеру. Но вот куда копать - не пойму. Может кто-то сталкивался с этим ?
#1 by Smallrat
ап ап
#2 by Aprobator
а нафиг эта строчка вообще нужна?
#3 by Smallrat
хз, возможно бьет таблицу по страницам, если добавлено много дополнительных строк. полностью процедура выглядит так:
#4 by Мутабор
Можно, на странице влезает 65 что ли строк, разбивай сам и печатай на матричном принтере :))))) Попробуй другой принетр по умолчанию установить, сменить видеокарту или хотя бы драйвера, а лучше озвучь что у тебя стоит...
#5 by Smallrat
Дык, это сервер стоечный - поменять там вряд ли что-то можно, видеокарту точно нельзя. Принтер по умолчанию - сетевая МФУшка HP2727nf, можно попробовать дрова ей поменять. Вообще в системе стоит порядка 12 принтеров, это потому что работают все в терминале.
#6 by Мутабор
Попробуй у себя локально запустить, результат тот же?
#7 by Smallrat
Локально все кардинально лучше, тот же принтер по умолчанию, теже дрова - бланк выводится за 30 секунд (хотя 30 секунд на то чтобы показать бланк из таблицы - это тоже слишком дофига)
#8 by НЕА123
можно попробовать через ПроверитьВывод, но, вряд-ли поможет.
#9 by Smallrat
+ замер производительности на локальном компе: "Если ПечФорма.ПолучитьОбласть(ПослВерх, 0, Сч, 0).КоличествоСтраниц > 1 Тогда" вызывалась 70 раз, время выполнения 35 секунд и 99,78% всего времени. на сервере это уже 10 минут где-то. еще вот что заметил - во время выполнения всего этого процесс spoolsv.exe отжирает почти половину ресурсов.
#10 by Smallrat
Щас попробую
#11 by Мутабор
Так и должно быть, связано все от монитора до принетра в при такой проверке...
#12 by Smallrat
ПроверитьВывод работает на два порядка быстрее, но я не понял как он работает. Написал вот такой костыль: Он мне двухстраничный документ разбил на 4 страницы. Почему то если получить выводимый блок: а ПечФорма.ПроверитьВывод(ПроверкаТаблДок) скажет что на одну страницу не умещается Костыль этот я всё равно прикрутил - оставил там обе проверки, но это так - пока ничего достойного не придумаю. Или 1С не даст по башке своим прогам которые используют такие методы в циклах.
#13 by Smallrat
А дрова принтера я поменял - ничего не изменилось (
#14 by НЕА123
#15 by Smallrat
ага, вот только что понял как оно работает. переписал - стало раз в 10 быстрее. спасибо )
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям

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