Имя: Пароль:
1C
 
Долгое формирование\экспорт документа из 1С в .pdf
0 piratex
 
10.01.24
09:58
Доброго всем утра.
Сразу скажу что я не 1С-ник, скорее рядовой сотрудник.
Есть проблемка, счет из 1С-ки в формате экселя качается моментально, но при скачке его в формате пдф он скачивается чуть меньше минуты, при этом файл малый, буквально 40 строк, 50 столбцов, в .хлсе весит 70 КБ, в .пдфе 600 КБ.
Куда копать и как быть? :(
1 Волшебник
 
10.01.24
09:59
копайте в драйвер принтера
2 shuhard
 
10.01.24
10:00
(1) +1 используйте pdfcreator
3 piratex
 
10.01.24
10:01
Не понял, а как эт может быть связано со скоростью скачивания документа, мы не печатаем из 1С напрямую(
4 Волшебник
 
10.01.24
10:03
(3) Тем не менее драйвер принтера задействуется.
5 Fedor-1971
 
10.01.24
10:22
(0) От куда качается? Или это "фигура речи"?

Полный процесс получения файла ПДФ опиши

Так-то ПДФ может содержать картинку, а не текст, потому и такой размер

Копать, как всегда, код формирования файла и отправки оного на хранение
6 shuhard
 
10.01.24
10:32
(3)[мы не печатаем из 1С напрямую]
значит Вы ошиблись форумом
7 Seriy_Volk
 
10.01.24
11:25
На самом деле вопрос более интересный, чем кажется на первый взгляд. Как то уже сталкивались с подобным, картина вырисовывается вот какая:
1. берем пустую базу, неважно файловую или серверную. Платформа роли не играет, проверяли и на старых и вплоть до 23
2. открываем заранее сохраненный в mxl файл, например счет
3. Сохраняем в xls - 5 сек. Сохраняем в pdf локально -  6 сек
сохраняем в pdf на сетевой диск - 40 сек. Копируем ранее сохраненный pdf с локальной машины на тот же сетевой ресурс, куда сохранялось за 40 сек - 2 сек максимум.
у себя выкрутились костылями -  сделали альтернативную кнопку сохранения в pdf, которая сохраняет локально и затем копирует в нужную текущему пользователю папку.
Если кто то озвучит причину такого странного поведения - буду благодарен.
8 piratex
 
10.01.24
13:21
(2) помогло, спасибо!
9 NorthWind
 
10.01.24
13:59
(7) при копировании файл копируется большими блоками или целиком всем блином читается в память и также всем блином записывается. Кроме того, при использовании системных вызовов WinAPI для копирования могут применяться разные приблуды для оптимизации сетевых операций. А как 1С записывает файл - мы не знаем, может, она его маленькими кусочками по нескольку десятков байт пишет или вообще побайтно. Операций ввода-вывода гораздо больше, сеть тормозит, винда не знает, как это все оптимизировать, потому что она не в курсе что и как программа будет делать дальше. Вот и получается долго.