Разработка мобильных приложений на платформе 1С:Предприятие 8 — это отличный способ расширить функциональность привычных учетных систем или создать независимый пет-проект, например, для личного финансового учета. В данной статье мы подробно разберем, с чего начать новичку, какие инструменты понадобятся и как избежать типичных ошибок при проектировании архитектуры мобильного решения.
Прежде чем приступить к написанию кода, проанализируем, как ваше приложение будет взаимодействовать с данными. Платформа 1С предлагает три принципиально разных подхода:
Для задачи домашнего учета, которую мы рассматриваем, лучше всего подходит Мобильная платформа, так как она обеспечивает независимость от сервера и высокую скорость работы интерфейса.
Разберем, где черпать знания, не прибегая к платным подпискам. Основным источником является официальная литература. Рассмотрим книгу Е. Ю. Хрусталевой «Знакомство с разработкой мобильных приложений на платформе "1С:Предприятие 8"». Несмотря на то что некоторые технологические аспекты (например, предпочтение XML перед JSON) могут показаться устаревшими, это базовое пособие дает фундаментальное понимание работы мобильного движка 1С.
Также рекомендуем регулярно изучать материалы на ресурсе «1С:Зазеркалье», где описываются новые возможности, такие как работа с биометрией, уведомлениями и интеграцией с аппаратными функциями смартфона.
Проанализируем техническую сторону вопроса. Чтобы превратить вашу конфигурацию 1С в полноценное приложение для Android или iOS, потребуется подготовить рабочее место:
.apk пакета.Для быстрой отладки без постоянной сборки пакета установите на смартфон «1С:Платформу для разработчиков». Вы сможете публиковать свою информационную базу на локальном веб-сервере (например, Apache) и подключаться к ней по Wi-Fi прямо из мобильного приложения 1С для мгновенного тестирования изменений.
Рассмотрим ситуацию, когда вам необходимо передать данные из мобильного приложения в основную базу (на десктоп). Современный стандарт разработки в 1С диктует использование формата JSON вместо тяжеловесного XML. Проанализируем пример кода, который позволяет быстро сериализовать таблицу значений в JSON для последующей передачи через HTTP-сервисы.
Для этого мы воспользуемся объектом СериализаторXDTO. Это наиболее быстрый способ превратить сложные структуры 1С в строку. Посмотрим на пример кода:
// Пример сериализации таблицы значений в JSON
ЗаписьJS = Новый ЗаписьJSON;
ЗаписьJS.УстановитьСтроку();
// Используем СериализаторXDTO для записи объекта (например, ТаблицаТовары)
СериализаторXDTO.ЗаписатьJSON(ЗаписьJS, ТаблицаТовары, НазначениеТипаXML.Явное);
СтрокаJS = ЗаписьJS.Закрыть();
// Теперь СтрокаJS содержит данные в формате JSON, готовые к отправке
Для обратного процесса — десериализации (прочтения) данных в приемнике — используем следующий подход:
// Пример чтения данных из JSON обратно в объект 1С
ЧтениеJS = Новый ЧтениеJSON;
ЧтениеJS.УстановитьСтроку(ПолученнаяСтрокаJSON);
ТаблицаКопия = СериализаторXDTO.ПрочитатьJSON(ЧтениеJS);
ЧтениеJS.Закрыть();
Важно помнить, что при использовании СериализаторXDTO.ЗаписатьJSON формат будет иметь специфическую структуру, напоминающую XML внутри JSON. Если вам нужен «чистый» JSON для взаимодействия со сторонними системами, рекомендуется использовать ручной обход коллекции и упаковку в объекты Массив и Структура.
Разберем основные правила проектирования интерфейса. Экран смартфона значительно меньше монитора ПК, поэтому стандартные формы 1С будут выглядеть на нем неудобно. Выясним, как сделать приложение эргономичным:
Проанализируем вопрос защиты информации. Мобильная платформа 1С обеспечивает достаточно высокий уровень безопасности. Локальная база данных SQLite находится в закрытом системном каталоге приложения. Если ваше устройство не взломано (Root-права не получены), другие приложения не смогут получить доступ к вашим финансовым записям.
Для дополнительной защиты мы можем внедрить в конфигурацию запрос Пароля или использование биометрической аутентификации при запуске. Это особенно актуально для приложений финансового учета.
Создание мобильного приложения на 1С — это задача, посильная начинающему программисту, если следовать системному подходу. Мы рекомендуем начать с простого прототипа на Мобильной платформе, использовать HTTP-сервисы и JSON для синхронизации и уделять особое внимание удобству мобильных форм. Постепенно осваивая возможности платформы, вы сможете создавать сложные системы, интегрированные с камерой, геолокацией и внешним оборудованием.