|
v7: Загрузка процессора 100% | ☑ | ||
---|---|---|---|---|
0
gni
25.02.15
✎
10:05
|
Здравствуйте!
Имеется ПУБ, файловая, пользователи работают в терминале. С недавних пор (буквально несколько дней) началась такая ерунда: формируем отчет и сохраняем его в Excel. Отчет в 1С формируется нормально (т.е. недолго и без подвисаний), а при сохранении в xls процессор (точнее, один из 8 в мониторе ресурсов) грузится на 100%. Сохраняется отчет до нескольких минут, после этого все нормально работает. Файлик то получается небольшой - около 1,5 мб (около 8-10 тыс строк, 3 колонки). До недавних пор таких задержек не было. Никаких обновлений, изменений не делал. С чего такая фигня началась - не пойму. Отключение антивируса никак не влияет. Подскажите, куда можно посмотреть? Спасибо. |
|||
1
ДенисЧ
25.02.15
✎
10:07
|
8-10 тысяч строк для 77 при сохранении в ексель - уже многовато.
Увеличился размер отчёта, достиг предела опеределнного |
|||
2
kortun
25.02.15
✎
10:07
|
ищи информацию по ёкселю
|
|||
3
ssamm
25.02.15
✎
10:11
|
выставь перед сохранением фиксированную высоту строк в отчете, сохранится моментально
|
|||
4
shag008
25.02.15
✎
10:17
|
(3) что значит фиксированную высоту? Убрать "Переносить" с настройках ячеек?
|
|||
5
ssamm
25.02.15
✎
10:21
|
(4) Выдели весь отчет, правой кнопкой на заголовке строки -> Высота строки, поставь например 10. Сохраняй.
|
|||
6
ssamm
25.02.15
✎
10:24
|
Ну или формируй отчет через Йоксель
|
|||
7
shag008
25.02.15
✎
10:30
|
(5) ок
|
|||
8
Дотошный
25.02.15
✎
10:39
|
(7) ок - в смысле работает?
|
|||
9
gni
25.02.15
✎
11:36
|
(5) Действительно, помогает!
А на чем это решение основано? Раньше почему то и так работало нормально. Может быть можно как-то отчет сразу сделать, чтобы он быстро сохранялся? Одинаковую высоту строк в самом шаблоне проставил - все равно долго сохраняет. |
|||
10
Ёпрст
25.02.15
✎
11:45
|
(0) это [:]||||||||||||||||||||[:]
|
|||
11
shag008
25.02.15
✎
11:46
|
(8) ок - в смысле, понял что означает "фиксированная высота"
|
|||
12
gni
25.02.15
✎
11:52
|
Вдогонку (9).
Все получилось, большое спасибо. Выделил в шаблоне ВСЕ строки и сделал одной высоты, как указано в (5). Потом те строки, которые должны отличаться по высоте (заголовок) увеличил. Сейчас все отлично. Большое спасибо. |
|||
13
ssamm
25.02.15
✎
12:05
|
(12) раньше работало и без этого, потому как меньше строк было. Это древний глюк семерки
|
|||
14
ssamm
25.02.15
✎
12:06
|
Если надо чтоб сразу все норм было, пользуй Йоксель.
|
|||
15
DeiMos
25.02.15
✎
12:18
|
Обработка "Быстрое сохранение таблиц 1С (mxl) в формате Excel
============================================================= Обработка создана для решения двух существующих проблем 1С:Предприятия: * медленное сохранение табличных документов в формате Microsoft Excel. * некачественное сохранение табличных документов в формате Microsoft Excel. Проблема 1: Медленное сохранение. ================================= Суть состоит в том, что время, которое нужно 1С для сохранения, резко возрастает при увеличении объема сохраняемого документа. Если небольшие документы объемом до 1-2 тыс. строк 1С сохраняет еще за приемлемое время, то документы объемом выше 10 тыс. строк могут сохраняться несколько часов (или даже суток). Проблема 2: Некачественное сохранение. ====================================== Штатный конвертер 1С не отличается высоким качеством. Например, конвертер не поддерживает текст в ячейках длиной более 255 символов: при сохранении более длинный текст будет усекаться. Также не поддерживаются ячейки с поворотом текста, часто ячейки с многострочным текстом имеют высоту в одну строку, часто не переносятся многострочные объединения ячеек и другое. Подробнее можно посмотреть на этой странице: http://yoksel.net.ru/ProblemyStandartnogoMxl2Xls Данная обработка решает эти проблемы. Скоростные характеристики. ========================== Отчет "Анализ продаж", 18 тыс. строк: 4,46 сек. Отчет "Анализ продаж", 78 тыс. строк: 17,23 сек. Отчет "Анализ продаж", 184 тыс. строк: 24,44 сек. (Для таблиц объемом больше 65536 строк сохраняется только 65536 строк - поэтому разница между временем 78 тыс. и 184 тыс. строк невелика) Тестовая таблица 10 тыс. строк x 256 столбцов (2,5 млн. ячеек): 57,32 сек. Преимущества программы по сравнению с другими решениями ======================================================= Для ускорения сохранения часто используется решение, известное под названием "патч Ромикса". Решение связано с модификацией кода 1С (патчем). Отсюда вытекают основные проблемы решения: - Проблемы при смене релиза 1С - при изменении релиза патч может перестать работать или вообще приведет к нестабильной работе 1С (аварийные завершения и возможность потери данных). - Потенциальная ненадежность: т.к. исходных кодов 1С в открытом доступе нет, то и нет стопроцентной уверенности в корректности произведенной модификации. Используемая в данной обработке внешняя компонента Йоксель не производит каких-либо модификаций исполняемого кода 1С, поэтому в ней отсутствуют указанные выше проблемы. Другая проблема патча - "все равно медленно". В случае использования табличных документов со сложным форматирование сохранение все равно производится достаточно медленно. Компонента Йоксель сохраняет таблицы со сложным форматирование быстро. Для решения проблем некачественного сохранения табличных документов в Excel часто применяют различные обработки, которые работает с Excel по технологии OLE-Automation и либо выполняют конвертирование документов полностью самостоятельно, либо сначала конвертируют документ стандартным конвертером, а потом исправляют допущенные конвертером ошибки. Основной недостаток подобного решения: медленно. Обработки написаны на встроенном языке 1С:Предприятия и, значит, работают медленно, т.к. программный код интерпретируется. Далее, тормоза вносит использование OLE-Automation - данная технология никогда не предназначалась для обмена большими объемами данных. Другой недостаток: необходимость наличия Excel. В связи с ужесточением ситуации с нелицензионным ПО, предприятия часто отказываются от использования Microsoft Office и переходят на свободное программное обеспечение (OpenOffice). Поэтому Excel может и отсутствовать. Также бывают ситуации, когда наличие Excel на компьютере нежелательно - например, в случае терминального сервера. Компонента Йоксель не требует наличия Excel, поэтому может использоваться там, где Excel отсутствует. Также Йоксель написан на компилируемом языке - поэтому работает быстро. Установка ========= Для установки нужно следующее: 1) Если у вас еще не установлена FormEx или 1С++ версии 2.0, скопируйте компоненту FormEx (файл FormEx.dll) в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN). 2) Если у вас еще не установлена компонента Йоксель, скопируйте файл "SpreadSheet.dll" в каталог с программными файлами 1С (например, в каталог C:/Program Files/1Cv77/BIN). (если нет возможности разместить внешние компоненты в каталоге программных файлов, то можно поместить компоненты в каталог информационной базы) 3) Скопируйте файл "Быстрое сохранение mxl в xls.ert" в подкаталог "ExtForms" каталога информационной базы. 4) В "Конфигураторе" добавьте на какую-нибудь панель инструментов кнопку следующего вида: - Объект: "Задача". - Команда: "Задача.Выполнить". - Подсказка и короткая подсказка: "Сохранение таблицы в Excel" - Параметры - Формула: "ОткрытьФорму ("Отчет",,КаталогИБ () + "ExtForms/Быстрое сохранение mxl в xls.ert")" Использование ============= Переключитесь на табличный документ 1С, который требуется сохранить в Excel, и нажмите на созданную в Конфигураторе кнопку. В открывшейся форме укажите, куда следует сохранить табличный документ и нажмите кнопку "Сохранить". О программе =========== Для сохранения табличных документов 1С в формат Excel использована внешняя компонента "Йоксель". Кроме сохранения таблиц в Excel Йоксель обладает еще следующими возможностями: - прямое (без наличия Excel) чтение файлов Excel и конвертирование их в формат табличных документов 1С с сохранением форматирования; - преобразование табличных документов в графические файлы форматов JPEG, PNG, BMP; - отображение табличных документов на диалоговых формах 1С:Предприятия с возможностью построения таблиц в режиме ввода данных нефиксированной структуры. Сайт проекта: http://yoksel.net.ru Для получения активного табличного документа в 1С:Предприятии использована внешняя компонента FormEx. Компонента реализует ряд возможностей по управлению интерфейсом 1С:Предприятия и ряд других сервисных функций. Страница компоненты: http://dorex.ru/?projects&formex Связаться с автором данной обработки можно по адресу: [email protected] |
|||
16
dk
25.02.15
✎
12:21
|
Сохранение в файловой 8-ке из MXL в XLSX рулит ))
700 колонок легко, а йоксель сдулся |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |