Платформа "1С:Предприятие" предоставляет разработчикам полноценный инструментарий для создания мобильных приложений, функционирующих на устройствах под управлением Android, iOS и Windows. В отличие от настольной версии, где пользователь может запустить готовый клиент для исполнения любой конфигурации, в мобильном мире разработчик самостоятельно собирает дистрибутив приложения, который затем публикуется в магазинах приложений.
Такой подход обеспечивает полный контроль над функциональностью и пользовательским опытом, но требует понимания специфики мобильной разработки в экосистеме 1С.
Разработка мобильного приложения на 1С ведется по тем же принципам, что и создание настольных приложений, с учетом ограничений, накладываемых мобильной версией платформы. Ключевым инструментом при этом выступает мобильная версия "1С:Предприятия", предназначенная исключительно для разработчиков и содержащая все необходимые компоненты для отладки и сборки конечных продуктов.
Эта версия поставляется в виде архива, включающего компоненты для всех поддерживаемых операционных систем, что позволяет вести разработку кросс-платформенных решений из единого источника.
Архитектурные варианты мобильных решений
Мобильный клиент и его особенности
Мобильный клиент это приложение, взаимодействующее с информационными базами в онлайн-режиме, по аналогии с тонким клиентом настольной версии, работающим с базой, опубликованной на веб-сервере. Основное назначение мобильного клиента обеспечение доступа к полной функциональности "старшего" приложения, будь то "1С:ERP Управление предприятием" или "1С:Управление нашей фирмой", прямо с мобильного устройства.
При этом платформа автоматически трансформирует формы, декларативно описанные в конфигурации, адаптируя их для комфортной работы на экранах различных размеров и ориентаций.
Важной особенностью мобильного клиента является поддержка технологии расширений конфигурации. Это означает, что для адаптации приложения к работе в мобильном клиенте не требуется кардинальная переработка существующей конфигурации достаточно внести изменения через механизм расширений, что существенно упрощает поддержку и развитие решения.
При этом мобильный клиент не хранит информационную базу на устройстве, поэтому его работа возможна исключительно при наличии устойчивого соединения с веб-сервером.
Мобильный клиент с автономным режимом
Мобильный клиент с автономным режимом занимает промежуточное положение между обычным мобильным клиентом и приложением мобильной платформы. В зависимости от наличия соединения, такое приложение может работать в онлайн-режиме с основной базой либо использовать локальную копию данных, хранящуюся непосредственно на мобильном устройстве. Этот вариант идеально подходит для сценариев, где периодические потери связи неизбежны например, для торговых представителей, работающих на выезде.
Разработка приложения с автономным режимом требует существенной доработки конфигурации: необходимо определить состав метаданных, доступных в оффлайн-режиме, реализовать автономные формы и механизмы синхронизации данных. Сложность разработки такого решения значительно выше по сравнению с обычным мобильным клиентом, однако получаемая функциональность возможность полноценной работы без постоянного подключения к сети оправдывает затраченные усилия.
Приложение мобильной платформы
Приложение мобильной платформы является наиболее автономным решением, использующим исключительно локальную информационную базу, расположенную на мобильном устройстве. По своей сути оно аналогично тонкому клиенту, работающему с файловой базой, расположенной на том же компьютере.
Отсутствие постоянной зависимости от сервера делает такое приложение идеальным выбором для полностью автономных сценариев, однако требует реализации механизмов синхронизации с основной системой при необходимости обмена данными.
Для создания приложения мобильной платформы требуется либо разработка совершенно нового приложения, либо значительная адаптация существующего. В отличие от мобильного клиента, здесь не работает механизм расширений, и все изменения вносятся непосредственно в конфигурацию. Сборка дистрибутива приложения мобильной платформы также имеет свою специфику, связанную с включением в состав дистрибутива локальной базы данных.
Инструментарий разработчика и сборка приложений
Для отладки мобильных приложений используется платформа разработчика специальная версия мобильной платформы, предназначенная для запуска и отладки на мобильном устройстве в процессе разработки.
Платформа разработчика не предназначена для публикации в магазинах приложений она содержит все возможные разрешения, которые могут потребоваться прикладному решению, и предоставляет расширенные возможности по сравнению с публичной версией. Это позволяет разработчику тестировать функциональность приложения в полном объеме до момента сборки финального дистрибутива.
Непосредственная сборка дистрибутивов для публикации в магазинах приложений (Google Play, App Store, Microsoft Store) осуществляется с помощью специального инструмента Сборщика мобильных приложений. Фирма "1С" предлагает облачный сервис сборки, позволяющий создать дистрибутивы для всех поддерживаемых операционных систем без необходимости развертывания собственной инфраструктуры. При отсутствии доступа к Интернету сборку можно выполнить "вручную", используя локальную версию Сборщика.
Важно понимать, что каждая конфигурация требует собственного собранного мобильного приложения, если используется мобильная платформа. Для мобильных клиентов допускается сборка приложения, работающего с несколькими похожими конфигурациями, однако это требует тщательной проработки совместимости и соблюдения требований магазинов приложений относительно неизменности функциональности после публикации.
Особенности разработки и адаптации конфигураций
Подсистемы и архитектура мобильного решения
Структура мобильной конфигурации строится вокруг подсистем, определяющих функциональные блоки приложения. Подсистемы служат основой для построения командного интерфейса и навигации, организуя доступ пользователя к различным функциям системы. При разработке мобильного приложения важно продумать иерархию подсистем таким образом, чтобы она обеспечивала интуитивно понятную навигацию на экране ограниченного размера.
В рамках каждой подсистемы разработчик определяет набор метаданных, доступных пользователю: справочники, документы, регистры сведений и отчеты. Для каждого объекта создаются формы списка и формы элемента, адаптированные для работы на мобильном устройстве. Платформа обеспечивает автоматическую трансформацию форм, декларативно описанных в конфигурации, однако для достижения оптимального пользовательского опыта часто требуется ручная настройка расположения элементов управления.
Работа с данными! Реквизиты и табличные части
Основой любой конфигурации служат объекты метаданных, содержащие реквизиты (атрибуты) и табличные части (коллекции связанных данных). При разработке мобильного приложения важно рационально проектировать структуру хранения данных, учитывая ограниченные ресурсы мобильных устройств. Оптимальное количество реквизитов в объекте и размер табличных частей напрямую влияют на производительность приложения и объем передаваемых при синхронизации данных.
Особое внимание следует уделять выбору типов реквизитов и организации ссылочной целостности. В мобильных приложениях часто используются упрощенные варианты справочников и документов по сравнению с настольными версиями, что позволяет сократить объем локально хранимых данных и ускорить выполнение операций. Для обеспечения работы в оффлайн-режиме необходимо определять, какие справочники и документы будут доступны на мобильном устройстве, а какие останутся на сервере.
Регистры сведений и отчетность
Регистры сведений играют ключевую роль в хранении периодической информации, такой как цены, курсы валют или остатки товаров. В мобильных приложениях регистры сведений часто используются для кеширования данных, необходимых для работы в автономном режиме. При разработке важно правильно настроить периодичность обновления регистров сведений при синхронизации, чтобы обеспечить актуальность данных без избыточной нагрузки на каналы связи.
Построение отчетов в мобильных приложениях требует особого подхода. Вместо сложных многомерных отчетов, характерных для настольных версий, мобильные решения часто используют упрощенные формы вывода данных с возможностью детализации до конкретных документов и записей регистров. Примером такого подхода служит адаптивная отчетность, переработанная под вертикальный экран смартфона с сохранением группировок, иерархии и возможности "провалиться" до конкретного документа.
Механизмы обмена и синхронизации данных
Организация обмена данными
- Обмен данными между мобильным приложением и основной информационной базой является критическим компонентом любого мобильного решения. Механизмы обмена реализуются с использованием различных технологий, выбор которых зависит от архитектуры приложения и требований к автономности.
- Основным инструментом для организации обмена служат HTTP-сервисы, предоставляющие программный интерфейс для взаимодействия с внешними системами.
- При проектировании обмена данными разработчик определяет состав передаваемой информации, периодичность синхронизации и способ разрешения конфликтов. Использование HTTP-сервисов в качестве транспортного слоя обеспечивает надежную передачу данных даже в условиях нестабильного мобильного соединения. Важным аспектом является минимизация объема передаваемых данных передаются только изменения с момента последней синхронизации, а не полные копии справочников и документов.
Синхронизация данных и разрешение конфликтов
Синхронизация данных это сложный процесс согласования изменений, внесенных в мобильной базе и в основной системе. Правильно построенный механизм синхронизации обеспечивает целостность данных при обмене и предотвращает потерю информации. Ключевым элементом является идентификация записей каждый объект должен иметь уникальный идентификатор, позволяющий сопоставить записи в разных базах.

При синхронизации возникает проблема разрешения конфликтов, когда один и тот же объект был изменен и в мобильном приложении, и в основной системе. Для решения этой задачи используются различные стратегии: приоритет последнего изменения, приоритет основной системы, или ручное разрешение конфликтов пользователем.
В типовых решениях, таких как "1С:Мобильная касса", реализован механизм, при котором созданные в мобильном приложении объекты передаются в основную систему, но их редактирование после синхронизации возможно только в "старшей" программе.
HTTP-сервисы как основа интеграции
HTTP-сервисы представляют собой мощный механизм интеграции, позволяющий создавать программные интерфейсы для обмена данными между мобильными приложениями и серверной частью. В отличие от веб-сервисов на основе SOAP, HTTP-сервисы отличаются меньшим объемом передаваемых данных и более низкой вычислительной нагрузкой, что критично для мобильных приложений.
Разработка HTTP-сервиса в 1С включает создание объекта конфигурации "HTTP-сервис", определение шаблонов URL и обработчиков методов. Обработчики пишутся на встроенном языке и выполняют бизнес-логику: чтение данных из базы, формирование ответа в формате JSON или XML, запись переданных данных. Такой подход позволяет создать REST-подобный программный интерфейс, удобный для использования из любого мобильного приложения, независимо от технологии его реализации.
Клиент-серверное взаимодействие и контексты выполнения
Тонкий и толстый клиенты в мобильной разработке
В контексте мобильной разработки термины "тонкий клиент" и "толстый клиент" приобретают специфическое звучание. Мобильный клиент и приложение мобильной платформы концептуально соответствуют тонкому и толстому клиентам настольной версии, однако с важными отличиями. Мобильный клиент (аналог тонкого клиента) не хранит базу на устройстве и требует постоянного соединения с сервером, тогда как приложение мобильной платформы работает с локальной базой и может функционировать без сетевого доступа.
Выбор между этими вариантами определяет не только пользовательский опыт, но и архитектуру всего решения. Приложение мобильной платформы (толстый клиент) требует реализации всех бизнес-процессов на стороне устройства, включая проведение документов и формирование отчетов. Мобильный клиент (тонкий клиент) делегирует выполнение серверной логики на сервер приложений, оставляя клиентской части только функции отображения и ввода данных.
Серверный и клиентский контекст
В мобильных приложениях, как и в настольных, код может выполняться в различных контекстах: серверном и клиентском. Серверный контекст предназначен для выполнения операций с данными, требующих доступа к базе, и бизнес-логики, которая должна быть централизована. Клиентский контекст отвечает за взаимодействие с пользователем, отображение интерфейса и обработку вводимых данных.
Разделение кода по контекстам выполнения критически важно для производительности мобильных приложений. В приложениях мобильной платформы весь код выполняется на устройстве, поэтому особенно важно оптимизировать серверные вызовы и минимизировать нагрузку на процессор и память. В мобильных клиентах часть кода выполняется на сервере приложений, что позволяет использовать более мощные вычислительные ресурсы для ресурсоемких операций.
Общие модули и программный интерфейс
Общие модули служат основным инструментом организации кода в мобильных конфигурациях. Они содержат процедуры и функции, доступные из различных частей приложения, и позволяют избежать дублирования кода.
При разработке мобильных приложений важно правильно распределять функциональность по общим модулям с учетом контекста выполнения: клиентские модули (с пометкой "Клиент") содержат код, работающий на устройстве, серверные модули ("Сервер") код, выполняемый на сервере, а общие модули могут содержать код, доступный в обоих контекстах.
Программный интерфейс мобильного приложения определяет способы взаимодействия между различными компонентами системы. Внутренний интерфейс обеспечивает связь между формами, общими модулями и объектами метаданных. Внешний программный интерфейс реализуется через HTTP-сервисы и веб-сервисы, предоставляя возможность интеграции с другими системами и мобильными приложениями.
Практические аспекты разработки
Адаптация существующих конфигураций
Одним из основных преимуществ мобильной платформы 1С является возможность адаптации существующих настольных конфигураций для работы на мобильных устройствах. Для мобильного клиента адаптация минимальна и осуществляется с использованием механизма расширений конфигурации. Это позволяет существенно сократить время и стоимость разработки, сохранив при этом всю функциональность исходного приложения.
При адаптации необходимо учитывать ограничения мобильной версии, описанные в документации, и особенности пользовательского интерфейса. Формы, разработанные для настольной версии, автоматически трансформируются мобильным клиентом, однако для достижения оптимального результата часто требуется ручная настройка расположения элементов управления и состава отображаемых реквизитов.
Для приложений мобильной платформы адаптация требует более серьезных изменений, вплоть до переработки архитектуры некоторых подсистем.
Разработка с использованием расширений конфигурации
Механизм расширений конфигурации предоставляет возможность вносить изменения в существующее прикладное решение без модификации самой конфигурации.
- Для мобильных приложений это особенно актуально, так как позволяет адаптировать настольную конфигурацию под мобильные устройства, сохраняя возможность обновления основной конфигурации без потери внесенных изменений.
- При разработке расширений для мобильных приложений важно учитывать, что не все механизмы, доступные в расширениях для настольных версий, поддерживаются в мобильных клиентах. Р
- азработчик должен внимательно изучить документацию и руководствоваться принципом минимально необходимых изменений: вносить только те доработки, которые критичны для работы на мобильном устройстве, оставляя максимум функциональности неизменной.
Оффлайн-режим и файловая база
Оффлайн-режим является ключевым преимуществом приложений мобильной платформы и мобильных клиентов с автономным режимом. В этом режиме приложение работает с локальной файловой базой, расположенной на мобильном устройстве, и не требует постоянного подключения к серверу. Файловая база содержит срез данных, необходимых для выполнения бизнес-задач в условиях отсутствия связи.

Разработка оффлайн-режима требует тщательного проектирования состава локально хранимых данных и механизмов их обновления. Важно определить, какие справочники и документы должны быть доступны оффлайн, настроить правила фильтрации данных (например, только текущие заказы или только контрагенты, с которыми ведется работа), и обеспечить возможность работы с документами в режиме оффлайн с последующей синхронизацией при восстановлении соединения.
Кроссплатформенность и публикация приложений
Платформа 1С поддерживает разработку мобильных приложений для трех основных мобильных операционных систем: Android, iOS и Windows. При этом разработка ведется на единой кодовой базе, а сборка дистрибутивов для каждой платформы осуществляется с помощью Сборщика мобильных приложений. Такой подход значительно упрощает поддержку кросс-платформенных решений и сокращает затраты на разработку.
Публикация мобильных приложений в магазинах приложений требует соблюдения требований каждого конкретного магазина. Для публикации необходимо создать дистрибутив (APK для Android, IPA для iOS, APPX для Windows) и предоставить его в соответствующий магазин. При использовании облачного сервиса сборки процесс максимально автоматизирован, однако при ручной сборке требуется внимательно следовать инструкциям для каждой платформы.
Разработка мобильных приложений на платформе 1С:Предприятие это комплексный процесс, требующий глубокого понимания как возможностей платформы, так и ограничений мобильных устройств. Выбор между мобильным клиентом, мобильным клиентом с автономным режимом и приложением мобильной платформы определяет архитектуру решения, объем необходимых доработок и пользовательский опыт.
- Ключевым преимуществом платформы является возможность адаптации существующих настольных конфигураций для работы на мобильных устройствах с минимальными затратами, особенно при использовании механизма расширений для мобильного клиента.
- Развитая инфраструктура обмена данными через HTTP-сервисы обеспечивает надежную интеграцию с корпоративными системами, а механизмы синхронизации позволяют организовать эффективную работу в оффлайн-режиме.
- Понимание особенностей серверного и клиентского контекстов, правильное проектирование подсистем, форм и общих модулей, оптимизация работы с данными все это составляет основу профессиональной разработки мобильных приложений на платформе 1С:Предприятие.
Инструментарий платформы, включая мобильную версию для разработчиков и Сборщик мобильных приложений, обеспечивает полный цикл создания и публикации мобильных решений, открывая перед разработчиками широкие возможности для автоматизации бизнеса на мобильных устройствах.









