Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Материалы по мобильному приложению

Материалы по мобильному приложению
Я
   alex-79
 
24.10.19 - 13:33
Добрый день!

Выдалось свободное время. Решил подтянуть свои знания по созданию мобильных приложений на платформе 1С.

Если материалы в свободном доступе по нюансам программирования мобильных приложений на 1С?

К примеру вот одна из ситуаций.
Есть мобильное приложение, которое подключается через web-сервис к базе торговли и обмениваться данными.
Я грешу именно на обмен между мобильным приложением и торговлей, потому что в ситуации когда из мобильного приложения выгружаются данные по заказам фоновым задание по расписанию
и в этот момент происходит ещё одно обращение к примеру получить количество бонусных баллов из торговли, то мобильное приложение просто закрывается и на экране сообщение, что приложение было приостановлено. Получается просто оно вылетает и всё.
Причём такая ситуация возникает не всегда, а рандомным образом. Отследить отладчиком невозможно и соответственно предоставить смоделированную ситуацию в техподдержку 1С.  


Поэтому хотелось бы почитать материалы по мобильным приложениям уже для тех, кто пишет мобильные приложения, а не новичков.
   lucbak
 
1 - 24.10.19 - 14:20
>>Причём такая ситуация возникает не всегда, а рандомным образом

И чем тебе поможет "не новичок" ? Сама разработка на моб.приложении не сильно отличается от обычной разработки  основное отличии это дизайн форм.
   Cyberhawk
 
2 - 24.10.19 - 14:23
С таким подходом к описанию тебе и 1С не поможет
   ejikbeznojek
 
3 - 24.10.19 - 14:38
(0) Понять на какой строчке кода вылетает по идее можно (если это одна и та же строчка).
Сделай запись в лог до и после подозрительных строчек кода.
И проанализируй где есть запись "до" и нет записи "после"
   alex-79
 
4 - 24.10.19 - 17:58
(1) Мне не сама разработка нужна. С ней всё просто. Меня в голове закралось такое предположение, что сам андроид накладывает какие-то ограничения. Если на Windows запускаешь такое же решение, то никаких вылетов нет.

(3) Согласен. Я ставил точки останова, но до них не доходит отладка. Вся сложность в том, что такая ошибка может вылезти в течении дня несколько раз, а может через день. Поэтому говорю, что глюк гуляющий. Я отправлял в 1С копии баз, но они запускают и всё у них работает.

Ещё такая проблема. Создал для клиента мобильное приложение. Клиент проверил. Всё понравилось. Задачку закрыли. Через месяц звонит и говорит, что мобильное приложение не работает. Спрашиваю почему такое произошло. Мобильное приложение было на тестировании не один месяц и проблем не было никаких. Клиент показывает, что при попытке запуска мобильного приложения появляется ошибка, что база разрушена. Я запустил на мобильном устройстве тестирование/исправление базы. Всё заработало. Через месяц опять такая петрушка.
   alex-79
 
5 - 24.10.19 - 17:59
Вот таких мелочей набирается и в итоге не получается отдать конечный продукт клиенту.
   МимохожийОднако
 
6 - 24.10.19 - 18:01
(0) Е. Ю. Хрусталева.Знакомство с разработкой мобильных приложений на платформе "1С:Предприятие 8". Издание 2
читал? Есть в электронном виде и на ИТС
   alex-79
 
7 - 24.10.19 - 18:01
Существуют ли какие-то ограничения, которые накладывает Андроид на разработку мобильного приложения?
   alex-79
 
8 - 24.10.19 - 18:09
(6) Да, но сам механизм обмена я не брал один в один как в этой книге. Надо попробовать сделать также как в книге Хрусталевой расписано.
   alex-79
 
9 - 24.10.19 - 19:15
(6) У Хрусталевой в книге подход к обмену между мобильным приложением и базовой на сервере (к примеру торговлей) другой. Упор делается на выгрузку данных в XML файл и потом перекидання его на сервер. Я же пошёл другим путём. Подключаюсь к веб-сервису торговли из мобильного приложения. Получаю список функций и XDTO пакетов. Заполняю данными и отправляю в торговлю, но не формирую XML файл как у Хрусталевой (посчитал это излишним). Может какое-то ограничение на объем передаваемых данных или какой-то таймаут передачи данных есть.
   Garykom
 
10 - 24.10.19 - 19:20
(9) Не надо XML это сложнее, намного проще JSON через HTTPСоединение.
   alex-79
 
11 - 24.10.19 - 21:18
(10) JSON проще и легче XML. Но суть не в этом.

Я напрямую передаю данные без JSON и XML.

Вот кусок кода отправки данных в базу торговли из мобильного приложения.

определение = Новый WSОпределения(адрес, пользователь, пароль);
cоединение = Новый WSПрокси(определение, определение.Сервисы[0].URIПространстваИмен, определение.Сервисы[0].Имя, определение.Сервисы[0].ТочкиПодключения[0].Имя);

cоединение.Пользователь = пользователь;
cоединение.Пароль = пароль;
        
входныеДанные = cоединение.ФабрикаXDTO.Создать(cоединение.ФабрикаXDTO.Тип(URLПространстваИмен(), "inData"));        
входныеДанные.partners = cоединение.ФабрикаXDTO.Создать(cоединение.ФабрикаXDTO.Тип(URLПространстваИмен(), "partnersArray"));
тип_partnersItem = cоединение.ФабрикаXDTO.Тип(URLПространстваИмен(), "partnersItem");
Для каждого строкаРегистрации Из таблицаРегистраций Цикл
    партнер = cоединение.ФабрикаXDTO.Создать(тип_partnersItem);
    партнер.id = строкаРегистрации.Объект.Идентификатор;
    партнер.name = строкаРегистрации.Объект.Наименование;
    партнер.phone = строкаРегистрации.Объект.Телефон;
    партнер.email = строкаРегистрации.Объект.ЭлектроннаяПочта;
    входныеДанные.partners.items.Добавить(партнер);
КонецЦикла;            
        
результат = cоединение.postChanges(id, входныеДанные);
   alex-79
 
12 - 24.10.19 - 21:19
Этот способ координально отличается от Хрусталевского
   alex-79
 
13 - 24.10.19 - 21:24
Но когда задалбливает описывать XDTO пакеты можно в мобильном приложении сформировать таблицу значений с данным. Потом сериализовать эту таблицу и отправить через веб-сервис в торговлю, а там уже десериализовать.
   Cyberhawk
 
14 - 25.10.19 - 08:20
(12) Ошибаешься. То что ты фабрику создаешь из прокси и эту же прокси используешь для вызова операции не означает что ты там что-то "напрямую" создаешь в той базе. Наивняк еще тот.
   alex-79
 
15 - 25.10.19 - 10:19
(14) Так понятно, что это не прямой доступ к базе. Обращаясь к базе-приёмнику я получаю набор функций и XDTO. Со стороны базы-источника я только заполняю XDTO и отправляю всё это хозяйство через функцию, которую предоставила база-приёмник. Со стороны базы-приёмника функция читает полученные данные и выполняет код. По сути это не COM-соединение где мы получаем доступ к метаданным базы-приёмника и делаем, что хотим, а работаем с описанной структурой данных и функциями, которые предоставляет база-приёмник.

Дело не в этом.

Я хотел сказать, что в книге Хрусталевой описан пример, когда выгружаются дынные из базы-источника в файл (без разницы формат JSON или XML) и потом этот файл пуляется в базу-приёмник.

А у меня по другой способ. Я не выгружаю файл, а работаю с фабрикой.
   Сияющий в темноте
 
16 - 25.10.19 - 18:38
есть два совершенно разных пути:
первый - получить данные в мобильное приложение,поработать с ними и вернуть результат.
второй - передать данные из мобильного в основную базу,чтобы ввполнить действие там.
   rozer76
 
17 - 26.10.19 - 00:14
(11) я тоже хрусталевские примеры переделал, сначала думал также просто xdto в соединенме кидать но потом решил что лучше dxto в строку xml потом в хранилище значений с макс. сжатием... вроде работает давно на планшетах торговых и объемы гоняют немалые, например начальный обмен данными где только спр. номенклатуры 20 тыс. элементов.

Список тем форума
Рекламное место пустует  Рекламное место пустует
Оптимист верит, что мы живем в лучшем из миров. Пессимист боится, что так оно и есть.
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.
Тема не обновлялась длительное время, и была помечена как архивная. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.