Меню

1с настройка обмена данными с мобильным приложением

Описание приложения. Настройка механизма синхронизации

Мобильное приложение 1С:Управление нашей фирмой для мобильной работы может использоваться совместно с настольной (ПРОФ или Базовой) или облачной версией приложения 1С:Управление нашей фирмой 8.

Для того чтобы была возможность синхронизировать мобильное приложение с настольной версией необходимо в настольной версии выполнить ряд действий.

Ниже показаны эти действия. Их нужно выполнить на локальном компьютере. В примере рассматривается компьютер, работающий под управлением операционной системы Windows:

    Необходимо убедиться, что на компьютере установлен и работает веб-сервер Apache или IIS, а Firewall не блокирует входящие подключения на используемый веб-сервером порт (обычно это 80 или 8080). Подробнее о настройке веб-серверов можно ознакомиться в поставляемой к ним документации.

Необходимо развернуть настольное приложение 1С:Управление нашей фирмой 8 на вашем компьютере. Рекомендуется использовать последнюю версию настольного приложения. Подойдет Базовая или ПРОФ версия.

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

По умолчанию в настольном приложении уже присутствует пользователь Администратор, можно использовать его или завести нового (раздел АдминистрированиеНастройки пользователей и правПользователи), установив минимально необходимые для синхронизации права – Продажи, Закупки и Деньги.

  • Необходимо опубликовать веб-сервис MobileService для обмена данными с мобильным приложением. Эта операция выполняется в конфигураторе настольного приложения 1С:Управление нашей фирмой 8. Для этого необходимо воспользоваться пунктом Публикация на веб-сервере… из меню Администрирование.

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

После этого необходимо нажать кнопку Опубликовать и согласиться с перезапуском веб-сервера.

Для проверки корректности публикации можно в интернет браузере компьютера перейти по ссылке вида http://localhost/[ИмяПубликации]/ws/MobileService

После ввода имени пользователя и пароля в браузере должна появиться ссылка на WSDL схему.

В мобильном приложении необходимо ввести адрес, по которому был опубликован веб-сервис, а также имя пользователя и пароль. Адрес должен быть следующего вида http://[IPАдресКомпьютера]/[ИмяПубликации]. Если локальный компьютер и мобильное устройство подключены к одной сети, то в качестве IP адреса компьютера используется его локальный IP адрес.

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

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

источник

Планы обмена для мобильного приложения 1С

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

Читайте также:  как сбросить настройки на модеме asus n10

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

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

1) Справочник «Номенклатура»:

2) Создадим документ «Установка цен номенклатуры»: реквизиты

Номенклатура — тип «СправочникСсылка. Номенклатура»

3) Создадим регистр сведений «Цены номенклатуры»:

Периодичность: в пределах дня

Режим записи: в пределах дня

Добавляем измерение: Номенклатура — тип «СправочникСсылка. Номенклатура»;

Ресурс: Количество — тип Число.

Для документа «Установка цен номенклатуры» напишем процедуру проведения.

Создадим план обмена, установим ему имя «МобильныйОбмен». В состав плана обмена включим созданные метаданные (справочник, документ и регистр сведений). Для всех выбранных объектов разрешим авторегистрацию.

Теперь создадим общую команду «ВыполнитьСинхронизациюСБД», которая будет синхронизировать данные мобильного приложения и базы, причем в обмене будут участвовать только измененные и вновь созданные объекты.

Добавим команду в панель навигации: Важное.

Пришло время добавить обработку команды:

Для обмена данными нам будет необходим веб-сервис. Давайте создадим его и присвоим ему имя «WebОбмен». Предлагаю использовать для обмена данными хранилище значения, т. к. хранилище значения сжимает данные и это очень важно для мобильного трафика, и хранилище значения может быть сериализовано в/из XDTO.

Заполним URI пространства имен: Data,

Пакеты XDTO: http://v8.1c.ru/8.1/data/core,

Имя файла публикации: WebОбмен.1cws.

Добавим операцию: Синхронизация,

Тип возвращаемого значения: ValueStorage ).

Добавляем параметр «Данные» и установим ему тип значения: ValueStorage ).

Для операции Синхронизация добавим процедуру Синхронизация:

Необходимо опубликовать мобильное приложение:

а потом переходим в Администрирование -> Публикация на веб-сервере и публикуем базу на веб-сервере:

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

Настраиваем планы обмена в базе и на мобильном приложении следующим образом:

Теперь создаем в мобильном приложении номенклатуры и документ и записываем:

В базе создаем номенклатуру:

Теперь в мобильном приложении нажимаем кнопку «Выполнить синхронизацию с БД»:

И видим результат, номенклатура созданная в базе появилась на мобильном устройстве, а в базе появилась номенклатура созданная в мобильном приложении:

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

источник

Практика разработки мобильного приложения 1С 8.3 (часть 1)

Практика разработки мобильного приложения 1С 8.3 (часть 1)

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

Читайте также:  программа для настройки атол 30ф

Изначально был выбран «неправильный» подход с компилированием приложения и закидыванием его на планшетник вручную. Напомню, что для сборки мобильных приложений используется «Помощник создания мобильного приложения» ( MobileAppWizzard ). Затем на одном из форумов было найдено красивое решение с использованием мобильного приложения для разработки. Это приложение входит в комплект установки мобильной платформы. На момент разработки использовалась платформа версии 8.3.3.24. В папке « Android » можно найти файл 1cem.apk. Это и есть мобильное приложение для разработки. Его огромнейший плюс, сэкономивший нам уйму времени — в том, что можно опубликовать мобильное приложение на веб-сервере, а на планшетнике указать путь вида http://[ Адрес веб-сервера ]/[ Имя мобильного приложения ].

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

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

1. Настроить обмен между центральной базой и мобильным устройством.

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

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

На этапе тестирования использовалась промежуточная база «Управляемое приложение», ввиду того что демо-приложение 1С:Заказы изначально заточено на обмен именно с Управляемым приложением.

Первый блин вышел комом. В прямом смысле. Для обмена с центральной базой был использован v82.ComConnector. Не буду вдаваться в подробности его настройки, об этом есть куча отдельных материалов. Пройдусь только по тем трудностям, с которыми столкнулся.

1. Использование com- объектов на 64-битной серверной ОС. Для решения проблемы была использована обертка COM+ Applications, которая настраивается в Component Services.

2. Удаленный вызов Com с другого сервера. Вызываемый сервер должен иметь роль Application Server, и у него должно быть настроено COM+ Network Access. Кроме того, сервер Apache должен иметь соответствующие права (т. е. запускаться как сервис от имени авторизованного пользователя)

Намучившись с Ком-соединениями, решили переводить рабочую базу на web- сервисы.

О публикации веб-сервисов также написано очень много, но там написано о том, как работает. Как НЕ работает, поделюсь ниже.

Рабочая база развернута на платформе 8.2, мобильное приложение, соответственно, на 8.3.

При публикации вначале приложения 8.3, а затем 8.2. периодически выхватывали глюк «Ошибка формата потока» в веб-клиенте 8.3, либо сообщение об ошибке «различаются версии платформы клиента и сервера». Перепубликация не помогает, равно как и перезапуск Apache. А вот отключение публикации и подключение заново — помогает.

Читайте также:  устройство сканера его подключение и настройка

Далее, поймал забавную ошибку при авторизации пользователя (при создании ws Определения). При тестировании на компьютере, авторизация с длинным ФИО проходит легко. При попытке авторизации этого же пользователя с планшетника под управлением Android, авторизация заканчивалась, не начавшись. Экспериментальным путем удалось вычислить, что кириллицей длина логина ограничена 22 символами. При этом сочетание кириллических символов и цифр дало авторизоваться с логином длиной 27 символов. Есть подозрение, что это связано с преобразованием кириллических символов. Так, например, в браузере Firefox строка из Википедии « http://ru.wikipedia.org/wiki/П иво» преобразуется в « http://ru.wikipedia.org/wiki/%D0%9F%D0%B8%D0%B2%D0%BE ».

Технологически, мобильная платформа 8.3.3 на текущий момент имеет ряд ограничений. Самое ожидаемое, на мой взгляд, нововведение — это поддержка запросов. Но, поскольку произвольные запросы в динамических списках мобильная платформа пока не поддерживает, пришлось «пойти другим путем».

Для решения задачи отображения справочника номенклатуры с ценами и остатками был использован следующий подход:

1. В форме справочника номенклатуры созданы две таблицы. Первая — динамический список, собственно сам справочник. Фильтр динамического списка настроен так, чтобы выводились только группы. Вторая таблица — собственно остатки и цены. При активизации строки динамического списка, на сервере происходит заполнение таблицы значений, которая затем и выводится во вторую таблицу. При получении цен и остатков использовалась объектная модель. Все эти танцы с бубном были исполнены только потому, что привычного по толстому клиенту метода «при выводе строки» или «при получении данных» нет, и динамически нарисовать цифры в колонке нельзя.

Аналогичный подход использовался и в форме подбора

2. Для вывода строки с текущими ценами отлично подошла ФорматированнаяСтрока.

3. Для загрузки справочников, остатков и цен в мобильное приложение был использован веб-сервис, который на входе получает структуру параметров, а на выходе возвращает хранилище значения. Еще одним неприятным открытием стал вылет обмена при слишком длительной обработке на стороне сервера. Сложилось впечатление, что имеется какой-то таймаут, после которого приложение «считает», что связь прервана (хотя на самом деле все еще идет обработка данных в рабочей базе через ws -соединение), и прекращает обмен с ошибкой.

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

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

источник