|
Поле объекта не обнаружено, но в отладчике работает | ☑ | ||
---|---|---|---|---|
0
BaZZiL
23.11.21
✎
12:59
|
Функция в мобильном приложении запрашивает по хттп данные, возвращая структуру с требуемыми данными, при запуске в режиме отладки на устройстве всё работает,
но после сборки приложения в апк и запуске на устройстве пишет, что "Поле объекта не обнаружено" ДанныеНакладной = ПолучитьДанныеНакладной(ИДНакладной); Если ДанныеНакладной.Успех Тогда НомерНакладнойНаСборку = ДанныеНакладной.НомерНакладной;//здесь ошибки нет Если ДанныеНакладной.Отгружен Тогда //Здесь ошибка Поле объекта не обнаружено (Отгружен) ... ОтветСервера = глHTTPСоединение.Получить(HTTPЗапрос); Если ОтветСервера.КодСостояния = 200 Тогда Ответ = ОтветСервера.ПолучитьТелоКакСтроку(); ЧтJSON = Новый ЧтениеJSON(); ЧтJSON.УстановитьСтроку(Ответ); ОтветДанные = ПрочитатьJSON(ЧтJSON); ЧтJSON.Закрыть(); Возврат Новый Структура("Успех,НомерНакладной,Собран,Отгружен",Истина,ОтветДанные.НомерНакладной,ОтветДанные.Собран,ОтветДанные.Отгружен);//как только ни заворачивал несчастное "Отгружен" Иначе Возврат Новый Структура("Успех,ОписаниеОшибки",Ложь,ОтветСервера.КодСостояния); КонецЕсли; JSON: { "НомерНакладной": "ЭЦ0017732", "Собран": true, "Отгружен": true } |
|||
1
Ёпрст
23.11.21
✎
13:55
|
(0) будь проще
СтруктураОтвета = Новый Структура("Успех,НомерНакладной,Собран,Отгружен",Истина,"",Ложь,Ложь); ..... ЗаполнитьЗначенияСвойств(СтруктураОтвета,ОтветДанные); Возврат СтруктураОтвета ; |
|||
2
Ёпрст
23.11.21
✎
13:55
|
будешь независим от данных json ответа
|
|||
3
серый КТУЛХУ
23.11.21
✎
14:00
|
(2): не совсем. жсон может логические свойства на значения другого типа поменять - и тоже жопа на простое "Если <свойство> Тогда". чтобы уж совсем правильно - то и сравнение надо на "=Истина" поменять.
|
|||
4
BaZZiL
23.11.21
✎
14:50
|
Поменял, как в (1) и (3) сравнение на "=Истина" тоже добавил.
Теперь оно думает, что отгружено всегда "Ложь". Наверное, сервис как-то не так отдает булево в JSON... |
|||
5
BaZZiL
23.11.21
✎
14:52
|
(4) Но в отладчике-то работает...
|
|||
6
УдавВПопугаях
23.11.21
✎
14:58
|
мб кэш мэш как всегда
|
|||
7
Ёпрст
23.11.21
✎
15:23
|
(4) пиши ответ сервера в лог, как вариант
|
|||
8
BaZZiL
23.11.21
✎
16:13
|
(7) Вывел ответ сервера в приложении на многострочное поле ввода, в отладке булевы значения есть, а собранном апк куда-то пропали
{ "НомерНакладной": "ЭЦ0017732", } |
|||
9
Ёпрст
23.11.21
✎
16:58
|
(8) ну вот и ответ.. прилетели тебе null
|
|||
10
Ёпрст
23.11.21
✎
16:59
|
(8) собранный апк и версия 1с-ины совпадают хоть ? А то мк от 20 платформы, а сам сервер..15, например ?
|
|||
11
Ёпрст
23.11.21
✎
17:00
|
работать тоже будет, но через ж..по, часть методов отвалится+ пропадает отладка.
|
|||
12
BaZZiL
23.11.21
✎
17:02
|
Нет, и в отладке, и в браузере по-прежнему джсон с булевыми
{ "НомерНакладной": "ЭЦ0017732", "Собран": true, "Отгружен": true } Сервер 1С:Предприятие 8.3 (8.3.17.1851) Мобильная платформа 8.3.17.76 |
|||
13
Ёпрст
23.11.21
✎
17:30
|
(12) Идеи закончились.
А по ххтп куда хоть щемится ? |
|||
14
BaZZiL
23.11.21
✎
17:56
|
(13) щемится в свою базу локально по wifi.
Функция НомерНакладнойGET(Запрос) Ответ = Новый HTTPСервисОтвет(200); НакладнаяИД = Запрос.ПараметрыURL.Получить("docGUID"); Накладная = Документы.<Накладная>.ПолучитьСсылку(Новый УникальныйИдентификатор(НакладнаяИД)); Запрос = Новый Запрос; //... Данные = Новый Структура; Данные.Вставить("НомерНакладной",Результат.Номер); Данные.Вставить("Собран",Результат.Собран); Данные.Вставить("Отгружен",Результат.Отгружен); ПараметрыЗаписиJSON = Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Авто, Символы.Таб); Запись = Новый ЗаписьJSON; Запись.УстановитьСтроку(ПараметрыЗаписиJSON); ЗаписатьJSON(Запись,Данные); Результат = Запись.Закрыть(); Ответ.УстановитьТелоИзСтроки(Результат); Ответ.Заголовки.Вставить("Content-type", "application/json"); Ответ.Заголовки.Вставить("charset", "utf-8"); Возврат Ответ; КонецФункции |
|||
15
Ёпрст
23.11.21
✎
18:05
|
(14) хз тов. майор, пробовать только версию поднять, попробуй собери приложение с последней версией мобильной платформы, которая поддерживает 17
|
|||
16
Ёпрст
23.11.21
✎
18:05
|
ну или, там вроде до 19/20 можно от 18 взять последнюю
|
|||
17
серый КТУЛХУ
23.11.21
✎
18:11
|
ну чо, попробуй засунуть тогда строки типа "0" / "1" а не булево... доедет?
|
|||
18
BaZZiL
24.11.21
✎
09:25
|
(16) пересобрал с 8.3.17.87 - тоже самое.
(17) засунул числа 1 и 0, работает в апк, но блин... |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |