Архив рубрики: Android

REST сервис для 1С 7.7

Обычно все современные приложения, так или иначе, способны общаться с внешним миром, а особо продвинутые могут общаться через веб-технологии. Как оказалось, даже такую, устаревшую по современным меркам платформу, как 1С:Предприятие 7.7 возможно научить работать с полноценными Http запросами. Здесь я приведу пример внедрения максимально простого варианта REST сервиса для того чтобы понять сам принцип его запуска и работы. В целом система состоит из следующих компонент:

  • сервер приложений Apache-Tomcat, он принимает http запрос и запускает сервлет
  • сервлет, написанный на Java, который при получении http запроса запускает 1С через COM-объект, получает выборку данных, форматирует ответ в формате JSON и отправляет назад
  • Java-библиотека для обращения сервлета к 1С – Jawin
  • 1С:Предприятие 7.7, в конфигурацию необходимо внести дополнения – функции, через которые сервлет будет получать данные и выполнять нужные операции

Постараюсь описать по шагам, как заставить всё это работать вместе.

Читать далее

Пример использования PUSH-сообщений

На базе приложения Агент был реализован интересный способ использования PUSH-сообщений в 1С. Документы, переданные сотрудниками с мобильных устройств в базу, в конце дня собираются в итоговые ведомости по каждому сотруднику отдельно. Ведомости распечатывают и подписывают две стороны – бухгалтерия и торговый агент. Поскольку в 1С уже налажен канал связи между сервером и мобильным приложением, возникла идея подписывать ведомости электронным способом – в сформированном в 1С документе инициируется запрос агенту на подтверждение, при получении положительного ответа с устройства, в документе появляется соответствующая отметка.

Читать далее

Отправка PUSH сообщений

Это заметка о том, как отправить PUSH сообщение из 1С на Андроид-устойство с использованием сервиса Firebase Cloud Messaging.

  • если нужно отправить сообщение на определенное устройство, понадобится его токен – он формируется сервисом FirebaseMessagingService, его нужно прочитать в приложении и передать на сервер для последующего использования
  • понадобится ключ API приложения, его можно найти в параметрах проекта в Firebase Console, на вкладке Cloud Messaging
  • используя токен и ключ нужно составить и отправить на сервер службы сообщений POST-запрос.
Читать далее

Бета-тест программы Агент

Агент. Приложение для торговых представителей

Агент. Приложение для торговых представителей

С сегодняшнего дня доступна для тестирования бета-версия андроид-приложения, которое будет обмениваться информацией с учетной системой в 1С.
Сейчас работают такие функции: загрузка списка товаров с ценами и остатками, загрузка списка клиентов с долгами, набор заявки клиента, отправка заявки в 1С.
Для установки приложения нужно пройти по ссылке: Вход для тестировщиков, там будет доступна ссылка на маркет. В самом приложении, в настройках подключения нужно ввести адрес сервера “demo” и имя базы “demo”.
В целях тестирования будем пробовать обмен с базой 1С “Простой учет”: вход в веб-интерфейс. Логин “Пользователь”, без пароля.
Общие правила для тестировщиков таковы: нажимать и вводить что угодно, как угодно, но при возникновении сбоя обязательно отправлять отчет если это предложит сама система или оставить отзыв в маркете.
Группа в Телеграме для обсуждения программы: ссылка.

Sic С 7 февраля 2017 бета-тестирование окончено, программа доступна в плей-маркете

Обращение к веб-сервису 1С из Android-приложения

Небольшая шпаргалка о том, как взаимодействовать из Андроида с базой 1С. Предполагается, что в 1С уже описан веб-сервис и он опубликован. В моем случае использована база на платформе 8.3, управляемые формы, веб-сервер Apache 2.2, 1С и Апач расположены на одном сервере под управлением Windows 2008 R2.
Для работы с веб-сервисами в Android используется библиотека KSoap2, на момент написания этой заметки файл для импорта в проект назывался так:

ksoap2-android-assembly-3.6.2-jar-with-dependencies.jar

Для вызова понадобятся несколько ключевых параметров:

private static final String NAMESPACE = "www.URI.com";
private static final String URL = "http://***.***.***.***/kk-base/ws/AgentExchange";
private static final String SOAP_ACTION = "www.URI.com#AgentExchange";
private static final String USER_PASSWORD = "ИмяПользователя:Пароль";

NAMESPACE – пространство имен, задается в конфигураторе 1С, непосредственно в свойствах веб-сервиса
URL – состоит из адреса сервера, на котором опубликована конфигурация, имени конфигурации, которое задано при публикации и имени веб-сервиса: http://< адрес сервера>/< имя конфигурации>/ws/< имя веб-сервиса>
SOAP_ACTION – имя команды сервиса, состоит из имени пространства имен и имени сервиса; во всех примерах в это имя еще включают имя самой операции, т.е. метода, если смотреть в конфигурации 1С, но у меня работает без него, возможно это “фишка” сервиса в 1С: < пространство имен>#< имя веб-сервиса>[:< имя операции>]
USER_PASSWORD – строка из имени и пароля пользователя, как они заданы для авторизации в 1С

Читать далее