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

Программист 1С v8.3 (Управляемые формы) Управленческий учет IT и автоматизация бизнеса
← На главную

Разработка мобильных приложений на платформе 1С:Предприятие 8 — это отличный способ расширить функциональность привычных учетных систем или создать независимый пет-проект, например, для личного финансового учета. В данной статье мы подробно разберем, с чего начать новичку, какие инструменты понадобятся и как избежать типичных ошибок при проектировании архитектуры мобильного решения.

Шаг 1: Выбор архитектуры — Мобильная платформа или Мобильный клиент?

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

  1. Мобильная платформа (МП): Это полностью автономное приложение. Оно устанавливается на смартфон вместе с локальной базой данных (SQLite). Приложение работает без интернета, данные хранятся прямо в устройстве. Это идеальный вариант для небольших личных проектов, таких как учет домашних расходов.
  2. Мобильный клиент (МК): По сути, это тонкий клиент для мобильного устройства. Оно не имеет собственной базы и требует постоянного подключения к серверу (через интернет или локальную сеть). Все вычисления происходят на стороне сервера 1С.
  3. Мобильный клиент с автономным режимом: Гибридный вариант, позволяющий приложению работать без связи, а при появлении интернета синхронизировать данные с центральной базой. Это самый сложный вариант в реализации.

Для задачи домашнего учета, которую мы рассматриваем, лучше всего подходит Мобильная платформа, так как она обеспечивает независимость от сервера и высокую скорость работы интерфейса.

Шаг 2: Изучение базовых материалов

Разберем, где черпать знания, не прибегая к платным подпискам. Основным источником является официальная литература. Рассмотрим книгу Е. Ю. Хрусталевой «Знакомство с разработкой мобильных приложений на платформе "1С:Предприятие 8"». Несмотря на то что некоторые технологические аспекты (например, предпочтение XML перед JSON) могут показаться устаревшими, это базовое пособие дает фундаментальное понимание работы мобильного движка 1С.

Также рекомендуем регулярно изучать материалы на ресурсе «1С:Зазеркалье», где описываются новые возможности, такие как работа с биометрией, уведомлениями и интеграцией с аппаратными функциями смартфона.

Шаг 3: Настройка окружения для разработки

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

Для быстрой отладки без постоянной сборки пакета установите на смартфон «1С:Платформу для разработчиков». Вы сможете публиковать свою информационную базу на локальном веб-сервере (например, Apache) и подключаться к ней по Wi-Fi прямо из мобильного приложения 1С для мгновенного тестирования изменений.

Шаг 4: Реализация обмена данными через JSON

Рассмотрим ситуацию, когда вам необходимо передать данные из мобильного приложения в основную базу (на десктоп). Современный стандарт разработки в 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 для взаимодействия со сторонними системами, рекомендуется использовать ручной обход коллекции и упаковку в объекты Массив и Структура.

Шаг 5: Особенности мобильного интерфейса (UI/UX)

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

  1. Формы в закладках: В свойствах конфигурации установите режим использования закладок. Это позволит пользователю переключаться между экранами с помощью привычных мобильных жестов.
  2. Крупные элементы управления: Избегайте мелких кнопок. Используйте стандартные команды мобильной платформы, которые автоматически адаптируются под размер пальца.
  3. Оптимизация списков: Для мобильных устройств критически важно использовать динамические списки с небольшим количеством колонок (не более двух-трех). Остальную информацию лучше выносить в форму просмотра.
  4. Использование аппаратных кнопок: Платформа позволяет перехватывать нажатие кнопок «Назад» на Android, что важно для обеспечения привычного пользовательского опыта.

Шаг 6: Безопасность и хранение данных

Проанализируем вопрос защиты информации. Мобильная платформа 1С обеспечивает достаточно высокий уровень безопасности. Локальная база данных SQLite находится в закрытом системном каталоге приложения. Если ваше устройство не взломано (Root-права не получены), другие приложения не смогут получить доступ к вашим финансовым записям.

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

Заключение

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

← На главную