Работая программистом 1С, меня немного задевало, когда мои друзья web и mobileapp разработчики подшучивали надо мной из-за внешнего вида интерфейса и скорости его реакции. На мои увещевания, что в промышленном программировании все по-другому и там важнее универсальность и единый подход, они отвечали ухмылкой и показывали свои web 2.0 plain-metro-style интерфейсы. В версии 8.3.5 появился REST интерфейс, и мы с другом, iOS разработчиком, решили сделать нативное приложение для iPhone. Основными идеями были создание интерфейса, вписывающегося в тренд приложений для этой платформы, поддержка типовых конфигураций без необходимости вносить изменения, ну и постараться чтобы размер приложения не превышал 50 мегабайт :)
Самое простое что пришло в голову и соответствовало идее использования на мобильном устройстве – это доступ к контактам своих контрагентов. На инфостарте есть похожее web приложение. Вот, что получилось.
Приложение называется Партнеры и доступно для скачивания в App Store
Поддерживается платформа 8.3.5 и конфигурации БП 3, УТ 11.1, УНФ 1.4
Приложению не требуется постоянное соединение с сервером, вы можете поднять веб сервер в офисной сети, где пользователь сможет обновлять контакты и пользоваться ими везде.
Публикация REST интерфейса осуществляется путем установки флага при публикации на веб-сервере. Процесс публикации подробно описан на ИТС. REST в конфигурациях БП и УТ заработал сразу, но для конфигурации УНФ на данный момент (версия платформы 8.3.5.1119 (x64 сервер) УНФ 1.4.9.31) при выполнении запроса выдается ошибка "The page cannot be displayed because the client took too long to complete its request and the server closed the connection". Она исчезает, если снять конфигурацию с поддержки, отключить режим совместимости с 8.3.4 и настроить выборочную публикацию интерфейса. Это можно сделать с помощь обработки. Надеемся, что в ближайших релизах это поправят. При полной публикации интерфейса видно все метаданные, но это не страшно т.к. данные отдаются только те, на которые есть права у пользователя.
Приложение поддерживает basic (и digest) авторизацию на веб сервере, когда в 1с есть такой же пользователь с таким же паролем как и на web сервере. Если пароли или пользователи отличаются, то авторизация зацикливается, и решить эту проблему пока не удалось. Если у кого получится, напишите пожалуйста в комментариях. Либо можно использовать anonymous авторизацию на web сервере.
Для удобства, в приложении можно ввести ссылку на базу с помощью QR-кода. Его можно сгенерировать приложенной обработкой либо с помощью любого онлайн сервиса .
Для поддержки сделали страницу на uservoice. Будем рады предложениям и замечаниям.
C радостью примем заказы на аналогичные разработки :) Пишите на playertwo@onelab.io