Visual2000 · Статьи А.Колесова по "1С"

Цикл "1С:Предприятие" в PC Magazine/RE

Как повысить мобильность "1С:Предприятия"

Андрей Колесов

© Андрей Колесов, 2006
Авторский вариант. Статья была опубликована в журнале PC Magazine/RE № 07/06 (с.121-125).


В предыдущих выпусках рубрики мы уже рассказывали о...

В предыдущих выпусках рубрики мы уже рассказывали о возможностях создания и использования удаленных рабочих мест с помощью продукта "1С:Web-расширение" (см. PC Magazine/RE, 3 и 5/2006). Конечно, использование Web-клиента — это здорово, но все же сегодня такого механизма уже явно недостаточно для создания действительно мобильных решений. Ведь применение Web-приложений подразумевает дистанционный доступ к централизованным вычислительным ресурсам в режиме постоянного соединения, в то время, как на практике сегодня желательно иметь автономные решения, которые могли бы работать на различных малогабаритных устройствах и которые обменивались бы данными с главной системой лишь по мере необходимости.

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

Вот простой пример — торговый агент, который объезжает клиентов и собирает у них заказы по достаточно узкой номенклатуре изделий (из того, что на самом деле есть в ассортименте торговой организации). Для этого ему нужно загрузить на свой ноутбук или карманный компьютер соответствующий каталог и список контрагентов. Потом он уезжает и, находясь у клиента, сформирует заказы с помощью карманного устройства. Вечером он приезжает в офис и сбрасывает собранные данные в центральную систему.

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

Реализовать такой режим работы для "1С:Предприятия" теперь можно, причем довольно просто — с помощью нового программного продукта"1С:Предприятие 8.0. Расширение для карманных компьютеров" (1С:РКК), разработанного фирмой "1С" совместно с компанией "ДИСКо", специализирующейся на создании Интернет-приложений и решений для PDA-устройств.

В начало статьи

Состав продукта

Этот пакет предназначен для создания автономных приложений, функционирующих с данными информационных баз "1С:Предприятия 8.0" на карманных компьютерах и коммуникаторах, работающих под управлением Windows Mobile 2003 или Windows Mobile 5.0 (на базе процессоров Intel ARM), а также на ноутбуках и ПК с Windows 2000 и выше.

В поставку продукта входят следующие программные компоненты:

Все программные компоненты, входящие в состав продукта, имеют как русский, так и англоязычный интерфейс.

В начало статьи

Общая схема применения

Говоря о логике применения 1С:РКК, нужно напомнить, что вся платформа "1С:Предприятия" в целом реализует БД-ориентированную модель создания ПО. Соответственно ядром прикладного решения является комплекс метаданных (описание используемых объектов и взаимосвязей между ними), вокруг которого формируется, с одной стороны, программный код, а с другой — собственно база данных (БД) конкретного заказчика. А все это вместе (метаданные, программы и данные) составляют, в терминологии "1С", информационную базу (ИБ), которая функционирует в среде "1С:Предприятия".

Так что если прикладная программа в обычном понимании является "приложением" к операционной системе и может работать с разными БД (например, Word может функционировать со всевозможными документами и не связан жестко с каким-то одним из них), то в рамках архитектуры "1С" прикладная программа — это компонент ИБ, что-то вроде "большой" хранимой процедуры для обработки БД.

Такая же модель используется при создании и применении мобильных приложений с помощью 1С:РКК. МП представляют собой опять же программные компоненты ИБ, логически привязанные к ее метаданным и программному коду. Соответственно, несколько упрощенно говоря, МП записываются на КПК только на время из применения как бы "разового использования". Точнее, МП могут и долго храниться на КПК, но это скорее режим кэширования, который в общем случае требует регулярной синхронизации кода и данных с центральной ИБ. Мне кажется, что было бы даже правильнее говорить не о "мобильных приложениях", а о "мобильных расширениях" прикладного решения…

В целом общая схема применения продукта (рис. 1) тут выглядит примерно так (для простоты клиентское устройство мы будем обозначать как КПК, а компьютер с установленным "1С:Предприятием" — ПК):

1. Разработка и администрирование:

2. Работа пользователя с МП

Рис. 1 Логика работы системы "1С:Предприятие 8.0. Расширение для карманных компьютеров"

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

В начало статьи

Пример создания мобильного приложения

Реализуем такую простейшую задачу: пользователь вводит на КПК заказы покупателей. Для этого ему потребуется каталог товаров и список клиентов. После установки продукта на ПК (это делается достаточно просто, по инструкции), выполняем действия в последовательности шагов перечилленных выше:

В начало статьи

Шаг 1. Разработка клиентской части приложения

В начало статьи

Шаг 2. Формирование программного взаимодействия сервер МП — ИБ "1С:Предприятия"

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

В начало статьи

В начало статьи

  • Конкретные шаги

    Итак подведем итоги: что же конкретно нам нужно сделать для создания программного интерфейса ММП:

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

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

    В начало статьи

    В начало статьи

    Шаг 3. Инициализация КПК

    Данный пункт мы не будет описывать — это достаточно просто.

    В начало статьи

    Шаг 4. Администрирование сервера мобильных приложений

    Чтобы мобильный пользователь мог обмениваться данными с ИБ "1С:Предприятия", нам потребуется настроить и запустить сервер МП. Для этого запускаем сервер, в список ИБ, доступных серверу, добавляем информацию о новой базе — каталог базы, способ доступа и ряд других настроек (рис. 7). Способ доступа укажем с использованием протокола TCP/IP — это позволит нам связываться с сервером посредством WiFi, BlueTooth, GPRS (конечно, при условии, что используемые мобильные устройства обеспечивают поддержку этих технологий).

    Рис. 7 Администрирование сервера мобильных приложений

    В начало статьи

    Шаг 5. Работа пользователя

    Запускаем на КПК установленную платформу исполнения МП. Видим, что список ИБ пуст. Добавляем в него описание новой базы (рис. 8). Нажимаем кнопку «Открыть». Поскольку информационная база еще не создана, выдается диалог установки пароля. Пароль должен соответствовать тому, который определен в настройках для данного пользователя в ИБ 1С:Предприятия.

    Рис. 8 Описание новой информационной базы мобильного приложения

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

    Для связи с сервером необходимо указать нужный тип связи и адрес сервера. Мы планируем осуществлять связь посредством GPRS, используя протокол TCP/IP. Указываем соответствующие настройки — тип связи и IP-адрес компьютера, на котором запущен сервер мобильных приложений.

    Далее нажимаем в диалоге связи кнопку Старт (см. выше) и следим за осуществлением обмена с сервером: мы получаем оттуда нужное текущему пользователю приложение и необходимые данные. По окончании обмена производится запуск полученного приложения и отображается стартовая форма (рис. 9). После этого пользователь работает с приложением. Тем, кто имеет опыт работы с «1С:Предприятием», все достаточно привычно (рис. 10).

    Рис. 9 Стартовая форма мобильного приложения

    Рис. 10 Интерфейс мобильных приложений по стилю схож с интерфейсом "1С:Предприятия 8.0"

    При необходимости передать данные на сервер выбираем в меню стартовой формы пункт «Связь с сервером». При этом открывается уже знакомый диалог связи.

    В начало статьи

    Заключение

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

    Наверное, не все процессы создания и администрирования еще в 1С:КПК проработаны до конца, но все же не будем забывать — это версия 1.0. Но ее можно применять в реальных условиях у заказчика!

    В начало статьи