Если ПустаяСтрока(РезультатОбработки.ТекстОшибки) Тогда
Ответ = Новый HTTPСервисОтвет(200);
Иначе
Ответ = Новый HTTPСервисОтвет(500);
Ответ.Причина = РезультатОбработки.ТекстОшибки;
КонецЕсли;
При ошибке текст в причине статуса отражается вопросиками. Его как то форматировать надо правильно?
Ну можно попробовать как ни будь так
Ответ = Новый HTTPСервисОтвет(200);
Ответ.Заголовки.Вставить("Content-Type","application/json; charset=utf-8");
Ответ.УстановитьТелоИзСтроки(РезультатСериализации.ТекстJSON, КодировкаТекста.UTF8, ИспользованиеByteOrderMark.НеИспользовать);
(6) Мне кажется туту работает так.
Если вы отправляете
Ответ = Новый HTTPСервисОтвет(500);
Ответ.Причина = РезультатОбработки.ТекстОшибки; то кодировка будет та, которая по умолчанию стоит на вебсервере. Значит нужно покурить мануалы к апачу или иис.
Ну или принудительно указать кодировку.
Возможно заголовка хватит.
Вобщем, так как это метод НТТР сервиса, решилось вот так:
Если ПустаяСтрока(РезультатОбработки.ТекстОшибки) Тогда
Ответ = Новый HTTPСервисОтвет(200);
Иначе
ВызватьИсключение = РезультатОбработки.ТекстОшибки;
КонецЕсли;