![]() |
#1 |
Участник
|
![]()
Axapta 3.0 SP3
Возможно для большинства поситителей этого форума такой проблемы уже давно не существует, но поиск ( может плохо искал ? ) ответов на этот вопрос не дал. Так что излагаю то что удалось найти. Суть топика скорее сводится к медленной работе метода ComWordDocument_RU.InsertFieldValue(). Небольшие манипуляции с профайлером кода показывают что основное время тратится на вызов ComWordDocument_RU.FindField. Посмотрим на код этого метода: PHP код:
PHP код:
PHP код:
Кому не лень, может загрузить Word и посмотреть major номер версии приложения - для Word2002 это будет что-то типа "10.2627.2625", соответсвенно проверка if( substr( '10.2627.2625', 1, 1 ) >= '9' ) еще долго не вернет TRUE ![]() ![]() Небольшая модификация условия: ( в потомке или непосредственно в ComWordDocument_RU - кому как нравится ) PHP код:
Ну вот пожалуй и все что удалось накопать. |
|
![]() |
#2 |
Участник
|
Привет!
Подкидывали идею о замене кусочка кода (для стареньких версий Word): .......... for (i=1 ; i<= fields.count() ; i+=1) { fieldTmp = fields.item(i); ......... На следующее: int fieldsCount ; ....... fieldsCount = fields.count(); for (i=1 ; i<= fieldsСount ; i++) { fieldTmp = fields.item(i); ............. |
|
![]() |
#3 |
Участник
|
еще можно не спрашивать версию приложения каждый раз а запомнить при первом вызове.
|
|
|
![]() |
||||
Тема | Ответов | |||
Доступ к меню "Работа с документами" | 4 | |||
Совместная работа заказчика и исполнителя в разных или одном слое? | 6 |
|