|
|
|
Исправление ошибки при экспорте в Excel (патчинг Moxel.dll) | ☑ | ||
|---|---|---|---|---|
|
0
romix
модератор
11.05.06
✎
19:06
|
При попытке сохранить в Excel большой таблицы 1С "подвисает", нагружая процессор на 100%. Попытаемся исправить этот недостаток 1С 7.7.
Книга знаний: Исправление ошибки при экспорте в Excel (патчинг Moxel.dll) |
|||
|
1
Asmody
11.05.06
✎
19:09
|
romix - неуемный хакер :)
|
|||
|
2
romix
модератор
11.05.06
✎
19:13
|
(1) Да вот думаю может в 26 релизе парочка исправлений и появится? :-)
Не знаешь куда надо в 1С письмо посылать? :-) Или они только с франчами разговаривают? |
|||
|
3
Advan
11.05.06
✎
19:13
|
(2)Им Уже на 7-ку наплевать
|
|||
|
4
Asmody
11.05.06
✎
19:15
|
(2) hline@1c.ru
|
|||
|
5
romix
модератор
11.05.06
✎
19:18
|
(4) Фенькс. Они там наверное лениво нажимают кнопку Delete. :-)
|
|||
|
6
Иде я
11.05.06
✎
19:20
|
(5) Неа - у них спамфильтры грамотно настроены :)
|
|||
|
7
smaharbA
11.05.06
✎
19:41
|
А вот с хтмл пожалуй луччий выход, открываться будет всюду и править программно даже без наличия екселя и прочего проще, да и при надобности в XML преобразовать несложно
|
|||
|
8
romix
модератор
11.05.06
✎
19:44
|
(7) Ну да, HTML даже можно переименовать в XLS, и он откроется как будто это файл в формате Excel.
|
|||
|
9
romix
модератор
11.05.06
✎
20:07
|
(4) Начал письмо писать - боюсь, не поймут, скажут: патч, кряк, ату его. :-)
Короче если кому-то надо, то у меня аська и почта в карточке доступные. А самому обращаться в 1С че-то страшно. :-) |
|||
|
10
Самобан
11.05.06
✎
20:09
|
(9) а ты представься родственником президента. посмотрим, кому страшно будет ;)
|
|||
|
11
Лямур
11.05.06
✎
20:12
|
(9)А Волшебник не поможет. Он же с Нуралиевым знаком. Правда не знаю в каких они отношениях.
|
|||
|
12
Скользящий
11.05.06
✎
20:14
|
+(10) Бери выше, родственником Нуралиева.
|
|||
|
13
Лямур
11.05.06
✎
20:21
|
Да, интересно, фирме 1С дело говорят и очень грамотно все по пальцем разжовано, а они никакой реакции. Совсем забили.
|
|||
|
14
Самобан
11.05.06
✎
20:23
|
(13) зачем развивать семерку, когда даже с восьмеркой в свете стремлений майкрософта они чувствуют себя не очень уверенно?
|
|||
|
15
romix
модератор
11.05.06
✎
20:26
|
(11) Там надо официально обратиться в hline@1c.ru и назвать код партнера или (для конечных пользователей) код продукта. У нас вроде бы легальная 1С-ка, но все равно че-то страшно. :-) Патч поставили - вроде стало работать лучше. :-)
Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки |
|||
|
16
romix
модератор
11.05.06
✎
20:28
|
А патч (0) - отчасти полуфабрикат, т.к. появляется проблема с отображением таблиц (т.е. надо в одной копии 1С работать, а в другой - патченной - формировать отчеты и сохранять их в Excel). :-)
|
|||
|
17
Самобан
11.05.06
✎
20:29
|
(15) т.е. ты не имеешь права смотреть отладчиком что там происходит? про патч ведь говорить не обязательно.
|
|||
|
18
romix
модератор
11.05.06
✎
20:30
|
(17) Могут еще "на всякий случай" поставить защиту от отладки. :-)
|
|||
|
19
romix
модератор
11.05.06
✎
20:31
|
(14) В 8-ке тоже есть ошибка Книга знаний: Исправление ошибки 1С:Предприятие 7.7/8.0 - 100% загрузка процессора при ожидании блокировки
Таблицы не смотрел, щас кстати проверю :-) |
|||
|
20
Оупенсоурс
12.05.06
✎
12:31
|
(1) - А представьте только, что может сделать наш Хакер с 7-кой, если Нуралиев сподобится откыть ее исходные тексты...
|
|||
|
21
АЛьФ
модератор
12.05.06
✎
12:55
|
2(0) Молодец.
Исследуя более подробно приведенное тобой место, можно сделать вывод, что с эим же место связаны тормоза в отрисовке таблицы на экране: при большом количестве строк чем ниже опускаешься, тем медленней листинг. Все из-за того, что они для получения координат ячейки считают от начала таблицы высоту всех предшедствующих строк. Сомневаюсь, что они будут это дело исправлять, т.к. там потребуется менять логику всего метода CSheetGDI::GetCellRect(). |
|||
|
22
romix
модератор
21.05.06
✎
03:38
|
(20) В исходных текстах легче запутаться. :-)
(21) Вот думаю, если перехватить момент начала записи в Excel ?SaveAs@CSheetDoc@@QAEHPBDW4CSheetSaveAsType@@@Z и внутри этого вызова все вызовы Moxel!?GetRowHeight@CSheetGDI@@QAEHH@Z заменять на пустышку (которая возвращает, например, какое-то стандартное значение), то проблема таки будет решена.. |
|||
|
23
romix
модератор
12.06.06
✎
13:15
|
Сделал внешнюю компоненту для разруливания проблемы. Теперь 1С 7.7 сохраняет MXL->XLS за несколько секунд!
Тестовая конфигурация и исходный код приведены в архиве. http://x-romix.narod.ru/MXL_DOCTOR.rar |
|||
|
24
romix
модератор
12.06.06
✎
13:29
|
Сохранение 5000 строк в XLS - без ВК
Начало: 13:25:08 Конец: 13:25:55 Сохранение 5000 строк в XLS - с ВК Начало: 13:26:55 Конец: 13:26:56 Т.е. 50 секунд против 1 секунды. С ростом числа строк "торможение" растет по экспоненте. ВК решает эту проблему, и позволяет нормально сохранять в Excel. |
|||
|
25
skunk
12.06.06
✎
13:33
|
Ромка перестал ерундой страдать...
|
|||
|
26
syktyk
12.06.06
✎
13:40
|
Чую: унесут его скоро черти в одну известную фирму :)
|
|||
|
27
romix
модератор
12.06.06
✎
13:44
|
(+24) Обновил статью в КЗ по ссылке (0).
|
|||
|
28
skunk
12.06.06
✎
13:50
|
ну, прямо таки молодец
|
|||
|
29
romix
модератор
12.06.06
✎
13:53
|
:-)
|
|||
|
30
skunk
12.06.06
✎
13:54
|
больше ерундой не занимайся... делай реальные вещи... а то всяких там зам мд... кстати за вот эту тебе реальный респект передают...
|
|||
|
31
romix
модератор
12.06.06
✎
19:38
|
(30) Ничего не понял (про какую ерунду идет речь) но все равно спасибо... :-)
А кто-нибудь подтверждает работоспособность? |
|||
|
32
Vippi
12.06.06
✎
19:51
|
(31) Подтверждаю.
Круто. Молодец. |
|||
|
33
Злоп
12.06.06
✎
20:41
|
Сейчас проверим...
А как проверить работоспособность? главное - чтоб после правки ничего "не съелось" при сохранении... способ проверить только один - сохранить по старому, сохранить по новому - и сверить. Вопрос - сколько таких сверок сделать? будет ли правильно работать на объединенных ячейках? при "тяжелом форматировании" - много разных объединенных ячеек и их взаимное расположение... вот это, имхо, надо проверить.. соррии если бред - в настоящем прогораммировании не силен, но если в исправлении идет речь про "высоту ячейки" - то надо на них смотреть... |
|||
|
34
romix
модератор
12.06.06
✎
20:48
|
(32) Спасибо.
(33) Да просто что-нибудь сохранить. Там ничего по большому счету не изменилось - я только отключаю многократный (N факториал) подсчет высоты при сохранении в Excel. Я наверное завтра еще потестю на рабочих отчетах - результат доложу... |
|||
|
35
Злоп
12.06.06
✎
21:11
|
Косячит...
Ща попытаюсь отловить в какой ситуации |
|||
|
36
Злоп
12.06.06
✎
21:25
|
Таблица порядка 8000 строк со "сложным" форматированием - объединенные ячейки по высоте (разное количество строк в одной ячейке) - запустил сохранение в эксель с применением патчинга - как началась третья минута - снял...
саму таблицу послал на мыло. |
|||
|
37
romix
модератор
13.06.06
✎
08:42
|
(36) Посмотрел - если делать программное сохранение, то ВК срабатывает, и все ускоряет, а если через меню "Файл"-"Сохранить как", - то нет... Там идет другой вызов, который я сейчас затрудняюсь перехватить...
?OnFileSaveAs@CSheetDoc@@IAEXXZ |
|||
|
38
jbond
13.06.06
✎
10:51
|
А теперь остается включить функционал этой ВК в 1С++
|
|||
|
39
skunk
13.06.06
✎
10:53
|
кстати не что подобное видал от Ковычек... только не надо было смотрел
|
|||
|
40
АЛьФ
13.06.06
✎
12:15
|
2(38) Боже упаси!!!
|
|||
|
41
romix
модератор
13.06.06
✎
12:17
|
Есть возможность регистрировать внешние компоненты без прописывания их в реестре.
Загрузка ВК без регистрации в реестре |
|||
|
42
romix
модератор
13.06.06
✎
12:18
|
(+41) Т.е. нет необходимости создавать Одну Большую Компоненту.
|
|||
|
43
jbond
13.06.06
✎
12:19
|
(40) - причины?
|
|||
|
44
romix
модератор
13.06.06
✎
12:22
|
(43) Имхо (0) - это явный баг, который лучше отправить в 1С.
|
|||
|
45
jbond
13.06.06
✎
12:32
|
(44) - а они там отреагируют?
|
|||
|
46
romix
модератор
13.06.06
✎
12:35
|
(45) Ну если 50 человек напишут, то отреагируют я думаю :-)
|
|||
|
47
ATI
13.06.06
✎
12:37
|
(46)куда писать, огранизовывай флеш моб. :)
я за, то есть, поддержу. |
|||
|
48
skunk
13.06.06
✎
12:42
|
(45)думаю, что нет
|
|||
|
49
jbond
13.06.06
✎
13:09
|
(47) - тогда уж что-нибудь более существенное запросить.
|
|||
|
50
romix
модератор
13.06.06
✎
13:30
|
(47) Письмо с описанием проблемы (долго сохраняется в Excel и т.п.) можно написать на линию тех. поддержки hline@1c.ru
Надо только иметь купленную 1С-ку с регистрацией (желтая карточка). Интересно, сработает ли пробивной эффект бомбы флеш-моба.. :-) |
|||
|
51
Злоп
13.06.06
✎
21:11
|
(37) Спсб.
жаль что по саве ас не перехватывает... а то я уже губу раскатал на красивую жизнь... |
| Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |