#0
by romix
При попытке сохранить в Excel большой таблицы 1С "подвисает", нагружая процессор на 100%. Попытаемся исправить этот недостаток 1С 7.7.
#2
by romix
Да вот думаю может в 26 релизе парочка исправлений и появится? :-) Не знаешь куда надо в 1С письмо посылать? :-) Или они только с франчами разговаривают?
#7
by smaharbA
А вот с хтмл пожалуй луччий выход, открываться будет всюду и править программно даже без наличия екселя и прочего проще, да и при надобности в XML преобразовать несложно
#8
by romix
Ну да, HTML даже можно переименовать в XLS, и он откроется как будто это файл в формате Excel.
#9
by romix
Начал письмо писать - боюсь, не поймут, скажут: патч, кряк, ату его. :-) Короче если кому-то надо, то у меня аська и почта в карточке доступные. А самому обращаться в 1С че-то страшно. :-)
#11
by Лямур
А Волшебник не поможет. Он же с Нуралиевым знаком. Правда не знаю в каких они отношениях.
#13
by Лямур
Да, интересно, фирме 1С дело говорят и очень грамотно все по пальцем разжовано, а они никакой реакции. Совсем забили.
#14
by Самобан
зачем развивать семерку, когда даже с восьмеркой в свете стремлений майкрософта они чувствуют себя не очень уверенно?
#15
by romix
Там надо официально обратиться в hline@1c.ru и назвать код партнера или (для конечных пользователей) код продукта. У нас вроде бы легальная 1С-ка, но все равно че-то страшно. :-) Патч поставили - вроде стало работать лучше. :-)
#16
by romix
А патч - отчасти полуфабрикат, т.к. появляется проблема с отображением таблиц (т.е. надо в одной копии 1С работать, а в другой - патченной - формировать отчеты и сохранять их в Excel). :-)
#17
by Самобан
т.е. ты не имеешь права смотреть отладчиком что там происходит? про патч ведь говорить не обязательно.
#20
by Оупенсоурс
- А представьте только, что может сделать наш Хакер с 7-кой, если Нуралиев сподобится откыть ее исходные тексты...
#21
by АЛьФ
2 Молодец. Исследуя более подробно приведенное тобой место, можно сделать вывод, что с эим же место связаны тормоза в отрисовке таблицы на экране: при большом количестве строк чем ниже опускаешься, тем медленней листинг. Все из-за того, что они для получения координат ячейки считают от начала таблицы высоту всех предшедствующих строк. Сомневаюсь, что они будут это дело исправлять, т.к. там потребуется менять логику всего метода CSheetGDI::GetCellRect.
#22
by romix
В исходных текстах легче запутаться. :-) Вот думаю, если перехватить момент начала записи в Excel ?SaveAs@CSheetDoc@@QAEHPBDW4CSheetSaveAsType@@@Z и внутри этого вызова все вызовы Moxel!?GetRowHeight@CSheetGDI@@QAEHH@Z заменять на пустышку (которая возвращает, например, какое-то стандартное значение), то проблема таки будет решена..
#23
by romix
Сделал внешнюю компоненту для разруливания проблемы. Теперь 1С 7.7 сохраняет MXL->XLS за несколько секунд! Тестовая конфигурация и исходный код приведены в архиве.
#24
by romix
Сохранение 5000 строк в XLS - без ВК Начало: 13:25:08 Конец: 13:25:55 Сохранение 5000 строк в XLS - с ВК Начало: 13:26:55 Т.е. 50 секунд против 1 секунды. С ростом числа строк "торможение" растет по экспоненте. ВК решает эту проблему, и позволяет нормально сохранять в Excel.
#30
by skunk
больше ерундой не занимайся... делай реальные вещи... а то всяких там зам мд... кстати за вот эту тебе реальный респект передают...
#31
by romix
Ничего не понял (про какую ерунду идет речь) но все равно спасибо... :-) А кто-нибудь подтверждает работоспособность?
#33
by Злоп
Сейчас проверим... А как проверить работоспособность? главное - чтоб после правки ничего "не съелось" при сохранении... способ проверить только один - сохранить по старому, сохранить по новому - и сверить. Вопрос - сколько таких сверок сделать? будет ли правильно работать на объединенных ячейках? при "тяжелом форматировании" - много разных объединенных ячеек и их взаимное расположение... вот это, имхо, надо проверить.. соррии если бред - в настоящем прогораммировании не силен, но если в исправлении идет речь про "высоту ячейки" - то надо на них смотреть...
#34
by romix
Спасибо. Да просто что-нибудь сохранить. Там ничего по большому счету не изменилось - я только отключаю многократный (N факториал) подсчет высоты при сохранении в Excel. Я наверное завтра еще потестю на рабочих отчетах - результат доложу...
#36
by Злоп
Таблица порядка 8000 строк со "сложным" форматированием - объединенные ячейки по высоте (разное количество строк в одной ячейке) - запустил сохранение в эксель с применением патчинга - как началась третья минута - снял... саму таблицу послал на мыло.
#37
by romix
Посмотрел - если делать программное сохранение, то ВК срабатывает, и все ускоряет, а если через меню "Файл"-"Сохранить как", - то нет... Там идет другой вызов, который я сейчас затрудняюсь перехватить... ?OnFileSaveAs@CSheetDoc@@IAEXXZ
#50
by romix
Письмо с описанием проблемы (долго сохраняется в Excel и т.п.) можно написать на линию тех. поддержки hline@1c.ru Надо только иметь купленную 1С-ку с регистрацией (желтая карточка). Интересно, сработает ли пробивной эффект бомбы флеш-моба.. :-)
#51
by Злоп
Спсб. жаль что по саве ас не перехватывает... а то я уже губу раскатал на красивую жизнь...
Тэги:
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Тестирование и исправление базы
- Поиск нужного значение в листе Excel при загрузке документов из Excel в 1С
- Не проходит тестирование и исправление
- v7: Вопрос по статье - патчинг Moxel.dll
- Исправление ошибки 100% загрузки процессора(вопрос)
- Excel и 1С7.7 Как задать имя книги при создании методом Excel.WorkBooks.Add
- Вылетает 1С77 в терминале (WIN2003server) ошибка модуль Moxel.dll, Basic.dll
- Чем грозит замена odbcbcp.dll, sqlsrv32.dll, sqlsrv32.dll, в Win7 ?
- Тестирование и исправление базы в файловом и серверном варианте
- Новый COMОбъект("Excel.Application") и зависание процесса Excel
- Выгрузка в Excel по шаблону Active Document различия Excel 2010 Excel 2016
- Выгрузка в Excel по шаблону Active Document различия Excel 2010 Excel 2016 ч2
В этой группе 1С
- ТиС. Режимы работы ККМ.
- Запрет редактирования строки 7.7
- Текущая строка элемента формы поле списка значений!?
- При загрузке 1С бесконечно виснет
- Выгрузила проводки по зарплате из ЗиК 7 в бух 8, не могу выплатить зарплату
- Консультант+ можно ли его взломать?
- Как можно изменить реквизиты регистра накопления?
- плохой переход с 5 на 6. прошу помощи
- Господа, как в 8-ке обратиться к подчиненным документам
- можно на сканер ШК подавать питание через Com-порт?
- ТиС: Посоветуйте схему
- OFF: Друг принес блок питания Thermaltake PurePower 680(!)W!
- Перенос документов и свертка базы
- УПП. Складской ордер
- Сохранить таблицу 1С в Word
- 1С не видит принтер
- Назначение поля VERSTAMP в DBF файлах
- Параметры миграции в УРИБ.
- Может ли сальдо конечное кредитовое по счет ЗПК быть <0?
- Понятие встречного выпуска в УПП