Особенности разработки нативного мобильного приложения с бэкендом на 1С

Публикация № 1793265 19.01.23

Разработка - Мобильная разработка

Иногда команде 1С-ников, обслуживающей продукт, приходится привлекать к созданию мобильного приложения специалистов по нативной разработке и выстраивать с ними сотрудничество. О нюансах такого сотрудничества и технических решениях, обеспечивающих взаимодействие 1С и нативного мобильного приложения, на Infostart Event 2021 Post-Apocalypse рассказал директор центра облачных решений АО Арбис Матвей Серегин.

Меня зовут Матвей Серегин, последние 7 лет я руковожу командой продуктовой разработки.

Моя основная специализация – это облачные решения на базе технологии 1cFresh для клиентов со всей страны, где пользователи работают в разных регионах и в разных часовых поясах.

Особенность нашей разработки – широкая линейка интеграций с веб-приложениями:

  • это и использование веба внутри 1С;

  • и интеграция с различными сайтами;

  • и интеграция с мобильными приложениями.

Сегодня я более подробно расскажу про наш опыт разработки нативных мобильных приложениях – как мы пытались «подружить» с ними 1С.

  • Во-первых, поговорим о причинах – что нас сподвигло сделать мобильное приложение не на 1С, при этом остаться бэкендной частью на 1С

  • Далее немного поговорю про выбор инструмента, с помощью которого можно делать нативные мобильные приложения. Сначала у нас был выбор между 1С и не-1С – вроде два варианта. А потом, когда мы решили, что будем делать мобильное приложение не на 1С, список вариантов сразу же превратился в очень широкий с достаточно сложным выбором.

  • Также поговорю про взаимодействие между командами разработки – очевидно, когда у нас есть бэкенд-разработчики и фронтенд-разработчики, это уже разные миры, между которыми нужно наладить коммуникации. Соответственно, с мобильным приложением та же история.

  • И про некоторые технические решения на стороне 1С, которые, если вы пойдете по тому же пути, позволят вам сэкономить силы, нервы, время и т.д.

 

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

 

 

Начну с того, почему мы решили делать мобильное приложение на нативных технологиях. Существуют же мобильные приложения на 1С и мобильный клиент 1С – что в них не так?

  • Первое, что нас остановило и стало критичным при принятии решения – это возможности интерфейса. Заказчик ставил задачу реализовать приложение с понятным UI/UX, чтобы у клиента был легкий онбординг. Само приложение подразумевалось к выкладке в сторах, чтобы пользователи разных возрастов с разным опытом, видя это приложение наряду с остальными своими приложениями соцсетей, мессенджерами, банковскими приложениями, испытывали примерно те же эмоции от использования нашего.

  • Кроме этого, у 1С-ных мобильных приложений практически нет каких-то библиотечных решений для реализации – мы их не нашли. Безусловно, можно считать библиотечной «Библиотеку стандартных подсистем», она содержит многие решения. Кроме этого, существует инструмент от сообщества Коннектор, который тоже сильно облегчает взаимодействие со стороны приложения с HTTP-сервисами. Несмотря на то, что эти инструменты очень интересны, они не покрывали достаточного количества наших кейсов.

 

 

Когда 1С-никам имеет смысл выбирать нативные технологии для реализации мобильного приложения.

  • Исходя из наличия ресурсов. Если в команде только 1С-разработчики и нет дополнительного финансирования, чтобы привлечь стороннюю команду либо нанять специалистов, знакомых с нативной разработкой, естественно, в нативную разработку идти смысла нет, потому что это – достаточно дорого и ресурсоемко.

  • И второе – если важен UI/UX, который не обеспечивается решениями на 1С.

 

Бэкенд на 1С:Предприятии. Преимущества и недостатки

 

 

Следующий вопрос, который был заявлен в теме – это бэкенд на 1С. Собственно, почему бэкенд на 1С? Здесь тоже все достаточно просто.

  • У нас уже есть существующее прикладное решение, работающее в модели сервиса, работающее под большой нагрузкой, в котором содержится вся бизнес-логика и все данные, которые нам нужно транслировать в мобильное приложение;

  • Плюс на платформе 1С существуют инструменты для интеграции с нативными приложениями в виде HTTP-сервисов, которые позволяют сделать необходимый программный интерфейс.

  • Наличие технологии 1cFresh позволяет быстро масштабировать эти решения – сама по себе технология позволяет разделить области клиентов – каждое мобильное приложение подключается к своей области. При этом само масштабирование, создание новых областей уже вшито в технологию 1cFresh и не требует от нас каких-то дополнительных затрат.

 

 

С другой стороны, есть определенные минусы:

  • Для 1С нет библиотеки для работы с HTTP-сервисами. Если мы посмотрим на стандартные решения в разработке по бэкенду – python, PHP, Node.js – там практически вся внутрянка (формирование HTTP-ответов различных типов, подстановка mime-типов, работа с заголовками) хорошо завернута в библиотеки, и зачастую бэкенд-разработчик на Python и PHP разбирается в нюансах протокола HTTP гораздо меньше, чем разработчик 1С, который реализует бэкенд на HTTP-сервисах – только потому, что 1С предоставляет достаточно низкоуровневые возможности для работы с ними, а всю логику приходится писать руками и изучать стандарты.

  • Нет возможности для постоянного соединения с сервером. Если нам нужно, чтобы клиент не через стандартный механизм пушей для мобильных операционных систем, а напрямую из открытого окна получал необходимую информацию – это можно сделать только через сторонние промежуточные серверы. 1С постоянный коннект держать не дает.

  • На уровне платформы нет автоматического масштабирования. Частично этот вопрос закрывает Фреш, но и у него того уровня автоматического масштабирования, который есть у современных решений на контейнерах, естественно, не достижим.

  • И вопросы лицензирования – здесь тоже углубляться не буду, но основной вопрос в том, что если с бэкендом взаимодействует клиент, то в общем случае вроде нужно количество клиентских лицензий сравнимое с количеством подключающихся пользователей. Но как их измерять – непонятно. И в целом, большинство общих вопросов при обсуждении заканчивается советом с конкретным решением обращаться в фирму «1С» и уточнять. На этом и остановимся.

 

Варианты реализации нативного мобильного приложения

 

 

Как мы выбирали, на чем сделать нативное мобильное приложение?

Есть различный выбор.

  • Самые низкоуровневые технологии – это Kotlin, Swift, Java. Родные языки программирования для мобильной разработки. Соответственно, они обеспечивают максимальную возможность взаимодействия с операционными системами, с железом устройства, с интерфейсом, но требуют двух команд разработки – у вас должна быть и команда по iOS-разработке, и команда по Android-разработке, что довольно дорого.

  • Более дешевый и более универсальный вариант – это недавно появившийся Flutter от Google. Он позволяет разрабатывать практически нативно, так как результат разработки компилируется под каждую операционную систему, и при этом практически полностью задействует возможности обеих операционных систем. Единственное, что flutter сейчас не очень популярный инструмент, поэтому крайне сложно найти разработчика. А если этот разработчик вдруг от вас уйдет, еще сложнее будет найти разработчика, который продолжит поддержку этого приложения. Поэтому на сегодняшний день выглядит интересно, но на практике весьма рискованно.

  • Следующие, уже хорошо зарекомендовавшие себя кроссплатформенные фреймворки – например, ReactNative, VueNative. Они позволяют разрабатывать на языке JavaScript. Далее – собирать мобильные приложения. Соответственно, у вас получается язык, которые в принципе, знают достаточно много фронтенд-разработчиков, но уже гораздо меньше интеграций с операционной системой. С другой стороны, так как это – веб, возможности по графическому оформлению практически не ограничены.

  • И самый простой вариант – это Progressive Web Application (PWA). Здесь идет полностью веб-разработка, которая иногда компилируется в мобильное приложение.

Мы у себя выбрали первый вариант – у нас приложение разработано отдельно под каждую платформу на языках Swift и Kotlin.

 

Проектирование бизнес-логики и API – нюансы взаимодействия между командами разработки

 

 

Расскажу, как «подружить» мобильных и 1С-разработчиков.

Основная проблема здесь в том, что 1С-разработчики привыкли, что они в принципе умеют все делать сами. Мы реализуем базу данных, бизнес-логику на стороне сервера и интерфейс клиентского приложения – навыка договариваться с другими техническими командами практически нет.

С другой стороны, когда мы работаем с мобильным приложением, нам приходится договариваться. Мы предоставляем просто программный интерфейс в виде HTTP-сервиса, который со стороны мобильного приложения будет вызывать другая команда. И алгоритмы тоже будет писать другая команда. Поэтому, в первую очередь важным является документирование этого программного интерфейса (API).

 

 

Что должно быть описано?

  • Во-первых, для каждой сущности мы описываем объектную модель. Например, у нас есть сущность «Контрагент», документ «Счет на оплату» или договор контрагента. И мы описываем, какие у этой сущности есть атрибуты – какие атрибуты обязательные, какие могут иметь значение NULL, какие могут отсутствовать, как они друг с другом взаимосвязаны, что является уникальным ключом для того или иного объекта. Все это в конечном счете мобильные разработчики транслируют в объектную модель внутри приложения со своим объектно-ориентированным программированием и в модель хранения данных внутри приложения. И если мы на своей стороне документировали неверно, где-то допустили ошибку, где-то что-то недодумали, то зачастую, при очередной новой фиче, которую мы делаем на бэкенде, у нас вроде просто – мы добавляем реквизит, добавляем по нему поиск – вроде ничего страшного. А мобильный разработчик на это смотрит и говорит: «Я это буду делать две недели». Соответственно, грамотное продумывание заранее архитектуры модели данных крайне важно.

  • Следующее – это структура конечных точек или структура функций, которые будет вызывать мобильное приложение. Это касается получения и отправки каких-то данных – дай мне список контрагентов, запиши нового контрагента, запиши новый документ, поменяй статус какого-то документа и т.д. Опять же, со ссылками на конкретные объекты, которые разработчик мобильного приложения должен передать нам. То же самое – относительно конкретных объектов, которые мы ему отдадим в ответ.

  • И, что еще важно и не всегда очевидно – это сценарии работы с данными. У нас вроде есть методы, есть объекты, но очевидно, что в реальной жизни какие-то методы будут вызываться последовательно. Например, сценарий аутентификации – сначала получи токен, потом получи адрес конкретного приложения (адрес области данных, в котором хранятся данные), потом из этой области данных получи список организаций, потом выбери организации, потом по первой организации запроси начальные настройки и т.д.

Т.е. вся работа мобильного приложения, вся эта последовательность вызовов должна быть описана в технической документации и после – согласована между командами, потому что даже если бэк на стороне 1С – опытный и сможет все это описать, он все равно может не учесть какие-то нюансы, которые имеют важное значение в мобильной разработке.

Соответственно, мы подготовили документацию, согласовали эту документацию между командами и пошли разрабатывать свою часть.

 

Какие инструменты здесь могут помочь?

  • Во-первых, если мы любим писать текстом, здесь можно воспользоваться языком разметки YAML и скормить его Swagger. Он автоматически сгенерирует красивый список методов, объектную модель и средства для отладки – можно будет даже подергать методы HTTP-сервисов.

  • Stoplight – примерно то же самое, но уже не придется вручную писать текст, а потыкать объектную модель – заполнить поля, указать типы, проставить галочки.

  • И APImatic – еще более мощный инструмент примерно с теми же функциями.

Единственное, что Stoplight и APImatic для совместного использования платные – причем, цены на них не очень демократичные.

 

Отладка и тестирование API

 

 

После того как документация описана, важно оттестировать API на своей стороне. Если какой-то метод у вас не работает, у них может просто встать работа на день или полдня – пока вы чините этот метод в своей тестовой зоне. Казалось бы, это не продуктив, ничего страшного, но при работе в несколько команд это – крайне важно.

Поэтому контроль работоспособности API полностью на зоне разработки – он тоже становится достаточно важной задачей.

  • Здесь в качестве инструмента ручного тестирования хорошо подходит Postman – на сегодняшний день он обеспечивает возможность не только у себя на компьютере развернуть программу и подергать различные методы HTTP-сервисов, но и подергать их из облака. Это позволит вашей команде бэкенд-разработчиков отлаживать эти методы вместе. Вы внесли изменения – подергали, ваш коллега внес изменения и по этим же сценариям подергал – проверил, что все работает.

  • Далее, когда ручная отладка закончена, можно воспользоваться автоматизацией тестирования Newman for Postman и, например, упаковать это в контур CI/CD, чтобы API тестировалось автоматически.

  • Небольшой нюанс в сторону CORS – если пользоваться не Postman, а тем же Swagger или Stoplight, то современные браузеры достаточно ревностно относятся к безопасности и не дают, находясь на одном домене, дергать методы другого. Т.е. если вы находитесь на сайте Инфостарта, и вам нужно дернуть сайт фирмы «1С», нужно, чтобы сайт фирмы «1С» сказал браузеру: «Меня можно дергать с Инфостарта». Если браузер от сайта фирмы «1С» такого разрешения не получит, он вам скажет «нельзя». Аналогично, если вы на сайте Swagger хотите дергать свое API, вам нужно, чтобы ваше API сказало, что его можно дергать. А это требует дополнительной настройки и веб-сервера nginx, и дополнительных доработок HTTP-сервисов. Т.е. ваш сервер должен удовлетворять требованиям CORS – это нужно иметь в виду. В этой части Postman гораздо более прост.

  • Средства отладки – если ничего не помогает. Довольно часто случаются ситуации, когда мы через Postman дергаем API, все работает. А с мобильного приложения коллеги вызывают то же самое, передают те же самые параметры – не работает. Здесь помогут инструменты перехвата трафика. Мы используем Fiddler, который стоит на сервере и просто ловит те запросы, идущие от мобильного устройства. Мы можем их смотреть – что именно там пришло. Довольно часто там просто формат тела немного поменялся в процессе передачи. Формат заголовка поменялся в процессе передачи. Тут уже разбираемся – либо на своей стороне докручиваем алгоритм обработки этого запроса. Либо коллегам говорим, что они что-то не так передают.

 

Технические решения для бэкенда

 

Несколько технических решений, которые нам помогают реализовать бэкенд.

 

Во-первых, момент по взаимодействию с базой. В 1С есть такая штука как ручное управление сеансами.

При работе с HTTP-сервисом есть следующие варианты открытия сеансов:

  • Сеансы могут создаваться на каждый вызов.

  • Сеансы могут автоматически жить какое-то время – в этом случае на каждый вызов приложения клиентом не будет создаваться новый сеанс. Соответственно, первый вызов идет 2-3 секунды, которые тратятся на открытие сессии, последующие вызовы проходят практически мгновенно.

  • И есть еще возможность ручного управления сеансами. Это когда клиент сначала отправляет специальную команду на сервер 1С: «Открой мне сеанс, я сейчас буду с тобой взаимодействовать». А затем он отправляет запросы, а потом вручную дает команду: «Все, я закончил с тобой взаимодействовать, закрывай сеанс».

    • С одной стороны, такая схема усложняет разработку для авторов мобильного приложения, потому что нужно учитывать этот сценарий ручного управления сессией.

    • С другой стороны, это обеспечивает наиболее оптимальную нагрузку на сервер 1С – там не висит лишних сеансов, которые жрут ресурсы сервера.

    • Кроме этого, когда мобильное приложение начинает отправлять запросы пакетно (обычно не один запрос отправляется), ответ оно получает максимально быстро.

    • При этом нужно учитывать, что сеанс платформа может завершить и без явной команды со стороны мобильного приложения – просто потому, что этот сеанс слишком долго висел неактивным.

 

 

Дальше – момент по схеме HTTP-ответов. Когда мы возвращаем от HTTP-сервиса ответ, у нас есть код ответа. Иногда разработчики отправляют все в теле ответа. Иногда мы кодом все-таки отправляем какой-то статус. Соответственно, мы используем такую схему кодов:

  • 200-е ответы – это ОК;

  • 400-е ответы – это проблема на стороне клиента, он отправил запрос с неправильным форматом;

  • 500-е ответы сообщают об ошибке на стороне сервера – это может быть ошибка исполнения либо это может быть временная недоступность, связанная с работой обработчиков обновления.

 

 

Интересный нюанс с HTTP-заголовками.

RFC – это стандарт обмена по протоколу HTTP – позволяет делать заголовки регистронезависимыми. Заголовок, в котором x-auth-token написано маленькими буквами и заголовок, где X-Auth-Token написано так, что первые буквы слов большие – это, в принципе, одинаковое имя токена с точки зрения стандарта.

При этом 1С превращает заголовки в соответствия. А в соответствии поиск по ключу регистрозависимый. И если мы ищем второй вариант написания, а клиент нам отправляет первый вариант написания, то мы ничего не найдем.

 

 

Поэтому пришлось делать такое решение, когда мы сначала пробуем искать полностью идентично, потом ищем в нижнем регистре, потом просто пробегаемся и ищем полностью совпадение, оба описания преобразуя в нижний регистр и т.д.

Это – выстраданная вещь, потому что некоторые библиотеки на стороне фронта или на стороне мобильного приложения просто преобразуют заголовки в нужный им формат, который они считают правильным. А 1С эту проблему автоматически не разрешает.

 

Журналирование работы HTTP-сервисов

 

 

Вот так примерно выглядит шаблон метода HTTP-сервиса.

  • Мы сначала проверяем, не заблокирована ли база работой обработчиков обновления. Если мы не проверим, возможно, ответ и уйдет, но обработчик обновления развалится, потому что будет висеть сеанс HTTP-сервиса, который не даст установить монопольный режим обработчикам обновления и приложение останется висеть необновленным неизвестное время.

  • Затем делаем замер производительности – для этого используется стандартная подсистема БСП.

  • Окончание замера оборачиваем в «Попытка… Исключение», чтобы явно записать исключение в журнал регистрации, если на нашей стороне ошибка, и вернуть 500-й ответ.

  • И далее передаем запрос в модуль «Мессенджеры» на выполнение конкретного метода.

 

 

Здесь показан пример взаимодействия с оценкой производительности. Здесь достаточно просто – мы через прослойку вызываем методы БСП.

 

 

И регистрация ошибок. Опять же, просто пишем в журнал регистрации и готовим 500-й HTTP-ответ, чтобы сообщить мобильному приложению, что на нашей стороне что-то не так.

 

 

Если мы в продуктиве работаем со сложными ошибками, есть дополнительные возможности журналирования – например, запись всех HTTP-запросов в отдельный регистр сведений.

Это создает дополнительную нагрузку и уменьшает время ответа сервера на запрос мобильного приложения. Но, с другой стороны, позволяет расследовать какие-то ситуации в тех случаях, когда установка Fiddler невозможна – перехват трафика на продуктивном сервере «умрет» от объема данных, который через него проходит.

 

Авторизация

 

 

Авторизацию мы выполняем через токен.

HTTP-сервис опубликован на стороне 1С в анонимной публикации. В файле default.vrd на веб-сервере прописан логин и пароль служебного пользователя – при этом в basic-аутентификации логина и пароля со стороны мобильного приложения не передается.

Чтобы нам понять, какой пользователь делает вызов, мобильное приложение передает в заголовках токен – при первом вызове передается логин-пароль, в ответ система возвращает токен. И далее в рамках сессии мобильное приложение с сервером взаимодействует через этот токен.

Это обеспечивает возможность в любой момент токен отозвать – например, если мы считаем, что токен скомпрометирован. При этом логин и пароль у пользователя останется. Он сможет повторно авторизоваться.

Плюс – это дает возможность, например, завершить сессию на одном устройстве или на всех устройствах. Реализовать такие сценарии, что пользователь нажимает: «Завершить сессию на всех устройствах», мы просто по его логину все токены убиваем. Следующий запрос с любого из приложений потребует повторной авторизации.

 

Нюансы взаимодействия 1С и мобильного приложения

 

 

Со стороны клиента 1С умеет обрабатывать только short polling – т.е. это когда мы дернули HTTP-сервис, и он сразу либо за время какой-то своей обработки вернул ответ.

Если мы хотим сообщить мобильному клиенту информацию о том, что произошло на сервере, можно сделать long polling через промежуточный сервер, веб-сокеты либо пуш-уведомления.

  • Long polling – это уже довольно устаревшая технология.

  • В основном, все используют веб-сокеты, но, поскольку платформа 1С не поддерживает веб-сокеты, чтобы их сделать, нужно будет поднимать промежуточный сервер. Например, в 1С произошло какое-то событие – изменился статус у документа – 1С сообщает об этом на промежуточный сервер. А промежуточный сервер, который держит соединение с клиентами, сообщает об этом событии на клиент через веб-сокеты.

 

 

  • Push-уведомления можно делать:

    • либо непосредственно через API вендоров – но тогда, опять же, придется делать отдельно для iOS, отдельно для Android;

    • либо есть достаточно большое количество агрегаторов для отправки уведомлений. Мы пользуемся firebase – он предоставляет общее API для отправки как в iOS, так и в Android.

 

 

Есть нюанс по передаче файлов – мы на своем опыте столкнулись с проблемой, связанной с обработкой multipart/form-data.

Протокол HTTP позволяет передать в рамках одного запроса много файлов, объединяя их через специальные разделители в теле запроса. При этом, если 1С на уровне платформы пробует обработать такой запрос, он не обрабатывается – к нам приходят либо двоичные данные, либо текст. И, если попробовать это парсить встроенным языком программирования, это занимает достаточно много времени – по сравнению с передачей аналогичных файлов последовательно, время увеличивается почти в 20 раз.

Соответственно, файлы в теле запроса передаем по-отдельности, как двоичные данные. И далее – финальный запрос с командой: «Вот эти файлы, которые я тебе передал, объедини – прикрепи к одному документу и т.д.»

Возможна какая-то другая схема, но, опять же, большую multipart/form-data обрабатывать на текущей версии платформы не рекомендую.

 

 

Пагинация – тоже задача, которая вроде практически всегда встречается. Так работают динамические списки в интерфейсе – когда автоматически прогружаются 20 объектов, потом мы листаем, подгружается следующая порция, следующие 20 объектов.

Если мы говорим про API, где нам нужно на клиент также отдавать сотни тысяч документов, нам эту пагинацию нужно делать вручную. Соответственно, у запроса должны быть параметры – сколько элементов клиент запрашивает от нас, в каком направлении должна быть сортировка – по возрастанию или по убыванию. И начиная с какого элемента – первые 20 элементов, следующие 20, начиная с 20, следующие 20, начиная с 40 и т.д.

Соответственно, весь код, который будет это возвращать из базы данных, придется написать вручную, немного погрузившись в тему.

 

 

И обработка в фоне сложных операций – если у нас есть какие-то тяжелые запросы, можно сразу вернуть 200-й ответ (о том, что запрос принят), и затем отдельным методом клиент запрашивает, в каком статусе операция, и, если мы вернули ответ о том, что операция выполнена, клиент запрашивает ответ, если он тяжелый.

В принципе, два последних метода можно объединить, если ответ не очень тяжелый, если мы не готовим какой-то большой файл, а просто сообщаем, что статус корректно изменился.

 

Заключение

 

 

Итого, выводы:

  • Разработка бэкенда для мобильных приложений на 1С – это не универсальное решение.

  • Основные причины, почему можно это сделать:

    • если данные уже хранятся в существующем решении на 1С в нужной структуре;

    • если в 1С реализована нужная бизнес-логика;

    • если мы делаем прототип командой 1С-разработчиков – как средство прототипирования, платформа со своими возможностями быстрой разработки отлично подходит.

    • \

 

 

Статья написана по итогам доклада (видео), прочитанного на конференции Infostart Event 2021 Post-Apocalypse.

Больше статей можно прочитать здесь.

Приглашаем на мероприятия Инфостарта 2023 года:

  • 25-27 мая, Анализ & Управление в ИТ-проектах - первая практическая конференция для аналитиков и руководителей проектов, 30% докладов и 70% практических сессий.
  • 11-13 октября, Infostart Event 2023 - самое масштабное событие в сфере 1С-индустрии, 1000+ участников, 130+ докладов.

 

Специальные предложения

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. kser87 2293 19.01.23 15:59 Сейчас в теме
Мобильное приложение с бэком на 1С уже мейнстрим
van_za; DERL; Akcium; +3 Ответить
2. van_za 182 28.01.23 19:06 Сейчас в теме
Всем привет!
приложение на react native файлы отправляем через multipart/form-data (по одному файлу), 1с обрабатывает медленно.

Также в логах апача при загрузке файлов наблюдается как то экзотическая ошибка 402
(HTTP-ответ 402 Payment Required это нестандартная ошибка клиента, зарезервированная для использования в будущем.)

Может автор или еще кто то подскажет как можно ускорить обработку запросов на загрузку файлов в 1с.
3. Akcium 267 28.01.23 23:28 Сейчас в теме
(2) По form-data есть статья по оптимальному алгоритму парсинга от коллеги, попробуйте: https://infostart.ru/1c/articles/1522786/
4. van_za 182 29.01.23 11:31 Сейчас в теме
5. van_za 182 03.02.23 11:41 Сейчас в теме
(3) спасибо все получилось.
Оставьте свое сообщение

См. также

Фоновые задачи с WorkManager в Simple

Мобильная разработка Бесплатно (free)

Вы запускаете задачу, которая должна пытаться выполниться, пока не выполнится, даже после перезагрузки устройства... У вас есть задача по расписанию, которая должна выполняться независимо от того, запущено приложение или нет… Эти и другие подобные задачи решаются с помощью воркеров. В Android есть инструмент, позволяющий упростить жизнь разработчика в случае с фоновыми задачами, разовыми или периодическими, обеспечив их гарантированное выполнение несмотря ни на что. Это WorkManager из Jetpack. Доселе в симпле было представлено множество других видов фоновой работы, но не было самого важного, теперь есть. Дополнение к статье https://infostart.ru/public/1153616/

15.03.2023    486    informa1555    0    

7

Архитектура 2.0 в Simple UI

Мобильная разработка Мобильная платформа Бесплатно (free)

11-й релиз платформы – своего рода перезагрузка проекта, внедрение новой архитектуры, новых принципов, которые должны стать базой для дальнейшего развития платформы. Цель – сделать мощнее и гибче, но одновременно проще и понятнее, сократить объем необходимой документации, сделать концепцию более целостной и логичной. Дополнение к статье https://infostart.ru/public/1153616/

03.02.2023    1857    informa1555    20    

28

Подкапотное пространство веб-клиента

Мобильная разработка Мобильная платформа Бесплатно (free)

Юрий Лазаренко, ведущий разработчик компании «Цифровой кот», на конференции Infostart Event 2021 Post-Apocalypse рассказал, как устроен самодельный веб-клиент, и какие практические приемы помогут эффективно интегрировать сайт с базой 1С.

30.01.2023    1524    TitanLuchs    16    

29

Мобильный клиент в ритейле. Внедрение и первые результаты использования

Мобильная разработка Мобильная платформа Бесплатно (free)

Олег Репников, руководитель департамента развития систем дистрибуции в ПАО «Вымпелком», рассказал о том, с какими сложностями можно столкнуться при внедрении в компании мобильного клиента: о реорганизации архитектуры решения, необходимости перестроения мышления всей команды разработки, и о том, что плохой код – враг мобильного клиента.

16.01.2023    1428    Repich    0    

12

Видеокурс-практикум: как подготовить и написать ТЗ, ЗНР, ЧТЗ. Промо

В курсе обобщен опыт работы аналитика на проектах в течение пяти лет, в нескольких фирмах. Подходы к написанию документов унифицированы и по возможности не привязаны к конфигурациям 1С.

3 500 рублей

Новый SimpleWEB – тот же Simple, теперь еще web

WEB-интеграция Мобильная разработка Мобильная платформа Бесплатно (free)

Представляю новый отдельный проект на старой семантике – фремйворк для создания веб приложений. Для разработчика симпла ничего не меняется – все тот же стек разработки, тот же конфигуратор и принципы разработки, но конфигурации теперь можно запускать не только на Андроид, но и в виде веб – приложений. Т.е. теперь платформы две – мобильная и веб, в два раза больше поводов перейти на этот стек разработки. Проект пока на стадии альфы, но развивается.

19.12.2022    2528    informa1555    9    

38

Думы о мобильной платформе и мобильном клиенте 1С:Предприятия

Мобильная разработка Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

Исходя из тех соображений, что информации много не бывает, хочу поговорить по поводу мобильной платформы и мобильном клиента 1С.

16.12.2022    1074    alexkozin    4    

6

Как на мобильной платформе 1С сделать игру. Расширяем возможности через Поле HTML Документа

Мобильная разработка Мобильная платформа Бесплатно (free)

Как вы считаете, можно ли создавать игры на мобильной платформе 1С? Независимый разработчик Никита Вельмаскин убежден – да, можно. На Infostart Event Post-Apocalypse он продемонстрировал, как работают гибридные приложения на мобильной платформе 1С и дал исходники игры, чтобы изучить все возможности веб-технологий применительно к мобильной разработке в 1С.

14.12.2022    4299    maskin    5    

36

Мобильное приложение для android: 1С vs Google

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Тестирование скорости чтения и записи в базу данных двух мобильных приложений: разработанного на 1С и на платформе от Google.

29.11.2022    1187    serg_gres    11    

4

Пакет дополнений к Simple UI. Ноябрь 2022

Мобильная разработка Мобильная платформа Бесплатно (free)

На этот раз сборная солянка, всего понемногу, но полезное: еще одна итерация улучшений по спискам, возможности кастомизации элементов интерфейса, специальные возможности для Urovo, общие возможности управления видимостью и даже новый вид события. Данная статья является дополнением к публикации https://infostart.ru/public/1153616/

21.11.2022    1397    informa1555    0    

18

Работа с 1С:Аналитика Промо

Онлайн-курс предусматривает изучение возможностей системы “1С:Аналитика”, которая работает как составная часть платформы “1С:Предприятие” и обеспечивает оперативный просмотр и анализ необходимых данных.

4500 рублей

1С в мобильном

Мобильная разработка Бесплатно (free)

С ростом онлайн-торговли и онлайн-работы значимость мобильных приложений сильно выросла. О том, как переход на удаленку повлиял на развитие мобильной платформы 1С, на конференции Infostart Event 2021 Post-Apocalypse рассказала Анна Лавринова – руководитель направления мобильной разработки в фирме «1С».

18.11.2022    1009    1C_lava    0    

4

Мобильные приложения 1С: зачем они бизнесу? Обзор + 7 идей применения

Мобильная разработка Анализ и проектирование ИТ-систем Бесплатно (free)

Сегодня 1С предлагает широкие возможности для разработки мобильных решений, а предприятия активно интегрируют их в свои процессы. Ниже мы рассмотрим варианты и преимущества мобильных приложений 1С. А в конце вас ждут 7 свежих идей для их практического применения.

31.10.2022    1216    ystetsenko    1    

2

Векторная графика в Simple UI. Октябрь 2022

Мобильная разработка Бесплатно (free)

В симпл добавлена возможность использовать в экранах векторные графические объекты, нарисованные в векторном редакторе или сгенерированные из кода, управлять ими из обработчиков (онлайн и оффлайн) и многое другое, с этим связанное. Дополнение к основной статье https://infostart.ru/public/1153616/

04.10.2022    1062    informa1555    15    

12

Особенности использования мобильной платформы на крупных предприятиях

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Разработчик «Первый БИТ.Савеловский» Валерий Дыков на конференции Infostart Event 2021 Post-Apocalypse поделился своим опытом использования мобильной платформы 1С на примере крупного предприятия «Кордиант». Он рассказал, как удалось реализовать мобильное приложение для офлайн-работы с маркированными товарами, с какими проблемами столкнулись разработчики, и как их удалось решить.

02.09.2022    2249    Begemoth80    0    

13

1c8 push уведомление на Apple устройства (APN) по сертификату .p8, протокол http2

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

Отправка из 1С8 push уведомлений на APN (apple устройства) используя .p8 сертификат от Apple по протоколу http2

02.09.2022    643    eda_light    0    

7

Программы для исполнения 54-ФЗ Промо

С 01.02.2017 контрольно-кассовая техника должна отправлять электронные версии чеков оператору фискальных данных - правила установлены в 54-ФЗ ст.2 п.2. Инфостарт предлагает подборку программ, связанных с применением 54-ФЗ, ККТ и электронных чеков.

Печатные формы, отчеты, HTML,JS в новом релизе SimpleUI. Август 2022.

Мобильная разработка Работа с интерфейсом Бесплатно (free)

В новом релизе решена тема печатных форм или в общем смысле выходных форм, причем сдельно это очень и очень просто. С 1С переучиваться не придется. А HTML и JS в «экранах» это попутный результат - теперь можно размещать HTML в контейнерах. Основная статья и комплект разработчика тут: https://infostart.ru/public/1153616/

29.08.2022    2658    informa1555    4    

28

Пакет обновлений SimpleUI Июль 2022

Мобильная разработка Бесплатно (free)

Обновление по большей части касается списков. Списки, карточки – важнейший элемент интерфейса для мобильных устройств и сколько ни добавляй возможностей – все мало. Также решено еще несколько задач. Данная статья является дополнением к статье https://infostart.ru/public/1153616/. Комплект разработчика можно скачать там.

22.07.2022    1699    informa1555    1    

20

Пакет новых элементов к Simple UI. Май 2022

Мобильная разработка Мобильная платформа Россия Бесплатно (free)

Новые поля ввода, кнопки и т.д. Основная статья тут: http://infostart.ru/public/1153616/

04.05.2022    1099    informa1555    2    

6

Новое приложение конструктора SimpleUI

Мобильная разработка Бесплатно (free)

Проект Simple UI обзавелся новым, самостоятельным инструментом создания/редактирования конфигураций с множеством улучшений. Также претерпели изменения сама архитектура решений и разработки. Основная статья, где содержатся файлы, тут: http://infostart.ru/public/1153616/

19.04.2022    2617    informa1555    20    

22

Настройка рабочего места для мобильной и веб-разработки в 1С для самых маленьких

Мобильная разработка Мобильная платформа Россия Бесплатно (free)

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

18.04.2022    7604    AntonChausov    15    

105

Готовые переносы данных из различных конфигураций 1C Промо

Рекомендуем готовые решения для переноса данных из различных конфигураций 1C. C техподдержкой от разработчиков и гарантией от Инфостарт.

Мобильная бригада — приложение ТОиР на мобильной платформе 1С для ускорения выполнения ремонтов

Мобильная разработка Производство готовой продукции (работ, услуг) Мобильная платформа Россия Управленческий учет Бесплатно (free)

Мобильная бригада — универсальное приложение для удаленной работы с 1С:ТОИР. Включив в свой арсенал мобильные гаджеты с приложением, ремонтная служба приобретает ряд преимуществ: ускорение приема и обработки заявок на ремонты, снижение количества ошибок предоставления и ввода данных, оперативное отслеживание изменений, немедленная обратная связь, удаленный доступ ко всей необходимой информации и повышение дисциплины. «Мобилизация» проходит быстро. Практика показала: научиться работать с помощью смартфона для линейных рабочих проще, чем освоить компьютер.

15.02.2022    1715    Desnol_Soft    10    

0

Мобильное приложение "Дорожный ассистент" для 1С

Мобильная разработка Мобильная платформа Россия Бесплатно (free)

Пример реализации мобильного приложения для водителей грузового транспорта. Frontend: React-Native. Backend: 1С.

14.02.2022    1335    80lvlAPP    8    

9

Новые подходы к дистрибуции решений Simple UI, GitHub, переопределение меню и другое

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Множество полезных новшеств для Simple UI, в основном направленных на управление конфигурациями. Но также, например, по многочисленным просьбам решен вопрос с меню. Дополнение к основной статье https://infostart.ru/public/1153616/

02.02.2022    1733    informa1555    10    

11

Пак дополнений к Simple UI, декабрь 2021

Мобильная разработка Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

Большой пакет полезностей и красоты. Примеры к этой статье в демо-базе в конфигурации «Примеры 6». Эта статья является дополнением к основной статье https://infostart.ru/public/1153616/

27.12.2021    1243    informa1555    0    

8

Распознавание и загрузка документов в 1С Промо

Универсальная программа-обработка для распознавания любых сканов или фото первичных документов в 1С (счета-фактуры, УПД, ТТН, акты и тд). Точность распознания до 98%.

от 11 рублей

Использование ORM вместо работы с чистым SQL

Мобильная разработка Мобильная платформа Бесплатно (free)

Маленькая заметка про небольшой, но полезный релиз Simple UI. Дополнение к основной статье https://infostart.ru/public/1153616/

25.11.2021    3253    informa1555    10    

27

Файлы-процессы, динамическая работа с формами и многое другое в Simple UI. Ноябрь 2021

Мобильная разработка Бесплатно (free)

Новый виток развития платформы дает новые возможности - теперь самостоятельными могут быть не только конфигурации, но и отдельные процессы в виде файлов, как "excel" или подобные форматы, только заточенные под оборудование, с питоном, VR и прочими плюшками. А предыдущий перевод конфигурации на JSON дает возможность динамически менять формы экранов и вообще все в конфигурации, включая обработчики. Статья - приложение к основной статье по Simple UI https://infostart.ru/public/1153616/

03.11.2021    1589    informa1555    34    

9

Мобильное приложение на 1С без никого... За полчаса...

Мобильная разработка Платформа 1С v8.3 Бесплатно (free)

Мобильное приложение на коленке за полчаса без никого...

27.10.2021    16299    starik-2005    62    

129

Пакет обновление Simple UI Август 2021. Новый формат и новые возможности.

Мобильная разработка Бесплатно (free)

Много новых возможностей, уборка лишнего хлама и решение насущных проблем. Дополнение к основной статье Simple UI: https://infostart.ru/public/1153616/

23.08.2021    1187    informa1555    7    

14

Распознавание лиц

Мобильная разработка Мобильная платформа Бесплатно (free)

В новом релизе в режим дополненной реальности ActiveCV в платформе Simple UI добавлен новый тип детектора - распознавание лиц. Платформа детектирует лица в кадре, оправляет их на ваш сервер распознавания (написанный на открытом скрипте на python) получает ответ в виде идентификатора, а дальше отображает в видеопотоке и вписывает их в логику вашего приложения. Таким образом хранение семплов, выбор и настройки алгоритмов распознавания и сам сервер находится за пределами платформы, открыт и построен на бесплатных технологиях. Данный пост является дополнением к основной статье https://infostart.ru/public/1153616/

26.07.2021    3567    informa1555    9    

39

1СПАРК РИСКИ. Сервис оценки благонадежности контрагентов. Промо

СПАРК помогает предотвратить мошенничество со стороны компаний и предпринимателей, благодаря актуальным сведениям о компаниях и системе выявления факторов риска.Сервис позволяет управлять налоговыми рисками и комплексно оценивать благонадежность контрагентов.

Мобильное приложение для учета личных финансов

Работа с интерфейсом Мобильная разработка Мобильная платформа Домашние учет и финансы Россия Управленческий учет Бесплатно (free)

Когда-то давно я написал свою программу по учету денег на мобильной платформе. Недавно я привел ее в человеческий вид, для своих знакомых, чтобы они тоже могли ей пользоваться. А сейчас решил выставить на обозрение общественности. Также поделюсь тем, как я веду учет личных финансов. Надеюсь, кому-то будет интересно.

08.07.2021    3849    coollerinc    23    

12

Новая система хранения в Simple UI. Это все меняет.

Мобильная разработка Бесплатно (free)

Новая система хранения и синхронизации создания для того, чтобы радикально (в разы) упростить процесс разработки оффлайн-решений и открыть путь к созданию более гибких и мощных самостоятельных конфигураций. Она базируется на принципах NoSQL и JSON и идеально вписывается в архитектуру платформы. Теперь работать с хранимыми данными можно как с обычными переменными. Это, хоть и не слишком заметное, но важное событие, важная веха в развитии продукта. Эта статья является дополнением к основной статье по Simple UI: https://infostart.ru/public/1153616/

28.06.2021    10000    informa1555    3    

14

Фоновый сервис событий в Simple UI. Релиз Июнь 2021

Мобильная разработка Платформа 1С v8.3 Бесплатно (free)

В новом релизе появился постоянно висящий в памяти сервис для обработки внешних событий – штрихкодов, голосового ввода, сообщений от других программ и внутренних процессов. Который может управлять программой поверх стандартных процессов – что то спрашивать голосом, что то озвучивать(ассистент), показывать диалоги, запускать процессы и экраны, отправлять управляющие команды. С помощью этого можно получить многоплановый интерфейс и более удобное взаимодействие с пользователем не только через экран и ввод, но и с помощью событий голосового ввода и других средств взаимодействия. Эта статья является дополнением к основной статье по Simple UI: https://infostart.ru/public/1153616/

15.06.2021    3074    informa1555    0    

18

Мобильное приложение на 1С?

О жизни Мобильная разработка Мотивация, лидерство и личная эффективность Бесплатно (free)

История одного программиста, как он пришел в мир 1С и какой проделал путь к «мобильной платформе 1С». Какие выводы он для себя сделал, поработав с «мобильной платформой 1С».

18.05.2021    9732    dsdred    91    

51

Релиз Simple UI май 2021: плиточные экраны, плиточное главное меню, картинки из кеша, новое взаимодействие с ТСД и т.д.

Мобильная разработка Мобильная платформа Бесплатно (free)

В релизе Simple UI 5.75.00 добавлен новый вид интерфейса – «плитки» и возможность переопределения стартового экрана, а также другие нововведения. Также важное нововведение - новый режим взаимодействия с некоторыми моделями ТСД - через подписку на сообщения. Дополнение к основной статье: https://infostart.ru/public/1153616/

17.05.2021    3477    informa1555    0    

23

Программы для исполнения 488-ФЗ: Маркировка товаров Промо

1 января 2019 года вступил в силу ФЗ от 25.12.2018 № 488-ФЗ о единой информационной системе маркировки товаров с использованием контрольных (идентификационных) знаков, который позволяет проследить движение товара от производителя до конечного потребителя. Инфостарт предлагает подборку программ, связанных с применением 488-ФЗ и маркировкой товаров.

1С в мобильном и лицензионная политика

Мобильная разработка Мобильная платформа Бесплатно (free)

На екатеринбургском онлайн-митапе заместитель директора НП ППП и руководитель мобильного направления в фирме «1С» Анна Лавринова рассказала о мире мобайла в сфере 1С, примерах мобильных приложений и особенностях их лицензирования.

31.03.2021    2939    1C_lava    4    

2

Как избавиться от горизонтальных серых разделителей (полосок) между элементами в форме мобильного приложения

Мобильная разработка Работа с интерфейсом Мобильная платформа Бесплатно (free)

На профильных форумах часто возникает вопрос, как избавиться от горизонтальных полос-разделителей между элементами на формах мобильного приложения. Часто предлагают использовать декорации или html-поле. Однако, есть простое решение.

17.03.2021    2605    kholodarev    9    

7

Большой пак дополнений март 2021: регламентные задания, распознавание дат и чисел, оповещения, поля с автозаполнением и многое, многое другое

Терминал сбора данных Мобильная разработка Платформа 1С v8.3 Бесплатно (free)

Релиз с огромным количеством дополнений. Дополнение к основной статье Simple UI: https://infostart.ru/public/1153616/ Перечень изменений: 1. Оптическое распознавание дат в разных форматах 2. Оптическое распознавание чисел в разных форматах 3. Запуск кода из кода синхронно/асинхронно в фоне (Python) 4. Регламентные задания с расписанием от 1 мс 5. Всплывающие сообщения 6. Уведомления из любого контекста простые 7. Уведомления с ответом (для Anroid начиная с Oreo) 8. Поле ввода с событием на каждый символ 9. Поле ввода с автозаполнением (предварительно передается список) 10. Новый настраиваемый диалог ввода и работа с ответами диалога 11. Работа с речью и голосом из любого контекста А также изменения в документации. В данную статью не вошло описание системы группового администрирования и мониторинга.

11.03.2021    2987    informa1555    20    

24

Интерпретатор Python в мобильном приложении Android и еще много всего. Февраль 2021

Мобильная разработка Бесплатно (free)

В новом релизе можно писать скрипты на полноценном Python 3.8 с популярными библиотеками. Также появились новые виды обработчиков и новый функционал. В небольшой обзорке я покажу некоторые преимущества сочетания Питона с конструктором Simple UI по сравнению с другими видами разработки. А также добавился новый функционал: локальное хранилище конфигураций (стартер конфигураций) и новые возможности организации многопользовательского доступа. Дополнение к основной статье: https://infostart.ru/public/1153616/

15.02.2021    4929    informa1555    17    

35