Мобильное приложение 1С и приложение Java. Совместная работа через Intent. Часть 1. Запуск приложения Java из 1С

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

Разработка - Практика программирования

Мобильное приложение Android Studio Intent Java

Пишем два приложения - конфигурацию на мобильной платформе 1С и приложение Java Android Studio. На примере рассматриваем совместное использование двух приложений через Intent. Публикация состоит из 3 частей: Часть 1. Запуск приложения Java из 1С Часть 2. Получаем данные в 1С из приложения Java Часть 3. Отправляем данные в приложение Java из 1С.

Добрый день, уважаемые коллеги!

В данной части рассмотрим создание двух приложений на мобильной платформе и  Java Android Studio. И реализуем вызов приложение Java из 1С.

1. Начнем с реализации мобильного приложения на Java. Запускаем Android Studio

Выбираем версию SDK. Я выбрал минимальную для работы на большинстве мобильных устройств 2.3.3

Открываем activity_main.xml и рисуем две кнопки:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="fill_parent"
    android:layout_height="fill_parent"
    android:orientation="vertical">

    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:id="@+id/btnTime"
        android:text="Показать время">
    </Button>
    <Button
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:layout_gravity="center_horizontal"
        android:id="@+id/btnDate"
        android:text="Показать дату">
    </Button>
</LinearLayout>

Пишем реализацию MainActivity.java:

package ru.w0rm.develop.intentfilter;

import android.app.Activity;
import android.content.Intent;
import android.support.v7.app.AppCompatActivity;
import android.os.Bundle;
import android.view.View;
import android.widget.Button;

public class MainActivity extends Activity implements View.OnClickListener {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.activity_main);

        Button btnTime = (Button) findViewById(R.id.btnTime);
        Button btnDate = (Button) findViewById(R.id.btnDate);

        btnTime.setOnClickListener(this);
        btnDate.setOnClickListener(this);
    }

    @Override
    public void onClick(View v) {
        Intent intent;

        switch(v.getId()) {
            case R.id.btnTime:
                intent = new Intent("ru.w0rm.intent.action.showtime");
                startActivity(intent);
                break;
            case R.id.btnDate:
                intent = new Intent("ru.w0rm.action.showdate");
                startActivity(intent);
                break;
        }

    }
}

В коде мы определили кнопки и присвоили им Activity как обработчик нажатий. В методе onCilck мы определяем какая кнопка была нажата и создаем Intent.

Для создания Intent используем конструктор: Intent (String action). Т.е. мы при создании заполняем атрибут объекта Intent, который называется action. Это обычная строковая константа. Action обычно указывает действие, которое мы хотим произвести. Аction – это некий идентификатор окна, по которому мы его будем вызывать из 1С. В моем случае это ru.w0rm.intent.action.showtime и ru.w0rm.action.showdate

Теперь создадим два дополнительных Layout (окна) time.xml и date.xml. Одно окно будет отображать текущее время, а второе дату. Эти Layout мы будем вызывать из 1С.

time.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tvTime"
        android:text="TextView"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:textSize="30sp">
    </TextView>
</LinearLayout>

date.xml:

<?xml version="1.0" encoding="utf-8"?>
<LinearLayout
    xmlns:android="http://schemas.android.com/apk/res/android"
    android:layout_width="match_parent"
    android:layout_height="match_parent"
    android:orientation="vertical">
    <TextView
        android:layout_width="wrap_content"
        android:layout_height="wrap_content"
        android:id="@+id/tvDate"
        android:text="TextView"
        android:layout_gravity="center_horizontal"
        android:layout_marginTop="20dp"
        android:textSize="30sp">
    </TextView>
</LinearLayout>

Cоздаем класс ActivityTime с суперклассом android.app.Activity.

Пишем код в ActivityTime.java:

package ru.w0rm.develop.intentfilter;

        import java.sql.Date;
        import java.text.SimpleDateFormat;

        import android.app.Activity;
        import android.os.Bundle;
        import android.widget.TextView;

public class ActivityTime extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.time);

        SimpleDateFormat sdf = new SimpleDateFormat("HH:mm:ss");
        String time = sdf.format(new Date(System.currentTimeMillis()));

        TextView tvTime = (TextView) findViewById(R.id.tvTime);
        tvTime.setText(time);
    }
}

Аналогично создаем класс ActivityDate.

Пишем код в ActivityDate.java:

package ru.w0rm.develop.intentfilter;

import java.sql.Date;
import java.text.SimpleDateFormat;

import android.app.Activity;
import android.os.Bundle;
import android.widget.TextView;

public class ActivityDate extends Activity {

    @Override
    protected void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.date);

        SimpleDateFormat sdf = new SimpleDateFormat("dd.MM.yyyy");
        String date = sdf.format(new Date(System.currentTimeMillis()));

        TextView tvDate = (TextView) findViewById(R.id.tvDate);
        tvDate.setText(date);
    }
}

Теперь только осталось дописать в манифесте:

<activity android:name="ActivityTime">
            <intent-filter>
                <action android:name="ru.w0rm.intent.action.showtime"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
            </intent-filter>
        </activity>
        <activity android:name="ActivityDate" android:label="Date basic">
            <intent-filter>
                <action android:name="ru.w0rm.action.showdate"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
            </intent-filter>
        </activity>

Здесь мы как раз и инициализируем наши Action. В итоге в манифесте должно получиться следующее:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="ru.w0rm.develop.intentfilter">

    <application
        android:allowBackup="true"
        android:icon="@mipmap/ic_launcher"
        android:label="@string/app_name"
        android:supportsRtl="true"
        android:theme="@style/AppTheme">
        <activity android:name=".MainActivity">
            <intent-filter>
                <action android:name="android.intent.action.MAIN" />

                <category android:name="android.intent.category.LAUNCHER" />
            </intent-filter>
        </activity>
        <activity android:name="ActivityTime">
            <intent-filter>
                <action android:name="ru.w0rm.intent.action.showtime"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
            </intent-filter>
        </activity>
        <activity android:name="ActivityDate" android:label="Date basic">
            <intent-filter>
                <action android:name="ru.w0rm.action.showdate"></action>
                <category android:name="android.intent.category.DEFAULT"></category>
            </intent-filter>
        </activity>

    </application>

</manifest>

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

2. Теперь создадим приложение на мобильной платформе 1С и будем вызывать наши Activity из приложения на Java

Создаем новую конфигурацию. Имя Intent. Назначение использования - Мобильное устройство.

Создаем общую форму - Начальная форма. На форму добавляем две команды - ПоказатьВремя и ПоказатьДату.

Добавляем обработчики команд:

&НаКлиенте
Процедура ПоказатьВремя(Команда)
	
	#Если МобильноеПриложениеКлиент Тогда 
		НовВз = Новый ЗапускПриложенияМобильногоУстройства();
    	НовВз.Действие="ru.w0rm.intent.action.showtime";
    	НовВз.Запустить(Истина);
	#КонецЕсли

КонецПроцедуры

&НаКлиенте
Процедура ПоказатьДату(Команда)
	
	#Если МобильноеПриложениеКлиент Тогда 
		НовВз = Новый ЗапускПриложенияМобильногоУстройства();
    	НовВз.Действие="ru.w0rm.action.showdate";
    	НовВз.Запустить(Истина);
	#КонецЕсли

КонецПроцедуры

В обработчике и указываем Action из форм Java. По ним и будут вызываться необходимые нам Activity.

Открываем Рабочую область начальной страницы и выбираем нашу Начальную форму.

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

В следующей части  //catalog.mista.ru/public/613225/ рассмотрим как передавать значения в1С из приложения Java.

Спасибо за внимание!

 

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

Наименование Файл Версия Размер
1С Мобильное приложение и приложение Java. Совместная работа через Intent. Часть 1. Запуск приложения Java из 1С:
.zip 25,50Mb
20.04.17
12
.zip 1.0.1 25,50Mb 12 Скачать

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

Комментарии
Избранное Подписка Сортировка: Древо развёрнутое
Свернуть все
1. user621724_Dimav1979 291 20.04.17 09:41 Сейчас в теме
Задавайте вопросы. С удовольствием отвечу.
Swetlana; AlexGroovy; dj_serega; smirnov.es; +4 Ответить
4. SyachinS 20.04.17 10:31 Сейчас в теме
5. user621724_Dimav1979 291 20.04.17 10:38 Сейчас в теме
2. user738101 20.04.17 10:06 Сейчас в теме
3. user621724_Dimav1979 291 20.04.17 10:11 Сейчас в теме
(2) и это еще архив :)
deutsch2008; +1 Ответить
6. neikist 20.04.17 11:08 Сейчас в теме
Спасибо за статью, вечерком почитаю. Сейчас мельком пробежался по началу статьи и один вопрос возник: почему обработчики кнопкам не в разметке назначаете, а программно? С java и андроидом не особо разбирался, но по моему так разве что какие то анонимные обработчики передавать смысл есть (если это возможно, а судя по тому что нагуглил - невозможно), а явно задаваемые наверно все же лучше в xml описать. Например у меня как у полного чайника сразу вопрос появился: как повесить разные обработчики на кнопки? Судя по тому что нагуглил - нужно реализовать под каждый обработчик объект с соответствующим интерфейсом и его как обработчик устанавливать, другого способа не нашел: https://developer.android.com/reference/android/view/View.OnClickListener.html

Но это так, из разряда придирок мелких.
9. user621724_Dimav1979 291 20.04.17 15:15 Сейчас в теме
(6) спасибо Кирилл за вопрос. По обработчикам Java почитайте StartAndroid
10. neikist 20.04.17 16:44 Сейчас в теме
(9) странно как то что по ссылке не описано задание обработчиков в разметке, например здесь показаны оба способа как в коде, так и в разметке, в свое время почитал немного данный ресурс чтобы хоть какое то представление иметь.
11. Akbis 49 21.04.17 08:41 Сейчас в теме
(10) Программно боле гибче, если понадобится переназначать. Ну здесь можно было и в разметке задать.
12. neikist 21.04.17 20:05 Сейчас в теме
(11) Соглашусь пожалуй, главное не начать набивать эту точку входа десятками вариантов обработок нажатий на разные кнопки, или на одну в разных условиях.
7. flyer 229 20.04.17 11:19 Сейчас в теме
однозначно плюс. жду 2 часть.
8. user621724_Dimav1979 291 20.04.17 13:45 Сейчас в теме
13. Region102 26.04.17 07:50 Сейчас в теме
Это все интересно конечно, но было бы интересно тоже самое сделать с service, для 1с-ников - это типа фоновых заданий. Т.е. оправил данные, они там обсчитались, распечатались и еще что-нибудь и вернулся результат в 1С. Приложение 1с вроде слушает broadcast, оно же как-то получает push, но как возвращать данные из сервиса я так и не понял.
14. Dementor 693 26.04.17 15:01 Сейчас в теме
(13)
Т.е. оправил данные, они там обсчитались, распечатались и еще что-нибудь и вернулся результат в 1С.

Половина ответа в том, как вы собираетесь отправлять данные в сервис. Дело в том, что в мобильной платформе для работы с приложениями Android есть только ЗапускПриложенияМобильногоУстройства (пусть меня поправят, если я ошибаюсь). А этот объект в зависимости от булевского параметра в методе запустить использует или startActivity или startActivityForResult - т.е. никаких startService не предусмотрено вообще, а потому и получение из них данных колбеками или подпиской на "слушанье" тоже не реализовано.

А вот если вы дергаете какую-то активити (возможно даже невидимую), которая стартует сервис, то вы можете продолжить развитие этой темы и сделать обработчик ожидания, который периодически будет дергать вашу активити, которая будет получать данные из сервиса и сообщать назад в 1С.
20. agostev 16.05.20 22:15 Сейчас в теме
(14)

Подскажите, я правильно понимаю, что если в androidmanifest.xml описано так:
<service
name=".print.PassthroughService"
exported="true"/>

то не получится вызвать через ЗапускПриложенияМобильногоУстройства() ?
15. Region102 26.04.17 19:41 Сейчас в теме
Просто когда я дергаю активити, идет инициализация bluetooth ККМ и распечатка чека и все это время у меня заместо активити 1С черный экран ). Я пытался запускать сервис и закрывать активити, в принципе получилось, но мне надо получить результат выполнения операции (ok или результат exception).
16. taishy 52 28.06.17 09:17 Сейчас в теме
(15) Я использовал ASyncTask, и теперь вместо черного экрана четкое отображение текущих действий
19. vers139 51 13.05.19 10:29 Сейчас в теме
(16) Можете подробней описать как это реализовали. Код кинуть. Или хотя бы где бы почитать как это можно сделать?
17. Lupeykin 5 04.12.17 07:07 Сейчас в теме
Этот парень реально умеет писать понятно и кратко, талант
user621724_Dimav1979; +1 Ответить
18. KAV2 98 26.07.18 09:09 Сейчас в теме
Вопрос снимается, просьба удалить.
Оставьте свое сообщение

См. также

Безопасная работа с транзакциями во встроенном языке Промо

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

Разбираемся с опасностями использования транзакций во встроенном языке 1С. Познаем ошибку "В данной транзакции уже происходили ошибки". Учимся защищаться от них.

1 стартмани

25.03.2019    28623    9    tormozit    44    

Перехват сканирования Android Native API

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

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

1 стартмани

29.04.2020    1583    5    evgeny43    15    

Мобильная платформа. Уникальный идентификатор устройства Android при помощи внешней компоненты. Не IMEI

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

Идентифицируем устройства, на которых установлены копии нашего приложения.

3 стартмани

23.04.2020    1107    0    kinan    0    

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    1229    8    SanyMaga    7    

Вам нравятся запросы в 1С? Промо

Практика программирования Разработка v8 v8::Запросы 1cv8.cf Абонемент ($m)

Речь не только о том, что простейший запрос с "легальным" оформлением растянется на пол-экрана, речь еще обо всем, что нужно написать "в нагрузку" к тексту запроса. Все эти "Новый Запрос", "УстановитьПараметр" и последующие пляски с обработкой результата... Пора с этим заканчивать!

1 стартмани

03.07.2019    16593    4    m-rv    86    

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

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

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

3 стартмани

06.04.2020    1920    3    kinan    13    

Обработка голосового ввода текста с использованием (intent)

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

Обработка для голосового ввода текста с использованием дополнительных возможностей ОС Android.

1 стартмани

26.02.2020    1645    1    algabas    7    

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

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

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

5 стартмани

13.02.2020    2183    9    ingeneerz@gmail.com    0    

ВСТАВИТЬ В Справочник.Номенклатура (Код, Наименование) ЗНАЧЕНИЯ ("001", "Новый товар") Промо

Практика программирования v8 v8::Запросы 1cv8.cf Абонемент ($m)

Вас не обманывают ваши глаза, это запрос на изменение данных! И это работает без прямого доступа к БД, регистрации и смс.

1 стартмани

01.06.2018    26789    86    m-rv    57    

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

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

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

1 стартмани

05.11.2019    5768    3    sam441    11    

Мой помощник и бухгалтер

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

Домашняя бухгалтерия, записная книжка, контакты, напоминания, сканер штрих-кода, матрица Эйзенхауэра - все в твоём телефоне.

1 стартмани

26.09.2019    3997    2    user-sergey    10    

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

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

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

5 стартмани

17.09.2019    4310    1    IgorKissil    7    

Конструктор мобильного клиента 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    37083    241    informa1555    200    

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

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

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

5 стартмани

05.09.2019    5501    53    Baksheev-Nikita    12    

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

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

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

1 стартмани

18.07.2019    5783    16    savostin.alex    5    

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

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

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

4 стартмани

06.06.2019    5611    2    yarsort    10    

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

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

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

1 стартмани

16.05.2017    19813    46    PloAl    18    

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

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

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

1 стартмани

06.06.2019    7783    28    vasilievil    5    

Event Management - мобильное приложение для управления мероприятиями (Android)

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

Event Management - мобильное приложение для управления мероприятиями. Отлично подойдет event-агентствам, свадебным организаторам, а также тем, кто проводит консультации, тренинги и т.д. Работает на Android (проверено на версии 5.1).

4 стартмани

31.05.2019    4795    3    yuriy_lokhonya    1    

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

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

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

3 стартмани

04.05.2019    15688    63    MarkoSokolov    47    

Заполняем по шаблону (по умолчанию) Промо

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

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

1 стартмани

08.02.2018    24301    19    mvxyz    17    

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

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

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

2 стартмани

15.04.2019    6238    18    IgorKissil    4    

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

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

Активити доступно из кода мобильного приложения 1С 8.3. Может использоваться как часть приложения при приемке автомобиля на предприятиях автосервиса. По сути является модальным диалогом, для внесения данных по осмотру автомобиля при приемке/передаче.

1 стартмани

10.04.2019    4287    0    hiEnergy    1    

Пример использования СКД и данных расшифровки на мобильной платформе

Практика программирования Разработка v8 v8::Mobile v8::СКД 1cv8.cf Россия Абонемент ($m)

СКД в мобильном приложении и меню действий на основе данных расшифровки (отчет, совместимый с мобильной платформой 8.3.13.45).

1 стартмани

12.03.2019    4700    3    majoram    0    

Нечеткий поиск одним запросом Промо

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

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

1 стартмани

28.12.2015    23964    62    vasvl123    9    

Подкасты сайта "Эхо Москвы" в мобильном приложении 1С

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

Данная разработка показывает возможности мобильного приложения от 1С на примере получения данных с сайта радиостанции "Эхо Москвы" и последующего проигрывания мультимедиа.

1 стартмани

09.03.2019    4203    2    NovPas    6    

Альтернатива для "ПоказатьВыборИзСписка" и "ПоказатьВопрос" для приложений на Мобильной Платформе (УФ)

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

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

1 стартмани

04.02.2019    5267    0    HorusTheOne    0    

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

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

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

31.01.2019    14110    0    IgorKissil    24    

Работа с публикациями "Инфостарт" Промо

Практика программирования О сообществе WEB v8 УУ Абонемент ($m)

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

1 стартмани

13.09.2018    17413    12    RocKeR_13    16    

Инструкция по применению мобильного приложения 1С:Штрихкоды

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

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

1 стартмани

18.01.2019    6897    2    inord777    0    

Сканер штрих-кодов Сервер + Клиент

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

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

1 стартмани

18.01.2019    5171    1    enot_tut    0    

Настраиваемое мобильное приложение для сканирования штрихкодов

Практика программирования Сканер штрих-кода Мобильная разработка Абонемент ($m)

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

1 стартмани

14.01.2019    6737    3    inord777    9    

Как выполнить отчет на СКД через COM и получить данные отчета? Промо

Практика программирования v8 УПП1 Россия Абонемент ($m)

Для чего это нужно. Например, нужно в одной базе получить какой-либо показатель из другой базы. Этот показатель вычисляется в каком-либо сложном отчете, который написан на СКД. Можно, конечно, "скопипастить" текст запроса из другой базы, немного подправить его и выполнять в том же COM подключении. Но с этим теряется гибкость: если отчет изменился, то нужно помнить о том, что где-то есть его "немного модифицированная" копия. В статье будет рассмотрен пример получения данных из базы ЗУП.

2 стартмани

08.05.2018    24619    8    wowik    3    

Мобильное приложение для Android по учету выполненных работ/услуг и отслеживанию состояния расчетов с клиентами

Мобильная разработка Производство готовой продукции (работ, услуг) Производство готовой продукции (работ, услуг) v8::Mobile УУ Абонемент ($m)

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

1 стартмани

31.12.2018    5139    0    alevpe_1c    12    

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

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

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

1 стартмани

10.12.2018    13366    64    prof-it60    21    

Управление сканером "Beluga" из мобильного приложения 1С

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

Внешняя компонента для терминалов сбора данных MT65.

5 стартмани

26.11.2018    5671    7    IgorKissil    3    

Позиционирование в помещении с помощью нейросети по сигналу Wi-Fi. Интерактивная карта склада в 1С с показом позиции Промо

Инструментарий разработчика Практика программирования v8 Абонемент ($m)

Данная публикация содержит в себе редактор и интерактивную карту склада или иного помещения, на которой в реальном времени отображается позиция устройства, координаты которого вычисляются по уровням сигнала нескольких роутеров Wi-Fi. В статье и приложенным к ней разработкам предлагаются инструменты и методика для реализации вычисления точной геопозиции внутри помещений с помощью нейронной сети. Конфигурация написана на релизе 1С:Предприятие 8.3.12.1412, клиентское приложение имеет минимальный уровень совместимости SDK -16.

5 стартмани

09.08.2018    24375    25    informa1555    26    

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

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

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

1 стартмани

25.10.2018    6665    2    ikekoval    2    

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

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

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

2 стартмани

17.10.2018    9692    115    Baksheev-Nikita    19    

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

Сканер штрих-кода Мобильная разработка v8::Mobile 1cv8.cf Здравоохранение, медицина, стоматология Россия Абонемент ($m)

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

5 стартмани

15.09.2018    9340    5    Agregadus    2    

Программное создание динамического списка на управляемой форме. (Динамическое создание динамического списка). Готовая процедура + обработка - демонстрационный пример Промо

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

Если у вас возникает необходимость на форму влиять динамически и создавать элементы управляемой формы программно, а особенно хотите вывести программно (динамически) динамический список, вам будет интересна эта процедура. Процедура включает также возможность формирования своей командной панели (а-ля снятие галочки "Автозаполнение" у стандартной командной панели списка).

1 стартмани

19.01.2018    51762    60    rpgshnik    26    

Мобильное приложение для настольного тенниса

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

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

1 стартмани

23.08.2018    5571    2    gradi    0    

Работа с данными выбора

Практика программирования Работа с интерфейсом v8 Россия Абонемент ($m)

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

1 стартмани

17.07.2018    37154    17    kalyaka    16    

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

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

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

1 стартмани

19.06.2018    13050    4    informa1555    15    

1С: Предприятие + корпоративный чат, как наладить оперативные уведомления за 10 минут Промо

Практика программирования v8 Абонемент ($m)

Как сделать автоматические уведомления о разных событиях из 1С в корпоративный чат MyChat для сотрудников компании

1 стартмани

14.08.2016    43970    36    Demanoidos    60    

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

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

Мобильное приложение учебного расписания, которое принимает для загрузки файлы формата json

1 стартмани

18.06.2018    7411    13    onec.developer    1    

Внешняя компонента "Монитор активации мобильного приложения"

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

Компонента позволяет определить, находится ли мобильное приложение на переднем плане.

2 стартмани

06.06.2018    7023    1    IgorKissil    4    

Электронные карты лояльности для магазина (мобильное приложение)

Мобильная разработка Управление торговлей WEB Управление взаимоотношениями с клиентами (СRM) Розничная торговля Управление взаимоотношениями с клиентами (СRM) Розничная торговля v8 v8::ОУ v8::Mobile УТ11 Розничная и сетевая торговля (FMCG) УУ Абонемент ($m)

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

1 стартмани

28.05.2018    11877    26    Kutuzov    6    

Как нарисовать граф на 1С Промо

Практика программирования v8 Абонемент ($m)

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

1 стартмани

09.08.2013    68165    206    ildarovich    117    

БСП: Дополнительная обработка (Регламенты), примеры от простого к сложному

Практика программирования БСП (Библиотека стандартных подсистем) v8 1cv8.cf Абонемент ($m)

Очень много попадается странных решений, которые можно решить через БСП:Дополнительные отчеты и обработки. Я бы вообще БСП из-за этой подсистемы переименовал в «Большое Спасибо Программистам». Поработаем с подсистемой в части написания регламентных заданий.

1 стартмани

10.05.2018    39758    33    dsdred    36    

Работа со схемой запроса

Инструментарий разработчика Практика программирования v8 v8::Запросы Абонемент ($m)

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

1 стартмани

24.04.2018    39803    84    kalyaka    34    

Мобильный клиент + HTTP Сервис + Расширение конфигурации

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

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

1 стартмани

16.04.2018    28976    41    dsdred    27    

Взаимодействие с NFC через мобильную платформу 1С

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

Цель была научиться взаимодействовать с внешними приложениями из приложения на мобильной платформе 1С. Для данной цели выбрал тему чтение/запись NFC меток. Было разработано: 1) приложение в android studio, которое взаимодействует с NFC 2) приложение на мобильное платформе 1с, которое взаимодействует с разработанным приложением в android studio.

1 стартмани

15.04.2018    14007    17    leobrn    17