#0
by romix
Для несуществующих ссылок всегда возвращает исключение. Похожая тема: Там советуют использовать WinHttpRequest. Но может быть HTTPСоединение как-то можно заставить возвращать код 404?
#2
by romix
Этот код не работает: ответ.КодСостояния {}: Значение не является значением объектного типа (КодСостояния)
#3
by oleg_km
Зачем заставлять возвращать код, если для этого разработчики решили использовать исключение? Используй исключение, у мелкомягких в .NET тоже вроде выскакивает исключение, если 400 или 500, и на Java вроде тоже. Так что 1С в майнстриме.
#4
by romix
Я получаю статус документа, переданного в базу бухгалтерии (проведен, не проведен). Если документ еще не передан (его нет в бух. базе), то 1С бухгалтерии возвращает 404. Это штатный механизм OData от 1С. Хочется различать ситуации, когда документа нет (штатные) и разные внештатные ситуации, на которые надо выдавать ужасное красное исключение.
#7
by Serginio1
Да в исключении ловят webResponse.StatusCode for (int i=1; i < 1000; i++) } else } } }
#9
by oleg_km
О, а надо в нашу обертку как-нибудь впихнуть, чтобы можно было получить объект Exception, через утиную типизацию приводить его к нужному типу, к WebException в данном случае
#10
by Serginio1
Можно сделать обертку для выполнения (HttpWebResponse)request.GetResponse; Но надо посмотреть как вообще исключения прикрутить
#13
by Serginio1
Но лучше сделать класс обертку внутри которого выполнять метод, где одним полем будет как раз поле ошибки.
#14
by romix
Так или иначе, а код ошибки то не получить никак - 1С прыгает в исключение, где поле с кодом уже недоступно. Что-то содержащее 404 можно прочитать в тексте описания ошибки. Но это же придется пользователю вываливать, или текст парсить. Жалобу что ли им в поддержку напейсать...
#16
by Dunemaster
Ужас какой. Достаточно использовать HTTPСоединение и в качестве аргумента методу Получить передать HTTPЗапрос (
#17
by oleg_km
Там основная проблема когда сбрасывать свойство ПоследняяОшибка, потому что может быть уже непонятно к какому вызову оно относилось. И я это хотел вообще положить в AutoWrap, Invoke там же выполняется. Мальчик, проходи мимо. (шутка)
#19
by Serginio1
Там такая реализация public class AutoWrap : IReflect { public static bool ЭтоСемерка = false; public static bool ВыводитьСообщениеОбОшибке = true; public static Exception ПоследняяОшибка = null; при исключении вызова метода
#20
by Serginio1
Ну и соответственно во врайпере public object ПоследняяОшибка { get{return new AutoWrap(AutoWrap.ПоследняяОшибка);} }
#21
by Serginio1
Да при исключении выбрасывается комовское исключение catch (Exception e) { string Ошибка = "Ошибка в методе " + name + " " + e.Message + " " + e.Source; throw new COMException(Ошибка); }
#22
by Serginio1
Я Ужаса никакого не вижу вот код WebRequest=врап.ПолучитьТип("System.Net.WebRequest");
#23
by oleg_km
Для меня главное, что у NET - миллионы вопящих, топающих ногами и требующих немедленно исправить выявленные баги тестеров, а не то они уйдут на Java и пр. А у 1С горстка заложников системы разработки, которых вполуха слушают, а вообще пусть хавают что дают. Старший сам знает, что им надо.
#24
by Serginio1
Если честно, то я удивляюсь тому, что через нетовские классы можно решить кучу задач, но народ будет делать все через задницу, чем применят эту обертку. Я сам довольно часто ей пользуюсь, в том числе и на семерке. При этом я не могу понять, сейчас C# вообще что ли не изучают? Народ сразу на 1С начинает программировать?
#25
by oleg_km
А очень мало на мой взгляд на 1С программистов. У нас сейчас работает молодой специалист, он имеет представление о программировании. До этого один бы радиоинженер, подключал интернет, понял что на 1С можно больше зарабатывать. Другой бросил институт и все эти абстракции и тоже кинулся денег зарабатывать. Они даже не заморачивались с повторным использованием кода, просто копипастили. Ну и откуда у них знание и желание изучать C#? Проще найти работу, где ничего этого не надо будет.
Тэги: 1С 8
Ответить:
Комментарии доступны только авторизированным пользователям
Похожие вопросы 1С
- Как программно получить получить пароль пользователя в текущем сеансе работ
- Попытка...Исключение. Почему посредине кода вываливается в исключение?
- Как получить разность дат (Нужно получить количество дней)
- HttpСоединение, Получение XML файлов из интернета, аутенфикация, cookies.
- Как получить ГУИД элемента по OLE, записать и получить по нему ссылку?
- HTTPСоединение + https + сертификат
- HTTPСоединение.Получить() - файл не обнаружен
- нужна помощь по HTTPСоединение
В этой группе 1С
- КД Значение не является значением объектного типа (Владелец)
- БГУ. Пустая колонка №16 (Сумма НДС по счету-фактуре) в Книге покупок
- Документооборот 1.4 Настройка прав доступа.
- Реализация не дает проводку Д 90.02.1 К 41,01
- Поле "Счет-фактура передан" не заполнено
- Розница 2 Контроль остатков из РМК
- УПП Перемещает с 10.19 на 10.01 неправильно. помогите
- Обработка регистра сведений
- Проблема с запросиком
- Список значений на управляемой форме
- 1c 8.3 УТ 11.1 учет товаров организаций в разрезе складов
- Мобильное приложение и сканирование штрих-кодов
- Как можно программно сопоставить объекты метаданных конфигурации БД и конфигурации Поставщика
- система скидок в ут 10
- Где форма Т-1а в ЗУП 3.0
- Группировка в шапке СКД по складу и периодам
- Правила переноса ЗУП 2.5 ЗУП 3.0
- Оператор проверки строки на подобие шаблону
- Выгрузка декларации по НДС с ошибками из 1С УПП
- КД УТ 10.3 УТ 11.1