|
29.09.2016, 21:35 | #1 |
Участник
|
В качестве апа.
Есть проблема открытия файла Excel в пакетнике. АХ2009, Office 2013, в пакетном режиме в момент отработки кода открытия книги просто падает обработки. При чем никаких уведомлений не выдается как в АХ, так и Windows. try catch Exception::CLRError тоже ничего не перехватывает. А еще самое интересное в аналогичной тестовой среде все работает отлично и без ошибок, а вот на рабочей как назло падает. Поэтому вопрос как минимум понять, что за ошибка мешает корректной работе в рабочей среде? А от неё уже смотреть дальше |
|
29.09.2016, 21:39 | #2 |
Участник
|
Цитата:
Сообщение от IvanS
В качестве апа.
Есть проблема открытия файла Excel в пакетнике. АХ2009, Office 2013, в пакетном режиме в момент отработки кода открытия книги просто падает обработки. При чем никаких уведомлений не выдается как в АХ, так и Windows. try catch Exception::CLRError тоже ничего не перехватывает. А еще самое интересное в аналогичной тестовой среде все работает отлично и без ошибок, а вот на рабочей как назло падает. Поэтому вопрос как минимум понять, что за ошибка мешает корректной работе в рабочей среде? А от неё уже смотреть дальше установить рядом 64-разрядную сестру можно только в "тихом" режиме Excel version To work well with Excel we need to have ODBC Excel 64 bit driver installed on the server http://www.microsoft.com/en-us/downl....aspx?id=13255 cmd (as administrator) AccessDatabaseEngine_x64 /passive
__________________
Felix nihil admirari |
|
29.09.2016, 21:57 | #3 |
Участник
|
Цитата:
Сообщение от wojzeh
пакетник всегда крутится на сервере, соответственно должна стоять правильная компонента доступа - 64-разрядная. если аос крутится на той же машине, что и клиент, то скорее всего на ней уже установлена 32-разрядная версия.
установить рядом 64-разрядную сестру можно только в "тихом" режиме Excel version To work well with Excel we need to have ODBC Excel 64 bit driver installed on the server http://www.microsoft.com/en-us/downl....aspx?id=13255 cmd (as administrator) AccessDatabaseEngine_x64 /passive |
|
29.09.2016, 22:03 | #4 |
Участник
|
Цитата:
залезь и посмотри, какие версии установлены. не забывай также, что разные версии Excel требуют разной строки подключения в коде. там или прописывать весь зоопарк ноевого ковчега, или договориться, какая именно версия будет использоваться повсеместно.
__________________
Felix nihil admirari |
|
30.09.2016, 06:44 | #5 |
Участник
|
Цитата:
Сообщение от IvanS
В качестве апа.
Есть проблема открытия файла Excel в пакетнике. АХ2009, Office 2013, в пакетном режиме в момент отработки кода открытия книги просто падает обработки. При чем никаких уведомлений не выдается как в АХ, так и Windows. try catch Exception::CLRError тоже ничего не перехватывает. А еще самое интересное в аналогичной тестовой среде все работает отлично и без ошибок, а вот на рабочей как назло падает. Поэтому вопрос как минимум понять, что за ошибка мешает корректной работе в рабочей среде? А от неё уже смотреть дальше Бывает что catch срабатывает, но уже после защищенной секции идет обращение к методам нулевого объекта. Т.е. инфолог появляется, но вы не успеваете его заметить, т.к. аксапта уже упала. Попробуйте сделать паузу в catch, и изучить ошибки. Если интересно получить весь стек ошибок можно попробовать такой приемчик. Не знаю как для других версий, но для АХ4 требует подключить ссылку к библиотеке Microsoft.Dynamics.BusinessConnectorNet.dll, которая хранится в папке Client/Bin X++: public void run() { try { new InteropPermission(InteropKind::ClrInterop).assert(); // ... CLR code CodeAccessPermission::revertAssert(); } catch (Exception::CLRError) { this.clrWarning(); } } X++: public void clrWarning() { Microsoft.Dynamics.BusinessConnectorNet.BusinessConnectorException lastException; ; lastException = ClrInterop::getLastException(); while(lastException) { warning(lastException.get_Message()); lastException = lastException.get_InnerException(); } }
__________________
// no comments |
|
30.09.2016, 08:14 | #6 |
Участник
|
Цитата:
application_net и workbooks_net. В этой части все хорошо, ошибка падает на методе X++: workbook_net = workbooks_net.Open(_fileName, _updateLinks, _readOnly, _format, _password, _writeResPassword, _ignoreReadOnlyRecommended, origin, _delimiter, _editable, _notify, _converter, _addToMru, _local, _corruptLoad); Цитата:
Сообщение от dech
Еще может быть проблема, что на тестовом сервере у вас установлен клиент, а на рабочем - нет. И где-то в недрах вашего пакетника вызывается класс c RunOn=Client
Приложения в части Excel абсолютно одинаковые и у всех RunOn=CalledFrom, если бы ошибка была в этом была бы ругань на некорректную инициализацию классов, но все эти ошибки я давно исправил. |
|
Теги |
.net, ax2009, excel, законченный пример, полезное |
|
|