Имя: Пароль:
1C
1С v8
Обработка внешних исключений в 1С
0 dimabez
 
03.12.12
16:32
Прошу помощи в решении следующей задачи: получение кода ошибки (объекта Exception), каким он генерируется на стороне веб-сервиса, при вызове оного из 1С. Проблема в том, что в 1С передается только текст описания ошибки и он не всегда читабельный для пользователей, а хотелось бы, опираясь на код, генерировать свой текст ошибки на стороне 1С.
1 dimabez
 
04.12.12
10:50
up!
2 Buster007
 
04.12.12
10:54
ИнформацияОбОшибке (ErrorInfo)
Свойства:

ИмяМодуля (ModuleName)
ИсходнаяСтрока (SourceLine)
НомерСтроки (LineNumber)
Описание (Description)
Причина (Cause)

Описание:

Предназначен для представления структурированной информации об ошибке (исключении).

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

Попытка
   ...
Исключение
   Инфо = ИнформацияОбОшибке();
   Сообщить(НСтр("ru=""Описание="";en=""Description=""") + Инфо.Описание + """");
   Сообщить(НСтр("ru=""ИмяМодуля="";en=""ModuleName=""") + Инфо.ИмяМодуля + """");
   Сообщить(НСтр("ru=""НомерСтроки="";en=""LineNumber=""") + Инфо.НомерСтроки);
   Сообщить(НСтр("ru=""ИсходнаяСтрока="";en=""SourceLine=""") + Инфо.ИсходнаяСтрока + "'");
КонецПопытки;

Пойдет?
3 Адимр
 
04.12.12
10:55
Попытка
и= 1/0;
Исключение
ВызватьИсключение "Мой текст ошибки";
КонецПопытки
4 dimabez
 
04.12.12
12:47
Если бы так просто было... проблема в том, что эта функция работает, только в случае, если исключение было вызвано в среде выполнения платформы 1С. В моем же случае, исключение на стороне сервиса и функция ИнформацияОбОшибке() не заполняет структуру ИнформацияОбОшибке.
5 dimabez
 
05.12.12
11:38
last up!
6 Адимр
 
05.12.12
14:37
Если исключение происходит не в твоем коде а выше тоест mcfv веб сервис ругается на чт ото то тут ты ничего поделать не сможешь.
Ошибка? Это не ошибка, это системная функция.