|
|
|
|
#1 |
|
Участник
|
Цитата:
Сообщение от kornix
Отлаживать код пакетных заданий можно при помощи частных пакетов: При запуске ставите галку "Частный", указываете пакетную группу, затем:
Основное - Переодические операции - Пакет - Обработка, в диалоге указываете выбранную пакетную группу и ставите галку "частный". А вот по поводу текста сообщения, при его создании у вас наверняка появилась запись в системных сообщениях, если найти его по дате и времени - увидите более полное содержимое ошибки. Более полное описание из Ax получить можно, но тут для каждого com придется писать свой обработчик ошибок, и не для каждого получится.. Например, тут обсуждалась похожая ошибка, ее причину установить достаточно проблематично. А насчет остального: CLR и COM вещи разные. И в журналах windows мне ни разу не удавалось ничего найти.. Там ошибки вызова объектов CLR точно отражаются, не читали чего-ндь про это? С одной стороны, вроде бы должны - это ведь исключения в приложении .Net, но почему-то ни разу не отыскалось ни фига. Последний раз редактировалось Evgenius; 28.02.2011 в 17:38. |
|
|
|
|
#2 |
|
Участник
|
При исполнении 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). | |
|
|
#3 |
|
Участник
|
Цитата:
Сообщение от 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("Операция отменена");
}Пример - то, что нужно. |
|
|
|
|
| Опции темы | Поиск в этой теме |
| Опции просмотра | |
|