|
28.02.2011, 16:20 | #1 |
Участник
|
После очередного перезапуска сервера (третьего) и ручного изменения статуса на "В ожидании" задание запустилось.
Теперь имеет место знакомое дурацкое сообщение "Ошибка вызова статического метода ClrObject", которое может означать очень много что. Нет ли способа вот об этой ошибке "вызова метода ClrObject" узнавать какие-либо подробности? И заодно уже вопрос: как отлаживать код, выполняющийся в пакетных заданиях - только путем создания джоба (job) и его запуска в клиенте, или можно напрямую? |
|
28.02.2011, 17:11 | #2 |
MCP
|
Цитата:
Основное - Переодические операции - Пакет - Обработка, в диалоге указываете выбранную пакетную группу и ставите галку "частный". А вот по поводу текста сообщения, при его создании у вас наверняка появилась запись в системных сообщениях, если найти его по дате и времени - увидите более полное содержимое ошибки. Более полное описание из Ax получить можно, но тут для каждого com придется писать свой обработчик ошибок, и не для каждого получится.. Например, тут обсуждалась похожая ошибка, ее причину установить достаточно проблематично. |
|
|
За это сообщение автора поблагодарили: Poleax (2), Evgenius (1). |
28.02.2011, 17:35 | #3 |
Участник
|
Цитата:
Сообщение от kornix
Отлаживать код пакетных заданий можно при помощи частных пакетов: При запуске ставите галку "Частный", указываете пакетную группу, затем:
Основное - Переодические операции - Пакет - Обработка, в диалоге указываете выбранную пакетную группу и ставите галку "частный". А вот по поводу текста сообщения, при его создании у вас наверняка появилась запись в системных сообщениях, если найти его по дате и времени - увидите более полное содержимое ошибки. Более полное описание из Ax получить можно, но тут для каждого com придется писать свой обработчик ошибок, и не для каждого получится.. Например, тут обсуждалась похожая ошибка, ее причину установить достаточно проблематично. А насчет остального: CLR и COM вещи разные. И в журналах windows мне ни разу не удавалось ничего найти.. Там ошибки вызова объектов CLR точно отражаются, не читали чего-ндь про это? С одной стороны, вроде бы должны - это ведь исключения в приложении .Net, но почему-то ни разу не отыскалось ни фига. Последний раз редактировалось Evgenius; 28.02.2011 в 17:38. |
|
28.02.2011, 17:55 | #4 |
Участник
|
При исполнении CLR кода в аксапте перехват ошибок CLR происходит несколько иначе чем ошибки X++. Поэтому в логах пакетного задания не будет никакой информации, лишь сама пакетная задача переводится в статус "ошибка".
При использовании вызовов CLR методов придется всегда, в явном выиде ошибки перехватывать и парсить, иначе понять причины ошибки нельзя. Вот пример, как получить описание ошибки вызванной исполнением CLR кода: X++: System.Exception exception; ; try { ... CLR } catch (Exception::CLRError) { exception = CLRInterop::getLastException(); while (exception) { error(exception.get_Message()); exception = exception.get_InnerException(); } throw error("Операция отменена"); } |
|
|
За это сообщение автора поблагодарили: Evgenius (1). |
28.02.2011, 18:07 | #5 |
Участник
|
Цитата:
Сообщение от someOne
При исполнении CLR кода в аксапте перехват ошибок CLR происходит несколько иначе чем ошибки X++. Поэтому в логах пакетного задания не будет никакой информации, лишь сама пакетная задача переводится в статус "ошибка".
При использовании вызовов CLR методов придется всегда, в явном выиде ошибки перехватывать и парсить, иначе понять причины ошибки нельзя. Вот пример, как получить описание ошибки вызванной исполнением CLR кода: X++: System.Exception exception; ; try { ... CLR } catch (Exception::CLRError) { exception = CLRInterop::getLastException(); while (exception) { error(exception.get_Message()); exception = exception.get_InnerException(); } throw error("Операция отменена"); } Пример - то, что нужно. |
|
28.02.2011, 17:41 | #6 |
Участник
|
Цитата:
X++: try { } catch (Exception::CLRError) { throw error( AifUtil::getClrErrorMessage()); }
__________________
Дмитрий |
|
|
За это сообщение автора поблагодарили: kornix (1), Evgenius (1). |
28.02.2011, 17:50 | #7 |
MCP
|
|
|
28.02.2011, 18:12 | #8 |
Участник
|
|
|
|
|