Использование библиотеки Retrofit в проектах на Андроид

Публикация № 1148840

Разработка - Мобильная разработка

Retrofit WorkManager 1C HTTP-сервис Android

Использование библиотеки Retrofit в проектах на Андроид для обмена данными с 1С с помощью HTTP-сервисов, с примерами и готовым рабочим шаблоном.

Решил вот написать статью. Так как писать статьи я не умею, прошу сильно не пинать за возможные ошибки.
Написать статью меня сподвигла вот эта вот публикация
//catalog.mista.ru/public/463387/

В свое время для одного своего проекта на Андроид на базе этой публикации я делал обмен с 1С через WEB-Сервисы. Так как я был начинающим программистом на Андроид, алгоритм получился немного громоздким, т.к. в результате обмена я получал xml файл, который, в итоге,  надо было еще парсить средствами Андроид. Что-то типа вроде этого.

       try {
            XmlPullParser xpp = prepareXpp();
            while ((xpp.getEventType() != XmlPullParser.END_DOCUMENT)) {
                switch (xpp.getEventType()) {
                    case XmlPullParser.START_DOCUMENT:
//                        Log.d(LOG_TAG, "XmlPullParser.START_DOCUMENT Start document");
                        break;
                    case XmlPullParser.START_TAG:
  //                      Log.d(LOG_TAG, "XmlPullParser.START_TAG " + xpp.getName() + " " + xpp.getDepth());
                        switch (xpp.getDepth()) {
                            case 2:
                                data = new Bundle();
                                break;
                            case 3:
                                tagName = xpp.getName();
                        }

//                        if (xpp.getName().equals(XML_NODE_NAME_CONTACT)) {
//                            data = new Bundle();
//                        } else {
//                            tagName = xpp.getName();
//                        }
                        break;
                    case XmlPullParser.END_TAG:
//                        Log.d(LOG_TAG, "XmlPullParser.END_TAG " + xpp.getName());
                        tagName = "";
                        if (xpp.getDepth() == 2) {
                            addDataContact(data);
  //                          Log.d(LOG_TAG,data.get("FullName").toString());
    //                        Log.d(LOG_TAG,"ADD DATA");
                            //breakProgram = true;
                        }
                        break;
                    case XmlPullParser.TEXT:
      //                  Log.d(LOG_TAG, "XmlPullParser.TEXT "  + xpp.getText());
                        if (xpp.getDepth() == 3) {
                            String dataText = xpp.getText();
                            if (dataText == null) {
                                dataText = "";
                            };
                            data.putString(tagName, dataText);
                        }
//                        if (!tagName.isEmpty()) {
//                          data.putString(tagName, xpp.getText());
//                        }
                        break;
                    default:
                        break;

                }
                //if (breakProgram) break;
                xpp.next();
            }
        }catch (XmlPullParserException e) {
            //e.printStackTrace();
            DataXML.append(e.toString());
            sendMessage(MainActivity.STATUS_ERR);
            return "false";

//            Log.d(LOG_TAG, e.toString());
        }catch (Exception e) {
            //e.printStackTrace();
            DataXML.append(e.toString());
            sendMessage(MainActivity.STATUS_ERR);

//            Log.d(LOG_TAG, e.toString());
            return "false";
        }
     return "true";
    }

Да и тестирование WEB-сервиса тоже требовало определенных усилий и дополнительного софта. Библиотека ksoap, с помощью которой можно работать с WEB-Сервисами, не внушала у меня особого доверия, может я в ней не разобрался тогда до конца, может еще были причины. В общем, для меня все это было громоздким и устаревшим.

К тому же злые языки в 1С утверждали, что WEB-Сервисы - это вчерашний день и настоятельно рекомендовали переходить на HTTP-сервисы. И я не мог с ними не согласиться. И начал искать альтернативу. В поисках альтернативы наткнулся на библиотеку под названием Retrofit. Это HTTP клиент реализующий REST архитектуру. Выражаясь просто, ее можно использовать для обмена с 1С с помощью HTTP-сервисов. В дополнении к этому, эта библиотека умеет работать с json, но самое важное, что при работе с ней, программист оперирует классами (моделью). Т.е. получая результат от сервера, я работаю не с сырыми данными в виде xml или json, а уже готовыми классами.

Как это работает?

Например, у нас есть некоторые данные, которые надо получить из 1С. Средствами 1С легко получить данные в формате json. Создаем на стороне 1С HTTP-сервис, который принимает запрос и возвращает результат в виде json.

 

 

Функция ПолучитьПередатьДанные(Запрос)
	СтруктураРезультата = ОбменДанными.ПолучитьОбработатьДанные(Запрос);
	Ответ = Новый HTTPСервисОтвет(СтруктураРезультата.КодСостояния);
	Ответ.УстановитьТелоИзСтроки(СтруктураРезультата.РезультатВыполнения);	
	Возврат Ответ;	
КонецФункции

Подключаем к своему проекту Retrofit. 

// retrofit
    implementation 'com.squareup.retrofit2:retrofit:2.6.2'
    implementation 'com.squareup.retrofit2:converter-gson:2.6.2'


Создаем интерфейс, где будут наши методы для запроса или отправки данных
 

public interface ApiService {
    @GET("{secondURL}/{id}/products")
    Call<List<RetrofitProduct>> getListProducts(@Path(value =  "secondURL", encoded = true) String secondURL, @Path("id") String id_client);
}

RetrofitProduct - это класс, список объектов которого будут созданы библиотекой автоматически, при успешном получении данных с сервера.

public class RetrofitProduct {
    @SerializedName("ID")
    @Expose
    private String iD;
    @SerializedName("name")
    @Expose
    private String name;
    @SerializedName("name")

// далее геттеры и сеттеры
}

Кстати, его можно автоматически сгенерировать на этом вот сайте https://www.jsonschema2pojo.org/
если у вас есть данные в формате  json.


Создаем класс синглтон для настройки клиента и авторизации на стороне 1С  

public class RetrofitClient {
    private static Retrofit retrofit = null;
    // временно, логин и пароль для подключения будем хранить в настройках?
    private static String user = "admin";
    private static String pwd = "admin";

    public static Retrofit getClient(String baseUrl) {
        if (retrofit == null) {
            OkHttpClient okHttpClient = new OkHttpClient.Builder()
                    .readTimeout(300, TimeUnit.SECONDS)
                    .addInterceptor(new BasicAuthInterceptor(user, pwd))
                     .build();


            retrofit = new Retrofit.Builder()
                    .baseUrl(baseUrl)
                    .client(okHttpClient)
                    .addConverterFactory(GsonConverterFactory.create())
                    .build();



        }
        return retrofit;
    }

}

Для авторизации на стороне 1С используем класс BasicAuthInterceptor

class BasicAuthInterceptor implements Interceptor{
    private String credentials;

    public BasicAuthInterceptor(String user, String password) {
        credentials = Credentials.basic(user, password);
    }

    @Override
    public Response intercept(Chain chain) throws IOException {
        Request request = chain.request();
        Request authenticatedRequest = request.newBuilder()
                .addHeader("Authorization", credentials)
                .build();
        return chain.proceed(authenticatedRequest);
    }

}


определим класс для инициализации библиотеки
 

public class ApiUtils {
    private static String BASE_URL;
    private ApiUtils(){}

    public static ApiService getAPIService() {
        BASE_URL = App.getBaseURL();
        try {
            return RetrofitClient.getClient(BASE_URL).create(ApiService.class);
        }catch (Exception e) {
            MyLog.e(e.toString());
            return null;
        }


    }

}

Инициализация клиента в коде

mApiService = ApiUtils.getAPIService();
  if (mApiService == null) {
          return;
  }

И собственно дергаем нужный нам метод

   try {
            response = mApiService.getListProducts(
                    App.getDefaultSecondURL(), App.CONSTANT_ID_PARTNER)
                        .execute();
            if (response.isSuccessful()) {
                somethingToDo(response.body()); // тут у нас List<RetrofitProduct>

            }else {
                String errorMessage = response.raw().toString() + "\n" //response.raw() - сырые данные, можно получить ответ сервера
                        + response.errorBody().string();

           }
        }catch (IOException e) {
            // обработка исключения;
        }

Есть два варианта вызова, синхронный и асинхронный. Синхронный вызов execute() не допускается в UI-потоке. В моем случае я использую WorkManager, который выполняет задачи в своем потоке. 

Асинхронный вызов выглядит вот так
 

       mApiServiceRetrofit.getProduct(App.getDefaultSecondURL(), App.CONSTANT_ID_PARTNER).enqueue(new Callback<RetrofitProduct>() {
            @Override
            public void onResponse(Call<PostCoordinates> call, Response<PostCoordinates> response) {
                if (response.isSuccessful()) {
                   
                }else {

               }

            }
            @Override
            public void onFailure(Call<PostCoordinates> call, Throwable t) {
                


            }
        });

Можно вызывать из Activity или из Service. Но, как я уже писал выше, я использую WorkManager (https://developer.android.com/reference/androidx/work/WorkManager.html)
Он позволяет запускать фоновые задачи последовательно или параллельно, передавать в них данные, получать из них результат, отслеживать статус выполнения и запускать только при соблюдении заданных условий. И еще, на получения результата работы можно на него подписаться, что очень удобно.
 

       LiveData<WorkInfo> ld = WorkManager.getInstance().getWorkInfoByIdLiveData(workID);
        ld.observe(context, new Observer<WorkInfo>() {
            @Override
            public void onChanged(WorkInfo workInfo) {
                if (workInfo.getState().isFinished()) {
                  // to do
                  }
            }
        });

В результате, программист получает отличный и простой инструмент для обмена данными с 1С. При этом можно не только получать данные с помощью HTTP-запроса GET, но также и передавать данные с помощью HTTP-запроса POST.

 

Полное описание библиотеки на сайте разработчика: https://square.github.io/retrofit/
Для ленивых написал простой проект с одним activity, который реализует работу с Retrofit, а также с WorkManager. Проект полностью рабочий, подключаете к Android Studio и можете сразу же пробовать. Без настроек на свой сервер будете получать ответ в виде Toast, об ошибке подключения :)

Надеюсь, что статья сэкономит кому то время (и деньги) :)
 

Скачать файлы

Наименование Файл Версия Размер
Рабочий проект с примером работы с Retrofit и WorkManager
.7z 7,94Mb
02.11.19
3
.7z 1.1 7,94Mb 3 Скачать

Специальные предложения

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. dusha0020 909 04.11.19 13:03 Сейчас в теме
Может стоит "данные в формате Gson" заменить по тексту на json?
Gson это библиотека Андроида для работы с json, а не формат данных.
2. WKBAPKA 218 04.11.19 13:51 Сейчас в теме
(1) да, верно! спасибо, не обратил внимание
3. FEAS88 8 12.05.20 14:01 Сейчас в теме
Спасибо за статью, помогла. Спасибо за идею авторизации через Interceptor

У меня пара вопросов:
1. Авторизация через клиента это аналог ?

OkHttpClient okHttpClient = new OkHttpClient.Builder()
.readTimeout(300, TimeUnit.SECONDS)
.addInterceptor(new BasicAuthInterceptor(user, pwd))
.authenticator(...)
.build();

2. Interceptor перехватывает все запросы ?


PS
Я начал с retrofit, возникла ошибка, потом спустился ниже okhttp и UrlHttpConection
ошибка осталась и я грешил на авторизацию, думал не правильно делаю. А оказывается у меня проблема была в другом, и сразу все уже работало.
Была запрещена работа через не защищенное соединение. в Манифесте прописал и готово!

Если кто работал с сертификатами ssl, и использовании их в андроид поделитесь опытом буду благодарен.
4. WKBAPKA 218 12.05.20 15:23 Сейчас в теме
(3) насколько я помню OKHTTP3 включен в состав библиотеки. Можно почитать у них на сайте.
А что касается защищенного соединения, то в манифесте ничего прописывать не надо. Нужно только получить разрешение на работу с Internet.
5. WKBAPKA 218 12.05.20 15:24 Сейчас в теме
(3) я в нескольких проектах выполняю запросы по защищенному соединению и ничего дополнительно не настраивал.
6. FEAS88 8 12.05.20 16:12 Сейчас в теме
(5) Если Https то ничего не надо согласен.

Я имел ввиду что если соединение НЕ защищенное, то будет ошибка, Android разрешает по умолчанию только https.

Потому что на сервере у меня нет https, сертификата , я прописывал разрешение.
7. WKBAPKA 218 12.05.20 18:00 Сейчас в теме
(6) странно, я пробовал и так и так. Возможно, это потому, что сервер использует SSL, а вы пытаетесь по http обратиться. Я с этим не сталкивался.
8. WKBAPKA 218 12.05.20 18:02 Сейчас в теме
(6) не могу подсказать, не сталкивался... как то попробую ради интереса.
Оставьте свое сообщение

См. также

Конструктор мобильного клиента Simple WMS Client: способ создать полноценный ТСД без мобильной разработки. Теперь новая версия - Simple UI (обновлено 14.11.2019) Промо

Инструментарий разработчика Сканер штрих-кода Терминал сбора данных Мобильная разработка Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ Оптовая торговля Производство готовой продукции (работ, услуг) Розничная торговля Учет ОС и НМА Учет ТМЦ v8 v8::Mobile БУ УУ Абонемент ($m)

Simple WMS Client – это визуальный конструктор мобильного клиента для терминала сбора данных(ТСД) или обычного телефона на Android. Приложение работает в онлайн режиме через интернет или WI-FI, постоянно общаясь с базой посредством http-запросов (вариант для 1С-клиента общается с 1С напрямую как обычный клиент). Можно создавать любые конфигурации мобильного клиента с помощью конструктора и обработчиков на языке 1С (НЕ мобильная платформа). Вся логика приложения и интеграции содержится в обработчиках на стороне 1С. Это очень простой способ создать и развернуть клиентскую часть для WMS системы или для любой другой конфигурации 1С (УТ, УПП, ERP, самописной) с минимумом программирования. Например, можно добавить в учетную систему адресное хранение, учет оборудования и любые другие задачи. Приложение умеет работать не только со штрих-кодами, но и с распознаванием голоса от Google. Это бесплатная и открытая система, не требующая обучения, с возможностью быстро получить результат.

5 стартмани

09.01.2019    37112    241    informa1555    200    

Android Java и NativAPI C++ внешняя компонента для широковещательных сообщений (отправка и прием). Подключаем сканер ШК и клавиатуру к "1С мобильное приложение"

Оптовая торговля Розничная торговля Сканер штрих-кода Разработка внешних компонент Мобильная разработка v8::Mobile Оптовая торговля, дистрибуция, логистика Абонемент ($m)

Подключаем сканер ШК и клавиатуру к "1С мобильное приложение", на терминале сбора данных "ATOL Smart.Lite android 7.0". Работаем с буфером обмена. В архиве к теме; 1. исходник компоненты (папка package готовый zip); 2. исходник "AccessibilityService" для перехвата клавиатуры (папка package готовый apk); 3. cf - тестовая конфигурация

1 стартмани

15.04.2020    1235    8    SanyMaga    7    

Мобильная платформа. Реакция на внешнее событие в Android при помощи внешней компоненты

Мобильная разработка Разработка внешних компонент v8::Mobile Молдова Абонемент ($m)

Внешняя компонента для мобильной платформы на Android. Пришиваем платформе уши, чтобы лучше слышать.

3 стартмани

06.04.2020    1922    3    kinan    13    

[Расширение] Готовые решения для инвентаризации товаров и основных средств на мобильных устройствах для КА, УТ, ERP и БП 3.0 на базе Simple UI

Оптовая торговля Розничная торговля Учет ОС и НМА Мобильная разработка Учет ТМЦ v8 ERP2 БП3.0 УТ11 КА2 БУ УУ Абонемент ($m)

В расширениях для Бухгалтерия 3.0 и КА2.4/УТ11.4/ERP2.4 представлены готовые рабочие места для онлайн и оффлайн инвентаризации товаров (для БП 3.0 также инвентаризации основных средств) на базе бесплатного конструктора мобильного фронта Simple UI. При этом используется расширенная работа с идентификацией товаров и ОС с помощью различных подходов – сканирование штрих кода, распознавание артикулов и инвентарных номеров и различные поиски. Также используются различные возможности платформы Simple UI. Используются только бесплатные возможности Simple UI (не Pro-версия), т.е. решение бесплатное. Данная разработка может быть полезна как конечным пользователям, так и разработчикам в качестве заготовки, так как на базе этих блоков можно сделать ввод любого документа конфигурации , связанного с товаром или с ОС. Тестировалось на 1С 8.3.13.1865, КА 2.4.8.63 и БП 3.0.74.69

5 стартмани

28.02.2020    2097    11    informa1555    5    

Беспроводные метки NFC Промо

Мобильная разработка v8::Mobile Абонемент ($m)

Технический прогресс не стоит на месте, появляющиеся новые технологии со временем дешевеют и становятся доступны практически всем желающим. Как пример можно привести мобильные телефоны. Середина 80-ых - начало 90-ых были переносные таксофоны с ручками или кирпичи стоимостью несколько тысяч $, конец 90-ых - большого размера трубки, с торчащими антеннами со стоимостью от 100$ Такую же аналогию можно провести с NFC метками, используемыми в учетных целях.

1 стартмани

16.05.2017    19818    46    PloAl    18    

Пример реализации HTML-формы календаря для мобильного приложения

Работа с интерфейсом Мобильная разработка v8::Mobile Абонемент ($m)

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

5 стартмани

13.02.2020    2187    9    ingeneerz@gmail.com    0    

Наш путь к эффективной инвентаризации склада

Учет ТМЦ Учет ТМЦ Розничная торговля Мобильная разработка v8 УУ Абонемент ($m)

В работе любой торговой организации всегда остро стоит вопрос контроля остатков на складе. И здесь не обойтись без проведения инвентаризации товаров. В этой публикации рассмотрим наш путь и выбранное решение ее проведения.

8 стартмани

12.01.2020    2484    1    Johny_v    21    

Обмен данными с Android через USB

Практика программирования Мобильная разработка v8 v8::УФ 1cv8.cf Абонемент ($m)

Обработка с примером обмена данными конфигурации 1С через USB. Без установки Web сервера и настройки WiFi.

1 стартмани

23.12.2019    2309    3    asdfgcom    2    

Приложение Android для идентификации/распознавания образов (с обучением с одного раза, One-Shot Learning) с возможностью работы с 1С через веб-сервис Промо

Мобильная разработка v8 Абонемент ($m)

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

1 стартмани

19.06.2018    13057    4    informa1555    15    

Simple UI: простой конструктор мобильных приложений для устройств на Android.Самый быстрый способ создания рабочего места на смартфоне или ТСД. Обновление от 30.05.2020: июньский пак дополнений

Мобильная разработка v8 УУ Абонемент ($m)

Simple UI – это бесплатная платформа для создания мобильных рабочих мест на Android. Конструктор позволяет создавать мобильные клиенты для учетных систем и самостоятельные приложения на телефонах, ТСД (терминалах сбора данных), планшетах, электронных киосках и других устройствах. При этом не нужно разбираться в мобильной разработке, Android SDK ведь основная цель платформы – максимально упростить процесс разработки и поддержки, сделать его визуальным, собирать приложения из готовых блоков с минимумом кода. Причем код обработчиков можно писать на языке учетной системы либо задавать логику обработки событий с помощью команд REST, SQL и визуального конструктора. Проект постоянно развивается изыскивая новые способы упрощения разработки и повышения функционала и является пожалуй самым быстрым способом как создать MVP-проект так и продакшн-систему под конкретное внедрение или тиражный продукт.Тестировалось на 1С: Предприятие 8.3 релиз 8.3.13.1865.

5 стартмани

14.11.2019    9959    92    informa1555    71    

Получение AndroidID в мобильном приложении

Мобильная разработка v8::Mobile Россия Абонемент ($m)

Получаем Android DeviceID в мобильном приложении/клиенте, используя стороннее приложение.

1 стартмани

05.11.2019    5769    3    sam441    11    

Мобильное приложение для Android для отправки СМС из 1C

SMS рассылки Мобильная разработка v8 1cv8.cf Абонемент ($m)

Вашему вниманию предлагается мобильное приложение (конфигурация .cf) + HTTP сервис для отправки СМС из 1С8

2 стартмани

04.11.2019    5507    3    dimasikus31    2    

Мобильное приложение "Отчет по проделанной работе" Промо

Мобильная разработка Учет рабочего времени Учет рабочего времени v8 Россия УУ Абонемент ($m)

Приложение выполняет фиксацию рабочего времени у клиентов, а также заявок на работы, пригодится как шаблон для разработки своего или как готовое решение для работников в сфере услуг, которые фиксируют время у клиентов. В приложении 2 документа: первый "отчет за день", второй "заявка" и полезный инструмент "Отчет задачи", который в свою очередь создан для просмотра, анализа и закрытия заявок. Тестировал на Iphone 6s.

10 стартмани

01.12.2017    18686    10    olejnikov_m    6    

Мобильная платформа. Косяки работы с интерфейсом

Мобильная разработка Работа с интерфейсом v8 1cv8.cf Абонемент ($m)

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

1 стартмани

24.10.2019    3501    0    Crazy_Max    2    

ODa - Android приложение для подключения к любой конфигурации 1С, используя OData протокол

Мобильная разработка v8 1cv8.cf Абонемент ($m)

В платформе 1С реализована прекрасная возможность работы с открытым веб-протоколом OData, который предоставляет любой другой платформе интерфейс доступа - возможность запрашивать и обновлять данные из базы 1С. Далее в статье будут описаны особенности работы мобильного приложения ODa, которое без программировании на стороне Android'a позволит разработчикам публиковать базы 1С, что даст возможность обычным пользователям взаимодействовать с объектами метаданных, используя нативные элементы интерфейса платформы Android.

1 стартмани

22.10.2019    7736    8    Kosigo    11    

Компонента аутентификации и шифрования с помощью биометрической информации для Андроид

Разработка внешних компонент Мобильная разработка Защита и шифрование v8::Mobile Абонемент ($m)

Компонента для мобильной платформы, позволяющая идентифицировать пользователя и шифровать данные с помощью биометрических сканеров.

5 стартмани

17.09.2019    4312    1    IgorKissil    7    

Внешние компоненты. Мобильное приложение 1С Промо

Разработка внешних компонент Мобильная разработка v8::Mobile 1cv8.cf Абонемент ($m)

Пример применения технологии внешних компонент для мобильной платформы 1С (Android)

1 стартмани

17.02.2017    40287    118    flyer    35    

Мобильный терминал - универсальное мобильное решение для автоматизации учета на складских предприятиях, в торговых залах и складах при магазинах с применением технологии Штрих-кодирования

Сканер штрих-кода Терминал сбора данных Мобильная разработка Управление торговлей Оптовая торговля Учет ТМЦ Оптовая торговля Учет ТМЦ v8 1cv8.cf Россия УУ Абонемент ($m)

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

1 стартмани

09.09.2019    1284    3    @lexandr    7    

Пример простого и приятного внешнего HTML интерфейса для мобильного приложения

Работа с интерфейсом Мобильная разработка v8::Mobile Абонемент ($m)

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

5 стартмани

05.09.2019    5505    53    Baksheev-Nikita    12    

ERP 2.4 "Рабочее место работника склада" на ТСД + Android 7

Терминал сбора данных Рабочее место Мобильная разработка Учет ТМЦ Учет ТМЦ v8 ERP2 УУ Абонемент ($m)

Решение задачи использования терминала сбора данных в режиме онлайн при помощи типовой обработки ERP 2.4 "Рабочее место работника склада", запуском ERP на мобильном клиенте 1С. Для настройки использовался ТСД Urovo V5100 на ОС Андроид 7.

1 стартмани

07.08.2019    8431    8    chemezov    8    

Hello world на metadata.js Промо

Инструментарий разработчика WEB Мобильная разработка v8 1cv8.cf Абонемент ($m)

Про браузерные offline-first приложения можно написать миллионы слов. Сэкономлю своё и ваше время и перейду сразу к делу. В статье не будет рекламы и агитации за новые технологии, не будет критики традиционных или попсовых решений. Рассмотрим по шагам разработку простейшей программы на metadata.js. Постараюсь сделать акцент не на том «как это сделано», а «почему сделано именно так»

1 стартмани

11.08.2016    54355    111    unpete    208    

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции

Терминал сбора данных Мобильная разработка Розничная торговля Розничная торговля v8::Mobile Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

Мобильное приложение 1С для помарочной инвентаризации маркируемой (алкогольной) продукции на ТСД под Android. Получение данных марок (штрихкодов), используя БПО для мобильного приложения. Разработка на платформе 8.3.13.1809. Мобильная платформа 8.3.13.64. Версия сборщика 2.0.8.19.

1 стартмани

18.07.2019    5788    16    savostin.alex    5    

Инвентаризация на мобильном устройстве. УТ 10

Мобильная разработка Учет ТМЦ Учет ТМЦ v8 УТ10 УУ Абонемент ($m)

Мобильное приложение и обработка выгрузки для инвентаризации в УТ 10.

2 стартмани

22.06.2019    4075    6    olejnikov_m    0    

Мобильное приложение "Сбор заказов" версия 2.0.1

Мобильная разработка Монитор заказов v8 v8::Mobile 1cv8.cf Украина УУ Абонемент ($m)

Приложение «Сбор заказов» разрабатывалось и разрабатывается для хранения и накопления данных от торговых представителей и автоматического обмена данными с программой учёта на базе платформы 1С:Предприятие. Мобильное приложение написано на технологии мобильной платформы 1С:Предприятие. Механизм обмена данных происходит посредством почтового сервера. В дальнейшем будет реализован механизм непосредственного доступа приложения к учётной системе через прямое интернет-соединение. FTP-соединение не работает как надо, так что будем довольствоваться тем, что есть... :)

4 стартмани

06.06.2019    5612    2    yarsort    10    

Telemonitor - объединяем Telegram и 1С Промо

Сервисные утилиты Администрирование данных 1С Мобильная разработка v8 1cv8.cf Абонемент ($m)

Не так давно Telegram предоставил API для создания ботов. Telemonitor - программа, позволяющая легко настроить собственного бота для работы с 1С.

1 стартмани

09.08.2015    73589    208    salexdv    178    

Мобильное приложение 1С: Список покупок и анализ расходов

Мобильная разработка Финансовый учет и бюджетирование (FRP) Финансовый учет и бюджетирование (FRP) v8 v8::Mobile Домашние учет и финансы Россия УУ Абонемент ($m)

В публикации рассмотрено небольшое домашнее мобильное приложение для составления списка покупок и анализа расходов. В приложении реализованы: работа с штрихкодами (сканирование встроенной камерой), поиск наименования товара по штрихкоду из интернета, загрузка чеков из ФНС по QR-коду, вывод QR-кода ранее загруженного чека и др.

1 стартмани

06.06.2019    7783    28    vasilievil    5    

[Расширение] для подключения мобильного устройства к УТ11.4/ КА 2/ERP 2 для работы с ордерным складом на базе Simple WMS. Для автоматизации склада нужен только телефон

Сканер штрих-кода Терминал сбора данных Мобильная разработка Управление торговлей Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 ERP2 УТ11 КА2 УУ Абонемент ($m)

Представляю готовое решение для работы с ордерами и проведения инвентаризаций в виде расширения на базе конструктора Simple WMS. Не требует доработки конфигурации, подключается как обычное расширение. Работать может с обычного телефона на Андроид либо с ТСД либо через RDP. Расширение содержит справочники, поэтому режим совместимости конфигурации должен быть не меньше 8.3.11. Расширение написано для конфигурации Управление торговлей 11.4.7 и тестировалось на Комплексная автоматизация 2.4.7.151.

5 стартмани

27.05.2019    10004    32    informa1555    22    

Мобильное приложение по учету личных финансов Android 7.0

Мобильная разработка Финансовый учет и бюджетирование (FRP) Финансовый учет и бюджетирование (FRP) v8 Домашние учет и финансы УУ Абонемент ($m)

Мобильное приложение по учету личных финансов, имеется возможность вести учет по банкам, по валюте сканировать чеки, вести учет по статьям движения денежных средств, реализована возможность резервного сохранения данных и синхронизации с приложением на ПК. Имеется демо-версия и собранный apk файл. Тестирование производилось Android 7.0 1С:Предприятие 8.3 (8.3.14.1694) Мобильная платформа 1С:Предприятия 8.3.14.53.

1 стартмани

26.05.2019    4681    2    o.kovalev    4    

7 причин, почему интеграция стала приятной. Не упускайте ряд потрясающих возможностей Промо

Внешние источники данных Интеграция Мобильная разработка v8 1cv8.cf Абонемент ($m)

В статье показаны примеры получения данных без программирования на стороне «1С:Предприятие 8». Вам нужно проверить гипотезу и проанализировать данные, почему бы не интегрироваться с Excel? Используете технологии .NET и «1С:Предприятие 8», процесс связывания систем движется катастрофически медленно? Хотите native Android приложение с вашими данными всегда под рукой?

1 стартмани

01.10.2015    53602    44    pbazeliuk    18    

Оффлайн телефонный справочник для IOS и Android

Мобильная разработка v8 1cv8.cf Россия Абонемент ($m)

Как сделать телефонный справочник компании на мобильном телефоне для IOS, если у тебя android, бюджет в 100 долларов, несколько стартмани, а ты мастер программирования только в 1С? + БОНУС, как в компании бесплатно использовать телефонный справочник IOS и Android.

1 стартмани

20.05.2019    5859    2    rujiy_kot    2    

Шаблон http-сервиса для вашего проекта

Внешние источники данных WEB Мобильная разработка v8 v8::Mobile 1cv8.cf Абонемент ($m)

Http-сервис для обмена данными в формате JSON. Обработчики этого сервиса находятся во внешней обработке, что позволяет дорабатывать его без изменения конфигурации. Также прилагаю пример мобильного приложения для работы с данным сервисом (получает номенклатуру и остатки на складе). Сервис очень быстро разворачивается и масштабируется под ваши задачи.

3 стартмани

04.05.2019    15701    63    MarkoSokolov    47    

Управление задачами (мобильное приложение)

Мобильная разработка v8 1cv8.cf Абонемент ($m)

Конфигурация "Управление задачами" для мобильного приложения.

2 стартмани

29.04.2019    5164    11    noprogrammer    0    

Давайте подружим 1С и Android. Часть 1 - постановка задачи и подход к решению Промо

Мобильная разработка v8 Абонемент ($m)

Серия уроков по созданию простейшего приложения на платформе Android для взаимодействия с 1С.

1 стартмани

29.02.2016    29325    40    solarisman    32    

EGAIS Scan - приложение для ТСД

Терминал сбора данных Мобильная разработка Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8 УТ10 УПП1 УТ11 КА2 Россия УУ Абонемент ($m)

Каждый, кто занимается торговлей алкогольной продукцией, сталкивался с проблемами сканирования акцизных марок и трудностями при взаимодействии с учетной системой 1С. Приложение EGAIS Scan - простое и оптимальное решение для выполнения быстрой приемки и отгрузки алкогольной продукции.

1 стартмани

17.04.2019    4822    4    MrChe    2    

Управление ТСД Zebra с помощью внешней компоненты для мобильной платформы

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

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

2 стартмани

15.04.2019    6242    18    IgorKissil    4    

Мобильный менеджер

Мобильная разработка Оптовая торговля Розничная торговля Оптовая торговля Розничная торговля v8 1cv8.cf Россия УУ Абонемент ($m)

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

1 стартмани

09.04.2019    3821    1    ziercool    1    

Как сделать простое мобильное веб-приложение в 1С Промо

Практика программирования Мобильная разработка v8 1cv8.cf Абонемент ($m)

В статье показан пример разработки простого мобильного веб-приложения "Контакты" с помощью функционала HTTP-сервисов появившегося в новой версии платформы 1С (8.3.5). Данное демонстрационное мобильное веб-приложение предоставляет доступ к телефонам и электронной почте контрагентов хранящихся в базе 1С, позволяет совершать звонки и писать электронные письма.

1 стартмани

04.06.2014    54368    78    rtnm    24    

Подписи для 1С

Мобильная разработка Документооборот и делопроизводство Документооборот и делопроизводство v8 Россия Абонемент ($m)

Получение подписей в Мобильной платформе 1С с помощью приложения.

1 стартмани

28.02.2019    5990    2    Grivba    7    

Внешние компоненты мобильной платформы 1С для ОС Андроид

Разработка внешних компонент Мобильная разработка v8::Mobile Абонемент ($m)

На трех простых примерах описана процедура разработки внешних компонент для Андроид. Статья написана по мотивам доклада на конференции INFOSTART 2018 EDUCATION.

31.01.2019    14115    0    IgorKissil    24    

Мобильное приложение для формирования заказов. Агент

Мобильная разработка Управление торговлей Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля Управление взаимоотношениями с клиентами (СRM) Оптовая торговля Розничная торговля v7.7 v8 Оптовая торговля, дистрибуция, логистика УУ Абонемент ($m)

Мобильное приложение на платформе Андроид для формирования заказов клиентов. Основное предназначение - работа торговых агентов, представителей, что включает в себя: список клиентов с адресами, телефонами, историей взаиморасчетов; список товаров с остатками, с несколькими типами цен; составление заявки; регистрация поступления оплаты; отслеживание координат. Приложение можно состыковать с 1С любой версии. Поддерживаемые протоколы передачи: файловый (FTP), Web-service, HTTP-service.

1 стартмани

30.01.2019    7243    5    ruslan_hut    2    

Создание и управление интернет магазином на Android в режиме "Online" Промо

Мобильная разработка v8 1cv8.cf Абонемент ($m)

“DjanorgStore-Client” – обработка для управления в режиме "onLine" контентом приложения интернет магазина на Android платформах

1 стартмани

08.10.2012    22755    6    Kosigo    22    

Адаптация кода конфигурации для работы с мобильным клиентом

Практика программирования Мобильная разработка v8 1cv8.cf Абонемент ($m)

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

1 стартмани

17.12.2018    4988    4    fr13    0    

Мобильное приложение: Терминал сбора данных (Автоматизация работы склада в режиме он-лайн)

Терминал сбора данных Мобильная разработка Оптовая торговля Розничная торговля Учет ТМЦ Оптовая торговля Розничная торговля Учет ТМЦ v8::ОУ v8::Mobile ERP2 УТ11 КА2 Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Россия УУ Абонемент ($m)

Мобильное приложение предназначено для автоматизации работы склада в режиме он-лайн. Программа работает на ТСД (или на смартфоне) под управлением Android. Для работы необходим постоянный доступ к веб-публикации центральной базы данных через интернет.

1 стартмани

10.12.2018    13373    64    prof-it60    21    

Мобильное приложение 1С для просмотра контактов в базе Промо

Мобильная разработка v8 БП2.0 УТ10 УНФ Абонемент ($m)

Партнеры: нативное приложение для просмотра контактов из вашей базы 1С на iPhone c iOS trendy интерфейсом

1 стартмани

29.08.2014    26410    1    playertwo    8    

HTML-редактор для 1С (мобильное приложение)

Мобильная разработка v8 Абонемент ($m)

Простой, но полноценный HTML-редактор для мобильного приложения с поддержкой CSS и JavaScript Релиз платформы: 8.3.12 Релиз мобильной платформы: 8.3.13

1 стартмани

07.12.2018    5206    15    djvu    1    

Мобильное приложение "Вслух"

Мобильная разработка v8 Обучение, бизнес-тренинг, курсы Россия Абонемент ($m)

Не с кем учить уроки? Говорящий репетитор в твоём мобильном! Обучающее мобильное приложение для детей и слабовидящих.

1 стартмани

16.11.2018    6001    3    RSConsulting    4    

Bluetooth сканер штрихкодов и мобильное приложение 1С (Android)

Сервисные утилиты Сканер штрих-кода Мобильная разработка v8 1cv8.cf Абонемент ($m)

Сервис для работы со сканером штрихкодов и передачи данных в мобильное приложение 1С.

1 стартмани

06.11.2018    13706    48    Isonic    21    

Самая простая конфигурация для сканирования штрихкодов из мобильного приложения 1С

Сканер штрих-кода Мобильная разработка v8 v8::УФ Абонемент ($m)

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

1 стартмани

01.11.2018    6899    20    Romyl01    4    

Применение цифровой подписи при организации учёта ТМЦ и ГСМ

Защита и шифрование Управление бизнес-процессами (BPM) Мобильная разработка v8::Mobile v8::Бизнес-процессы 1cv8.cf Абонемент ($m)

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

1 стартмани

25.10.2018    6667    2    ikekoval    2    

SmallSmarty Бухгалтерия - мобильное Android приложение для складских операций, интегрируемое с 1С Бухгалтерия 3.+

Мобильная разработка Учет ОС и НМА Учет ТМЦ Учет ОС и НМА Учет ТМЦ v8::БУ БП3.0 Россия БУ Абонемент ($m)

SmallSmarty Бухгалтерия - мобильное решение для автоматизации учета на складах с использованием 1С Бухгалтерия и применением технологии штрих-кодирования и RFID. Мобильное приложение для инвентаризации в 1С Бухгалтерия может работать как онлайн, так и полностью автономно. Загрузка/выгрузка данных при автономной работе осуществляется через файл с помощью обработок. Онлайн обмен данными осуществляется через автоматически генерируемый REST интерфейс ODATA. При этом внесение каких-либо изменений в конфигурацию 1С не потребуется. SmallSmarty Бухгалтерия поддерживает сканирование штрихкодов с помощью терминалов сбора данных(ТСД) Caribe, Bluetooth сканера GS M100BT, любого ручного сканера подключаемого через OTG и камеры смартфона.

1 стартмани

24.10.2018    5311    11    ni032mas    5    

Интерфейсы мобильных приложений. Примеры

Работа с интерфейсом Мобильная разработка v8::Mobile Абонемент ($m)

Примеры реализаций одних из самых распространенных элементов навигации и пример реализации формы списка.

2 стартмани

17.10.2018    9695    115    Baksheev-Nikita    19