Как синхронизировать 1с с мобильным приложением
Мобильное приложение 1С:Управление нашей фирмой для мобильной работы может использоваться совместно с настольной (ПРОФ или Базовой) или облачной версией приложения 1С:Управление нашей фирмой 8.
Для того чтобы была возможность синхронизировать мобильное приложение с настольной версией необходимо в настольной версии выполнить ряд действий.
Ниже показаны эти действия. Их нужно выполнить на локальном компьютере. В примере рассматривается компьютер, работающий под управлением операционной системы Windows:
-
Необходимо убедиться, что на компьютере установлен и работает веб-сервер Apache или IIS, а Firewall не блокирует входящие подключения на используемый веб-сервером порт (обычно это 80 или 8080). Подробнее о настройке веб-серверов можно ознакомиться в поставляемой к ним документации.
Необходимо развернуть настольное приложение 1С:Управление нашей фирмой 8 на вашем компьютере. Рекомендуется использовать последнюю версию настольного приложения. Подойдет Базовая или ПРОФ версия.
Синхронизация с мобильным приложением будет осуществляться от имени пользователя, у которого имеется доступ к настольному приложению.
По умолчанию в настольном приложении уже присутствует пользователь Администратор, можно использовать его или завести нового (раздел Администрирование – Настройки пользователей и прав – Пользователи), установив минимально необходимые для синхронизации права – Продажи, Закупки и Деньги.
- Необходимо опубликовать веб-сервис MobileService для обмена данными с мобильным приложением. Эта операция выполняется в конфигураторе настольного приложения 1С:Управление нашей фирмой 8. Для этого необходимо воспользоваться пунктом Публикация на веб-сервере… из меню Администрирование.
В появившемся окне необходимо задать имя публикации, выбрать используемый веб-сервис, задать каталог публикации и убедиться, что установлены флажки Публиковать Web-сервисы и MobileService.
После этого необходимо нажать кнопку Опубликовать и согласиться с перезапуском веб-сервера.
После ввода имени пользователя и пароля в браузере должна появиться ссылка на WSDL схему.
Если мобильное устройство подключается к центральной информационной базе из другой сети через интернет, то необходимо использовать внешний статический IP адрес компьютера. Данную услугу может предоставить интернет-провайдер. Если по каким-то причинам внешний статический IP адрес использовать нельзя, то можно воспользоваться сервисом 1С:Линк (за исключением пользователей базовых версий, для которых сервис не доступен).
После выполнения вышеприведенных действий настройка синхронизации мобильного приложения с настольной версией приложения 1С:Управление нашей фирмой 8 будет завершена.
Довелось как-то поучаствовать в одном проекте. Суть участия была настройка синхронизации между мобильным устройством на Android и основной базой. Одним из главных условий было динамическое количество устройств, поэтому планы обмена не подходили. Решено было использовать веб-сервисы.
За время выполнения работы многое было переосмыслено и сейчас понимаю, что некоторые моменты надо было сделать немного иначе, но в целом задача была выполнена и в большинстве своем успешно. Я не буду привязываться к той задаче, поэтому сделаем все на абсолютно чистых базах и конфигурациях. Разберем в качестве примера синхронизацию справочников, как основной вид хранения информации.
Итак, создадим в чистой конфигурации справочники Номенклатура и, например, Категории. В номенклатуру добавим реквизит Категория с типом СправочникСсылка.Категории.
Далее, сделаем аналогичную конфигурацию для мобильного приложения и сразу перейдем к настройке веб-сервиса для синхронизации.
Немножко оговорюсь, мы рассмотрим только механизм обмена. Как фиксировать успешность синхронизации, тут - на что фантазии хватит. Если будет необходимость, расскажу как это было реализовано у меня, и какой, на мой взгляд, способ для этих целей лучше.
Итак, наша задача передать данные обоих справочников на мобильное устройство с учетом того, что реквизит справочника является ссылкой на элемент другого справочника. Введем немножко сокращений: мобильное приложение - МП, главная база - ЦБ(центральная база).
В ЦБ создаем объект конфигурации XDTO-пакет следующего вида
В данном пакете мы описываем структуру передаваемых нами данных. Свойства типов Code и Name у нас имеют тип string и означают Код и Наименование соответственно. Сами типы CategoryString и ProducString соответствуют строке элемента справочника. Типы ProductTable и CategoryTable представляют из себя массивы строк соответствующих справочников. Для того, чтобы тип стал массивом, в свойствах его свойства(ProductStr например) необходимо максимальное значение указать как "-1". Свойства CategoryStr и ProductStr имеют тип CategoryString и ProducString соответственно. И последнее оставшееся свойство это Category, которое имеет тип CategoryStr. Далее нам необходимо создать веб-сервис и операцию с типом возвращаемого объекта ProductTable. почему именно с этим типом, потому что он содержит необходимые нам категории.
Теперь добавим немножко кода, а именно опишем, как мы будем получать данные для выгрузки. Для данной операции нам не нужны никакие входящие параметры, по крайней мере в этом примере мы этого использовать не будем. В коде, мы не будем использовать тип CategoryTable, потому что он может понадобиться, если мы захотим выгрузить весь справочник категорий. В модуль веб-сервиса добавим следующую функцию:
Теперь наш веб-сервис готов к публикации и после этого, можно приступать к настройке МП. Напомню, там мы на данный момент имеем только два справочника аналогичных ЦБ. Для простоты, в МП создадим объект обработка из которой и будем вызывать нашу синхронизацию. Добавим на форме обработки всего одну кнопку, которая и будет вызывать процедуру синхронизации, на это подробно останавливаться не буду. Код процедуры ниже:
Собственно на этом все. Теперь при открытии обработки, нажимая кнопку Синхронизировать, получаем справочники или обновляем из ЦБ. Прошу строго не судить, т.к. это моя первая публикация. На грамотность кода особо внимания не обращайте, т.к. не нагромождал с целью упрощения. К публикации прикладываю обе конфигурации из статьи.
Довелось как-то поучаствовать в одном проекте. Суть участия была настройка синхронизации между мобильным устройством на Android и основной базой. Одним из главных условий было динамическое количество устройств, поэтому планы обмена не подходили. Решено было использовать веб-сервисы.
За время выполнения работы многое было переосмыслено и сейчас понимаю, что некоторые моменты надо было сделать немного иначе, но в целом задача была выполнена и в большинстве своем успешно. Я не буду привязываться к той задаче, поэтому сделаем все на абсолютно чистых базах и конфигурациях. Разберем в качестве примера синхронизацию справочников, как основной вид хранения информации.
Итак, создадим в чистой конфигурации справочники Номенклатура и, например, Категории. В номенклатуру добавим реквизит Категория с типом СправочникСсылка.Категории.
Далее, сделаем аналогичную конфигурацию для мобильного приложения и сразу перейдем к настройке веб-сервиса для синхронизации.
Немножко оговорюсь, мы рассмотрим только механизм обмена. Как фиксировать успешность синхронизации, тут - на что фантазии хватит. Если будет необходимость, расскажу как это было реализовано у меня, и какой, на мой взгляд, способ для этих целей лучше.
Итак, наша задача передать данные обоих справочников на мобильное устройство с учетом того, что реквизит справочника является ссылкой на элемент другого справочника. Введем немножко сокращений: мобильное приложение - МП, главная база - ЦБ(центральная база).
В ЦБ создаем объект конфигурации XDTO-пакет следующего вида
В данном пакете мы описываем структуру передаваемых нами данных. Свойства типов Code и Name у нас имеют тип string и означают Код и Наименование соответственно. Сами типы CategoryString и ProducString соответствуют строке элемента справочника. Типы ProductTable и CategoryTable представляют из себя массивы строк соответствующих справочников. Для того, чтобы тип стал массивом, в свойствах его свойства(ProductStr например) необходимо максимальное значение указать как "-1". Свойства CategoryStr и ProductStr имеют тип CategoryString и ProducString соответственно. И последнее оставшееся свойство это Category, которое имеет тип CategoryStr. Далее нам необходимо создать веб-сервис и операцию с типом возвращаемого объекта ProductTable. почему именно с этим типом, потому что он содержит необходимые нам категории.
Теперь добавим немножко кода, а именно опишем, как мы будем получать данные для выгрузки. Для данной операции нам не нужны никакие входящие параметры, по крайней мере в этом примере мы этого использовать не будем. В коде, мы не будем использовать тип CategoryTable, потому что он может понадобиться, если мы захотим выгрузить весь справочник категорий. В модуль веб-сервиса добавим следующую функцию:
Теперь наш веб-сервис готов к публикации и после этого, можно приступать к настройке МП. Напомню, там мы на данный момент имеем только два справочника аналогичных ЦБ. Для простоты, в МП создадим объект обработка из которой и будем вызывать нашу синхронизацию. Добавим на форме обработки всего одну кнопку, которая и будет вызывать процедуру синхронизации, на это подробно останавливаться не буду. Код процедуры ниже:
Собственно на этом все. Теперь при открытии обработки, нажимая кнопку Синхронизировать, получаем справочники или обновляем из ЦБ. Прошу строго не судить, т.к. это моя первая публикация. На грамотность кода особо внимания не обращайте, т.к. не нагромождал с целью упрощения. К публикации прикладываю обе конфигурации из статьи.
К информационным базам, опубликованным через сервис «1С: Линк», возможен доступ с помощью соответствующих мобильных приложений 1С.
Перед началом работы на мобильном устройстве необходимо установить корневой сертификат сервиса «1С: Линк».
В настройках мобильного приложения необходимо указать путь к информационной базе, опубликованной через «1С: Линк». Особенностью работы с мобильными приложениями через «1С: Линк» является то, что подключение к веб-сервисам осуществляется по их именам, а не по псевдонимам (алиасам). В некоторых мобильных приложениях (например, «1С: ДО») строка подключения формируется автоматически и не требует указания имени веб-сервиса.
1С: Заказы
Мобильный Документооборот
Обратите внимание, что для работы с мобильным приложением у вас должна быть установлена версия 1С: Документооборота 8 не ниже, чем 1.3.1.3 КОРП
1С: УНФ
- В настройках синхронизации мобильного приложения "1С: УНФ" перейдите в раздел "Другой сервис"
- В поле "адрес приложения" укажите https://имя туннеля.link.1c.ru/путь-веб-приложения (без ru_RU)
- Укажите логин и пароль пользователя информационной базы и нажмите кнопку "Войти".
1С: Монитор ERP
- Логин: логин пользователя 1С
- Пароль: его пароль
- Настройка "1С:ЛИНК" включена
- Имя туннеля:<ваш-туннель>
- Каталог: <путь веб-приложения>
Клиент бухгалтерии 1cfresh
Для синхронизации с Бухгалтерией предприятия, опубликованной в 1С: Линк можно воспользоваться мобильным приложением "Клиент бухгалтерии 1cfresh".
Сначала следует убедиться в наличии публикации либо провести публикацию нужной информационной базы «Управление торговлей 11» на WEB сервере.
Ссылку на базу можно получить, скопировав ее по кнопке «Копировать» в меню базы.
После публикации необходимо войти в базу под учетной записью с правами администратора в режиме «1C: Предприятие».
В режиме 1С: Предприятия откройте «НСИ и Администрирование». Далее в подразделе «Администрирование» выберите «Настройка пользователей и прав»
Выбираем «Пользователи». Нажмите на кнопку «Создать».
Создайте пользователя с именем аналогично логину от сервиса. Нажмите на кнопку «Установить пароль» и задайте пароль аналогично паролю этого пользователя на сервисе. Все остальные параметры задайте как на скриншотах. По окончанию всех действий нажмите кнопку «Записать» и закройте окно.
Теперь необходимо задать пользователю соответствующие права, для этого необходимо открыть вкладку «Права доступа» и включить его в группу «Менеджер отдела продаж».
- В случае смены пароля пользователя в личном кабинете нужно сменить пароль в базе данных и самом мобильном приложении.
- При первой синхронизации мобильного приложения рекомендуем использовать Wi-Fi соединение со стабильным каналом связи.
Далее по кнопке «Создать», создаем мобильное устройство для синхронизации.
- Устройство – Произвольное имя устройства;
- Пользователь – Выберите пользователя, которого создали в базе с правами «Менеджер отдела продаж»;
- Выбрать куратора пользователя, можно выбрать этого же пользователя.
Далее переходим к настройкам мобильного приложения. Скачайте последнюю версию мобильного приложения:
При первом запуске выберите «Режим синхронизации». И в меню выберите «Обновление данных».
Читайте также: