Нано HTTP сервер - внешняя компонента для мобильного приложения 1C, на Android

Публикация № 1252017 22.06.20

Разработка - Разработка внешних компонент

Нано HTTP сервер на терминале сбора данных "ATOL Smart.Lite android 7.0". Работает только с GET и POST запросами. Аутентификация BASE64. Не поддерживает HTTPS и не передает файлы. В прикрепленном архиве исходники на компоненту (С++ и java для Android Studio 3.6.2), ЦФ - мобильного приложения и тестовая обработка.

Так как у мобильного приложения 1С нет HTTP сервисов решил написать свой. 

На чем я работал:

1. Android Studio 3.6.2

2. Мобильное приложение 1С 8.3.16.142

3. 1С:Предприятие 8.3 (8.3.17.1386)

Начнем с описания функционала:

// Описание: Функция запускает сервер.
// Параметры:
//Не обязательные.
//  Порт  - число. Порт который слушает сервер. 8080 по умолчанию.
//  Имя, Пароль - строки.
//  Если не заполнены значит нет аутентификации
//Возвращает указатель на Сервер - пустая строка ошибка создания.
СтрокаУказатель = Компонента.CreateHttpServer(Порт, Имя, Пароль)

// Описание:  функция отвечает на запрос
// Параметры:
//  обязательные.
//	Сокет- строка. Указатель на клиентский сокет - получается из запрос HTTP
// Не обязательные.
//  КодОтвет - СТРОКА. если не заполнено тогда "200"
//  Данные   - СТРОКА. если не заполнено тогда ""
// Возвращает количество отправленных байт если <= 0 то ошибка.
ОтправленоБайт = Компонента.SendAnswer(Сокет, КодОтвет, Данные)

// Описание: Количество подключенных к серверу клиентов
Число = Компонента.ClientCount;

// Описание: Данные интерфейса IP (только когда запущен сервер)
JSONСтрока = Компонента.IPConfig;

// Описание: Отладка можно посмотреть версию
JSONСтрока = Компонента.InfoString;

1. Подключение стандартное ниже на скрине.

Важно:

Во время настройки Web-публикации следует провести следующее действие. В настройках http-сервера необходимо добавить типы MIME для следующих расширений:

  • .so
  • .apk

Тип MIME: application/octet-stream

2. Проверим.

 

2. Написал обработку с двумя кнопками. Запустил на УТ.

код обработки:


Процедура КнопкаВыполнитьPOST(Кнопка)
	
	Попытка
		Запрос = Новый Запрос;
		Запрос.Текст = 
			"ВЫБРАТЬ
			|	Номенклатура.Ссылка,
			|	Номенклатура.Наименование,
			|	Штрихкоды.ПредставлениеШтрихкода
			|ИЗ
			|	РегистрСведений.Штрихкоды КАК Штрихкоды
			|		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Номенклатура КАК Номенклатура
			|		ПО Штрихкоды.Владелец = Номенклатура.Ссылка
			|	     И НЕ Номенклатура.ЭтоГруппа";
		
		Выборка = Запрос.Выполнить().Выбрать();
		// Создаем строку с данные  JSON выборка примерно 45000 элементов
		JSONДанныеПередачи = СоздатьСтрокуJSON(Выборка);
		
		Если HTTPСоединение = Неопределено Тогда
			HTTPСоединение = Новый HTTPСоединение("192.168.0.98", 8080, "Админ", "123");
		КонецЕсли;	
		
		HTTPЗапрос = Новый HTTPЗапрос("/HTTPTest/Post?Номенклатура=" + КодироватьСтроку(НоменклатураСсылка,СпособКодированияСтроки.КодировкаURL) + "&Индекс=" + Индекс);
		
		//добовляем заголовки к запрос
		//к сожеления не поборол руские буквы в заголовках поэтому нужно использовать функцияю КодироватьСтроку
		HTTPЗапрос.Заголовки.Вставить(КодироватьСтроку("КомандаЗаголовок",СпособКодированияСтроки.КодировкаURL)
		                             ,КодироватьСтроку("Выгружаем номенклатуру",СпособКодированияСтроки.КодировкаURL));
									 
		HTTPЗапрос.Заголовки.Вставить(КодироватьСтроку("ДатаЗапроса",СпособКодированияСтроки.КодировкаURL),ТекущаяДата());
		HTTPЗапрос.Заголовки.Вставить(КодироватьСтроку("Количество",СпособКодированияСтроки.КодировкаURL),Выборка.Количество());
		
		
		HTTPЗапрос.УстановитьТелоИзСтроки(JSONДанныеПередачи);
		HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);
		Сообщить(Строка(HTTPОтвет.КодСостояния) + Символы.ПС + HTTPОтвет.ПолучитьТелоКакСтроку());
		Индекс = Индекс + 1;	
		
   Исключение
      Сообщить(ОписаниеОшибки());
   КонецПопытки;
   
КонецПроцедуры

Процедура КнопкаВыполнитьGET(Кнопка)
	
	Попытка
		//подключение к нашему серверу
		Если HTTPСоединение = Неопределено Тогда
			HTTPСоединение = Новый HTTPСоединение("192.168.0.98", 8080, "Админ", "123");
		КонецЕсли;	
		
		HTTPЗапрос = Новый HTTPЗапрос("/HTTPTest/Get?Номенклатура=" + НоменклатураСсылка + "&Индекс=" + Индекс);
		
		//добовляем заголовки к запрос
		//к сожеления не поборол руские буквы в заголовках поэтому нужно использовать функцияю КодироватьСтроку
		HTTPЗапрос.Заголовки.Вставить(КодироватьСтроку ("КомандаЗаголовок",СпособКодированияСтроки.КодировкаURL) ,КодироватьСтроку("Родитель",СпособКодированияСтроки.КодировкаURL));
		HTTPЗапрос.Заголовки.Вставить(КодироватьСтроку ("ДатаЗапроса",СпособКодированияСтроки.КодировкаURL),ТекущаяДата());
		
		//Выполнили метод
		HTTPОтвет = HTTPСоединение.Получить(HTTPЗапрос);
		//Обработка ответа
		Сообщить(Строка(HTTPОтвет.КодСостояния) + Символы.ПС + HTTPОтвет.ПолучитьТелоКакСтроку());
	Исключение
      Сообщить(ОписаниеОшибки());
	КонецПопытки;
	
КонецПроцедуры

3. Написал обработку события на сервере в мобильное приложение 1С.

код обработки:


Процедура ОбработкаВнешнегоСобытия(Источник, Заголовоки, Контент)
	
	Если Источник = "MALhttpserver" Тогда
		
		//Обычное преобразование JSON в сооответсвие заголовков
		ДанныеЗапроса = JSONМодуль.СоздатьСтруктуруИзAndroid(Заголовоки, Истина);
		
		//Так как событие асинхронное то и пришлось добавить ид сокета для ответа.
		КлиентСокет = ДанныеЗапроса.Получить("ClientSocket");
		//Сам запрос 
		Запрос = ДанныеЗапроса.Получить("Inquiry");
		
		Если Запрос = "HTTPTest/Get" Тогда
			
			//Просто отвечаем 
			глHTTPServer.SendAnswer(КлиентСокет,"200","Привет я тебя понял)");	
			
		ИначеЕсли Запрос = "HTTPTest/Post" Тогда 	
			
			//Разбераем данные клиента
			СтруктураКонтент = JSONМодуль.СоздатьСтруктуруИзAndroid(Контент, Ложь);
			
			//создаем строкуJSON из входного масива
			ЗаписьJSON = Новый ЗаписьJSON;
			ЗаписьJSON.УстановитьСтроку(Новый ПараметрыЗаписиJSON(ПереносСтрокJSON.Нет));
			ЗаписатьJSON(ЗаписьJSON, СтруктураКонтент.Номенклатура);
			ОтветСтрокаJSON = ЗаписьJSON.Закрыть();
			
			
			//Отвечаем массивом обратно, а 201 просто так захотелось.
			глHTTPServer.SendAnswer(КлиентСокет,"201",ОтветСтрокаJSON);	
			
		Иначе 
			глHTTPServer.SendAnswer(КлиентСокет,"404","Нет токой страници!");	
		КонецЕсли;	
		
	КонецЕсли;	
	

3. Посмотрим точки останова.

В обработке запущенной на УТ нажимаем кнопку "отправить GET запрос" . На сервере(мобильное приложение 1С)  возникает внешнее событие:

Сервер отвечает и вот его ответ:

Теперь в обработке запущенной на УТ нажимаем кнопку "отправить POST запрос" . На сервере(мобильное приложение 1С)  возникает внешнее событие:

Сервер отвечает и вот его ответ:

4. Ну пожалуй все.

В Архиве исходники на  компоненту ,сf , и тестовая обработка . В папке package уже готовый zip для компаненты. Все исходники для android написаны под Android Studio 3.6.2. Все, что нужно, само подгрузится. 

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

Наименование Файл Версия Размер
Внешняя компонента нано HTTP сервер. + Исходники

.zip 17,94Mb
20
.zip 17,94Mb 20 Скачать

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

Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. boss_kuz 104 18.08.20 10:45 Сейчас в теме
Добрый день. Не подскажите в чем может быть проблема.
Делаю так :
HTTPЗапрос.УстановитьТелоИзСтроки("Привет");
		HTTPОтвет = HTTPСоединение.ОтправитьДляОбработки(HTTPЗапрос);

На входе получаю :

СтруктураКонтент = BroadcastКлиент.СоздатьСтруктуруИзAndroid(Данные, Ложь);


В реальности в поле Данные содержится "ривет". т.е. сервис обрезает первый символ.
Причем с json такая же проблема первый символ "{" убирается и его невозможно на приемнике прочитать
4. SanyMaga 66 18.08.20 11:11 Сейчас в теме
(1)
Это кодировка UTF-8 у вас нет Символов BOM

Для указания, что файл или поток содержит символы Юникода, в начале файла или потока может быть вставлен маркер последовательности байтов (англ. Byte order mark, BOM), который в случае кодирования в UTF-8 принимает форму трёх байтов: EF BB BF16.

Они по умолчанию.

Либо поправить код в модуле сервера в Андроид студия.

Я не проверяю просто убераю 2 первых символа.


УстановитьТелоИзСтроки(<ТелоКакСтрока>, <Кодировка>, <ИспользоватьBOM>)
30. nick_e 2 25.04.23 07:28 Сейчас в теме
(4) Я правильно понимаю, эта компонента создает HTTP сервер на мобильном устройстве например ТСД?
А можно через него делать например синхронизацию номенклатуры между ТСД и основной базой на компьютере? Или это тоже самое, что развернуть веб сервер на компьютере опубликовать базу и работать с ней?
2. пользователь 18.08.20 11:06
Сообщение было скрыто модератором.
...
3. SanyMaga 66 18.08.20 11:08 Сейчас в теме
Я не проверяю просто убераю 2 первых символа.


УстановитьТелоИзСтроки(<ТелоКакСтрока>, <Кодировка>, <ИспользоватьBOM>)
5. boss_kuz 104 19.08.20 08:13 Сейчас в теме
Добрый день. ТСД Атол Pro. В мобильном клиенте все работает хорошо, но в мобильном приложении при устанвки внешней компоненты:
Если ПодключитьВнешнююКомпоненту("ОбщийМакет.Макет", "rumalhttpserver", ТипВнешнейКомпоненты.Native) Тогда

Ошибка формата потока.
В чем может быть проблема ?
Параллельно пользуюсь вашей компонентой Rumalutilities. Она работает без проблем.
6. SanyMaga 66 19.08.20 09:46 Сейчас в теме
(5) Иногда после обновления макета вылазит такая ошибка, при первом запуске потом ее нет связанна с кешем.
Если эта ошибка постоянная тогда просьба скрин с деталями ошибки.
7. boss_kuz 104 19.08.20 17:55 Сейчас в теме
Стоит версия 8.3.15.105. Установил файл 1cem-client-arm.apk (мобильный клиент) из поставки 1С подключаюсь к опубликованной базе все работает. Ставим 1cem-arm.apk (мобильное приложение). В конфигураторе - мобильное приложение - обновить мобильное приложение. Запускаем ... происходит обновление приложения на ТСД... При начале работы системы исполняется данный код :
	#Если МобильноеПриложениеКлиент ИЛИ МобильныйКлиент Тогда	
		НачатьУстановкуВнешнейКомпоненты(, "ОбщийМакет.MalHttpServer");	
		ОписаниеОповещения = Новый ОписаниеОповещения(
			"ПослеПодключенияКомпоненты",
			ЭтотОбъект
		);	
		НачатьПодключениеВнешнейКомпоненты(
			ОписаниеОповещения,
			"ОбщийМакет.MalHttpServer",
			"rumalhttpserver",
			ТипВнешнейКомпоненты.Native
		);
	#КонецЕсли
Показать


После этого кода (пробовал также просто ПодключитьВнешнююКомпоненту) падает в ошибку.



Как подробнее даже не знаю что предложить :(
Очищал кэш приложения. Не помогло.
8. SanyMaga 66 19.08.20 20:54 Сейчас в теме
(7)
Я отлаживал как рас в мобильном приложении а не в мобильном клиенте нет.

А вот это сделано?

Во время настройки Web-публикации следует провести следующее действие. В настройках http-сервера необходимо добавить типы MIME для следующих расширений:

.so
.apk
Тип MIME: application/octet-stream
9. boss_kuz 104 20.08.20 05:54 Сейчас в теме
(8) Добрый день. У меня стоит Апач 2.4. Добавил в раздел
<IfModule mime_module>
	#Для отладки Мобильного приложения
	AddType application/octet-stream .so
	AddType application/octet-stream .apk


Не помогло. Помогите . Пожалуйста.
11. boss_kuz 104 20.08.20 08:15 Сейчас в теме
(10) Использовал готовый librumalhttpserver.zip (2291691 байт)
12. SanyMaga 66 20.08.20 09:53 Сейчас в теме
(11)

Вы писали
"Параллельно пользуюсь вашей компонентой Rumalutilities. Она работает без проблем."


Попробовать заменить библиотеку в этой конфигурации просто для проверки.

Не могу пока локализовать вашу проблему.

P.S. Апач разный для конфигураций??
13. boss_kuz 104 20.08.20 15:21 Сейчас в теме
В одной и той же конфигурации используется Rumalutilities и rumalhttpserver. Пробовал тестирование и исправление. Удаление. Установка заново, отключал Rumalutilities все бесполезно. У меня ощущение что все таки что то с правами Андроида. Я полагаю что компонента должна запустить какую-то службу и тут происходит облом. У вас же MalAccservice вынесен отдельно. Вы можете дать какую-нибудь конфигурацию для проверки, где у вас гарантированно работает (я так понял у вас тоже Атолы). Ваше HTTP сервер, ну очень "крутая" штучка. Очень хотелось бы ее воспользоваться.
14. SanyMaga 66 21.08.20 07:54 Сейчас в теме
(13)
cf в aрхиве есть на нем и все отлаживал и скринил.
15. SanyMaga 66 21.08.20 08:20 Сейчас в теме
(13)
У меня 7 андроид был у вас скорей всего 9

Попробуйте в мнифесте (ANDROID_MANIFEST_EXTENSIONS.XML) 1с добавить:
<uses-permission android:name="android.permission.INTERNET" />

подробности: https://its.1c.ru/db/metod8dev/content/3221/hdoc

PS На сколько я знаю на сокеты разрешения не нужны.
16. SanyMaga 66 21.08.20 08:30 Сейчас в теме
(13) Попробуйте другой порт например 2550 (у меня 80 порт не открывался)

Компонента.CreateHttpServer(2550, Имя, Пароль)
17. SanyMaga 66 21.08.20 08:45 Сейчас в теме
(13) Я использовал IIS апач не знаю.
18. boss_kuz 104 22.08.20 04:33 Сейчас в теме
Простите меня , я тупой. Вид макета был "двоичные данные". А нужно "внешняя компонента". Спасибо тебе добрый человек. Вопрос снят.
19. boss_kuz 104 24.08.20 08:32 Сейчас в теме
Добрый день. Обнаружил очередную проблему. Если на Атолев мобильном приложении удалить базу и загрузить заново , то возникает ошибка и 1с закрывается. Второй раз может зайти. На "китайских" терминалах "гарантировано" не заходит. Если отменить установку компоненты все работает. Листинг ошибки :
java.lang.UnsatisfiedLinkError: dalvik.system.DexClassLoader[DexPathList[[zip file "/data/user/0/com.e1c.mobile/files/1C/1cem/34374e2c-3695-c8c3-1227-af6912cfa793/ExtCompT/ru_mal_utilities.apk"],nativeLibraryDirectories=[/data/user/0/com.e1c.mobile/files/1C/1cem/34374e2c-3695-c8c3-1227-af6912cfa793/ExtCompT, /system/lib]]] couldn't find "libru_mal_utilities.so"
	at java.lang.Runtime.loadLibrary0(Runtime.java:1012)
	at java.lang.System.loadLibrary(System.java:1669)
	at ru.mal.malutilities.AddIn1c.run(AddIn1c.java:34)
	at android.os.Handler.handleCallback(Handler.java:873)
	at android.os.Handler.dispatchMessage(Handler.java:99)
	at android.os.Looper.loop(Looper.java:193)
	at android.app.ActivityThread.main(ActivityThread.java:6702)
	at java.lang.reflect.Method.invoke(Native Method)
	at com.android.internal.os.RuntimeInit$MethodAndArgsCaller.run(RuntimeInit.java:493)
	at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:911)
Показать
20. SanyMaga 66 17.09.20 17:14 Сейчас в теме
(19)
"/data/user/0/com.e1c.mobile/files/1C/1cem/34374e2c-3695-c8c3-1227-af6912cfa793/ExtCompT/ru_mal_utilities.apk"],nativeLibraryDirectories=[/data/user/0/com.e1c.mobile/files/1C/1cem/34374e2c-3695-c8c3-1227-af6912cfa793/ExtCompT, /system/lib]]] couldn't find "libru_mal_utilities.so


В ошибке указаны >> ru_mal_utilities.apk и libru_mal_utilities.so << а у меня другие апк и со.
скорей всего ошибка кеша.
У вас две моих библиотеки?
21. user833146 17.02.22 17:21 Сейчас в теме
Всем привет. Не получается запустить HTTP сервер (ПодключитьВнешнююКомпоненту) на устройстве.

- Смартфон с android 12.
- 1С:Предприятие 8.3 (8.3.20.1613) - платформа разработки моб. приложения (совместимость Версия 8.3.19)
- 1C:Предприятие 8.3 (8.3.19.59) - моб платформа
- Макет - "внешняя компонента", взял из приложенной cf.

Не проходит в строке: "ПодключитьВнешнююКомпоненту("ОбщийМакет.Макет", "rumalhttpserver", ТипВнешнейКомпоненты.Native)"

Если я правильно понял на счет "ANDROID_MANIFEST_EXTENSIONS.XML",
создал по образцу, добавил <uses-permission android:name="android.permission.INTERNET" />
добавил в архив компоненты, снова загрузил, не сработало...

Если есть идеи буду рад....
22. SanyMaga 66 18.02.22 09:13 Сейчас в теме
Во время настройки Web-публикации следует провести следующее действие. В настройках http-сервера необходимо добавить типы MIME для следующих расширений:

.so
.apk
Тип MIME: application/octet-stream/.

(21)
23. sssmeta 18.02.22 11:04 Сейчас в теме
(22) Да, я видел это в описании, но пока чего-то туплю...Скорее всего я не так что-то делаю, может я не там их прописываю?

"Во время настройки Web-публикации" - имеется ввиду публикации приложения? (Конфигурация->МобильноеПриложение->Публиковать)?
И не очень понял как связано "ПодключитьВнешнююКомпоненту" и настройки Apache.

1) Прописал в "Apache2.2\conf\mime.types" строку: "application/octet-stream bin dms lrf mar dist distz pkg bpk dump elc deploy so apk"

2) Прописал в "Apache2.2\conf\httpd.conf (примерно так)
LoadModule mime_module modules/mod_mime.so
TypesConfig conf/mime.types
AddType application/octet-stream .so .apk

3) Перезапустил Apache

4) Удалил старую публикацию приложения из "httpd.conf" и каталога публикации и из конфигуратора моб. приложения, опубликовал заново.

Если понимаете где мой косяк, подскажите чуть подробнее пожалуйста.
24. SanyMaga 66 18.02.22 13:38 Сейчас в теме
(23) с апачем не работал не знаю.

загрузка архивов внешних компонент в конфигурацию осуществляется в макеты с типом "Внешняя компонента"

https://its.1c.ru/db/metod8dev#content:3221:hdoc:_подготовка_внешних_компонент_для_за
25. igori3333 11 27.03.23 21:12 Сейчас в теме
Добрый, приобрел у вас данную компоненту. К сожалению работает только на 32 битных процессорах. Сможете как-то выслать компоненту для 64?
26. igori3333 11 27.03.23 21:24 Сейчас в теме
Или подскажите как пересобрать исходник для apk и so под 64 бита
27. SanyMaga 66 30.03.23 09:59 Сейчас в теме
(26)
У меня нет под рукой студии(не установлена и поставить не могу).
По моему где то в настройках студии нужно установить процессор 64 бита или поддержку 64 бита и пересобрать проект.
29. igori3333 11 10.04.23 13:31 Сейчас в теме
(28) Спасибо. Уже разобрался. В общем хотел поделиться процессом решения на своём аппарате (Xiaomi 11T).
1) Скачал и установил Android Studio 2019 года.
1.1) Загрузил проект, у меня лично была ошибка установки NDK в gradle, но это быстро решилось. После загрузки пересобрал с настройкой варианта сборки (build Variants) для разной разрядности
2) В самом проекте в папке "app\build\intermediates\stripped_native_libs\debug\out\lib\­" есть файлы so, я их перенес в каталог макета компоненты
и добавил к наименованию их разрядность. В итоге сам каталог должен содержать файлы согласно xml манифеста
<?xml version="1.0" encoding="UTF-8"?>
<bundle name="ru_mal_httpserver" xmlns="http://v8.1c.ru/8.2/addin/bundle">
<component arch="ARM" type="native" codeType="c++" path="libru_mal_httpserver_ARM.so" os="Android"/>
<component arch="ARM" type="native" codeType="java" path="ru_mal_httpserver.apk" os="Android"/>
<component arch="ARM64" type="native" codeType="c++" path="libru_mal_httpserver_ARM64.so" os="Android"/>
<component arch="ARM64" type="native" codeType="java" path="ru_mal_httpserver.apk" os="Android"/>
<component arch="i386" type="native" codeType="c++" path="libru_mal_httpserver_x86.so" os="Android"/>
<component arch="i386" type="native" codeType="java" path="ru_mal_httpserver.apk" os="Android"/>
<component arch="x86_64" type="native" codeType="c++" path="libru_mal_httpserver_x64.so" os="Android"/>
<component arch="x86_64" type="native" codeType="java" path="ru_mal_httpserver.apk" os="Android"/>
</bundle>
3) Запаковал их в zip и перекинул в макет конфигурации и так заработало под arm64
31. SanyMaga 66 26.04.23 13:16 Сейчас в теме
Оставьте свое сообщение

См. также

Что нам стоит бота построить? Нарисуем - будет жить! Графический конструктор телеграм-ботов

Мобильная разработка Мессенджеры и боты Платформа 1С v8.3 Платные (руб)

Теперь создать telegram-бота - элементарно. Достаточно просто нарисовать блок-схему телеграм-бота, и он сразу заработает. Это возможно при использовании Графического конструктора телеграм-ботов. Это единственный конструктор ботов для telegram, чье качество и функционал подтверждены фирмой 1С (есть сертификат 1С:Совместимо) и специалистами ООО "Инфостарт" (см. комментарии). Расширение в интерактивном режиме, с помощью блок-схем, позволяет с минимальными трудозатратами создать телеграм-ботов в любой конфигурации, работающей на платформе «1С:Предприятие 8.3».

13200 руб.

27.12.2021    24209    60    123    

150

"Штрихкод-информер" - мобильный ТСД и прайс-чекер в смартфоне

Мобильная разработка Сканер штрих-кода Терминал сбора данных Розничная торговля Управляемые формы Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Управленческий учет Платные (руб)

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

2880 руб.

03.12.2018    47761    100    98    

135

"Мобильный ТСД" - инвентаризация и сбор штрихкодов для iOS и Android

Сканер штрих-кода Терминал сбора данных Мобильная разработка Монитор заказов Оптовая торговля Розничная торговля Ценообразование, анализ цен Платформа 1С v8.3 Мобильная платформа 1С:Розница 2 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х Розничная и сетевая торговля (FMCG) Оптовая торговля, дистрибуция, логистика Управленческий учет Платные (руб)

Простой мобильный терминал сбора данных для смартфонов на iOS и Android, не требующий сложных настроек и установки дополнительных программ. Обмен между Вашей 1С и мобильным приложением осуществляется через облачный сервис и расширение конфигурации. Работает с конфигурациями УТ 11, ERP, КА2, Розница 2, Розница 3, УНФ 1.6, УНФ 3.0. Полнофункциональный демо-доступ для своей конфигурации можно запросить в настройках мобильного приложения - все необходимое придет на почту автоматически.

2000 руб.

22.04.2019    82633    412    185    

260

GGraphics - внешняя компонента для работы с картинками jpg (jpeg), png, bmp, gif, tif

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Позволяет автоматизировать работу с картинками. С помощью компоненты можно измерять размер изображений, поворачивать их, наносить водяные знаки, конвертировать из одного формата в другой. Будет очень полезна для интернет-магазинов и всех, кому постоянно требуется работать с различными графическими форматами. Выполнена по технологии NativeAPI. Работает с форматами: jpg (jpeg), png, bmp, gif, tif

3600 руб.

02.09.2010    72530    71    253    

187

Внешняя компонента для сканирования (замена TWAIN-компоненты БСП) (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет работать c TWAIN-совместимым оборудованием (сканерами, камерами) . Полностью совместима со стандартной TWAIN-компонентой из БСП и может применяться как ее замена без изменения вызовов, при этом может работать с 64-разрядной платформой, а так же имеет расширенную функциональность, например, сохранение результата непосредственно в PDF без использования сторонних утилит. Прекрасно работает на сервере, тонком клиенте и веб-клиенте (проверена работа в браузерах Google Chrome, Mozilla Firefox и Microsoft Internet Explorer). Работа с PDF основана на проекте PDFium из состава проекта Chromium/Chrome, для работы с TWAIN использован свободный проект twpp https://github.com/xricht17/twpp.

2400 руб.

12.05.2020    21331    110    84    

68

Внешняя компонента печати PDF (Native Win 32/64)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента позволяет печатать PDF файлы непосредственно из 1С, не используя при этом сторонних программ. Прекрасно работает на сервере, тонком клиенте и веб-клиенте. Основана на проекте PDFium из состава проекта Chromium/Chrome

1500 руб.

17.09.2018    31550    95    121    

102

Склад 15 - программа для подключения ТСД к 1С

Учет ТМЦ Сканер штрих-кода Терминал сбора данных Мобильная разработка Платформа 1С v8.3 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 Россия Бухгалтерский учет Управленческий учет Платные (руб)

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

3450 руб.

28.04.2023    4229    2    0    

1

Внешняя компонента WebSocket для 1С (c поддержкой Authorization token bearer)

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Внешняя компонента в виде библиотеки (.dll файл), позволяющая посылать команды и получать ответы по протоколу WebSocket из 1С. Компонента работает только на стороне "клиента".

4440 руб.

22.06.2020    13613    9    26    

14

Внешняя компонента для подключения 1С к телефонии Asterisk

Разработка внешних компонент Телефония, SIP Платформа 1С v8.3 Конфигурации 1cv8 Россия Платные (руб)

Внешняя компонента выполнена по технологии Native API для 1С 8.х, обеспечивает доступ к программным АТС Asterisk (FreePBX, Elastix) через AMI интерфейс. Через него можно управлять многими функциями Asterisk (определение номеров, перевод звонков, набор телефона и т. д.)

1200 руб.

04.05.2018    41276    104    64    

55

Разработка внешней компоненты по технологии Native API. Мониторинг файловой системы в 1С

Разработка внешних компонент Платформа 1С v8.3 Россия Абонемент ($m)

Пример разработки внешней компоненты по технологии Native API для мониторинга выбранной папки файловой системы (изменение, переименование, удаление) файлов.

1 стартмани

12.03.2023    5123    4    binx    3    

45

Пишем внешнюю компоненту для 1С, NativeAPI на С++, для ОС Linux, с использованием Qt Creator

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Россия Абонемент ($m)

В статье рассмотрен процесс создания внешней компоненты для 1С в среде Qt Creator для операционной системы Linux (ubuntu, debian, mint и им подобных). На примере компоненты для сбора данных от внешней аппаратуры и сохранение их в базе, посредством 1С. В качестве внешней аппаратуры в данном примере будем использовать Arduino UNO.

1 стартмани

13.05.2022    8869    5    user1779098    34    

61

Делаем табло в обозревателе из 1Ски с нуля за полчаса. Без бутстрапов, реактов и ангуляров. Жизнетрюки от kuzkov.info

Разработка внешних компонент WEB-интеграция Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

02.05.2022    9701    127    Steelvan    0    

67

Настройка рабочего места для мобильной и веб-разработки в 1С для самых маленьких

Мобильная разработка Мобильная платформа Россия Бесплатно (free)

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

18.04.2022    8887    AntonChausov    16    

110

Мобильное приложение на 1С без никого... За полчаса...

Мобильная разработка Платформа 1С v8.3 Бесплатно (free)

Мобильное приложение на коленке за полчаса без никого...

27.10.2021    18234    starik-2005    62    

131

Мобильное приложение на 1С?

О жизни Мобильная разработка Мотивация, лидерство и личная эффективность Бесплатно (free)

История одного программиста, как он пришел в мир 1С и какой проделал путь к «мобильной платформе 1С». Какие выводы он для себя сделал, поработав с «мобильной платформой 1С».

18.05.2021    10070    dsdred    91    

52

Режим дополненной реальности ActiveCV и его применение в конфигурациях. UPD:Добавил еще один пример

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

Новый режим дополненной реальности/компьютерного зрения может дополнить или даже заменить традиционный интерфейс – он организует непрерывный процесс работы в котором с видеопотока снимается все необходимое , обрабатывается в обработчиках и тут же рисуется на видеопотоке (как бы в дополненной реальности). Можно использовать как в онлайн-конфигурациях с обработкой в 1С, так и самостоятельных конфигурациях с обработчиками на Python. Настоящая статья является дополнением к основной статье по платформе Simple UI https://infostart.ru/public/1153616/

1 стартмани

20.04.2021    6278    informa1555    15    

86

Звуковое управление в 1С 8.3

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

В данной статье описано создание библиотеки для звукового управления (выполнение команд голосом) для платформы 1С 8.3. Задача была поставлена так, чтобы модуль функционировал непосредственно на клиенте 1С, осуществляя управление формами, и взаимодействовал с интерфейсом.

16.03.2021    10434    velemir    36    

81

Дневник времени. Простое мобильное приложение 1С для телефона на Андроид

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

Дневник времени. Для адептов тайм-менеджмента и всех тех, кто ценит свое время. Предназначен для ежедневных записей в телефоне расхода времени на различные задачи. Отчет по записям программы позволяет увидеть, сколько времени, на какие задачи расходовалось и проанализировать траты времени за месяц. Можно выгрузить записи в csv файл и анализировать на дескопном компьютере, например в Экселе. Можно составлять планы на день и отмечать, что удалось сделать, а что нет.

1 стартмани

12.03.2021    7169    6    pricec    1    

6

Ультрабюджетная автоматизация рабочих мест с Raspberry Pi. UPD добавлены исходники и новые функции

Мобильная разработка Платформа 1С v8.3 Бесплатно (free)

Речь идет не о полноценной замене 1С, а о так называемых АРМ-ах (или информационных киосках) для участков производства, складского учета, постов печати и других мест где требуется небольшой набор жестко регламентированных операций и не требуется всей сложности платформы (скорее даже наоборот – чем проще тем лучше). Условного говоря – «компьютер со сканером» или «киоск с тач-интерфейсом», но не на мобильном устройстве а в виде стационарного поста. Теперь доступны клиенты для Linux Debian (и заодно для Windows 64) для стационарных рабочих мест для платформы Simple UI. Т.е. экосистема включавшая до этого только мобильные устройства, расширена стационарными ПК и рабочими станциями на Arm и x86 архитектурах.

27.01.2021    18527    88    informa1555    50    

55

Внешняя компонента: Android tools

Мобильная разработка Разработка внешних компонент Платформа 1С v8.3 Мобильная платформа Абонемент ($m)

Несколько дополнительных функций для мобильного приложения\клиента под Android. Размер архива внешних компонент под архитектуры ARM и x86 - 390KB.

1 стартмани

12.01.2021    14297    39    KAV2    46    

16

GraphViz1С: внешняя компонента 1С Native API для построения графов

Разработка внешних компонент Платформа 1С v8.3 Конфигурации 1cv8 Бесплатно (free)

Внешняя компонента Native API для Windows с исходными кодами на C++ для построения графов посредством библиотеки GraphViz. Граф строится на основании текстового описания в формате dot. Реализован экспорт в большинство графических форматов. Поддерживаются версии платформы от 8.3.14 и выше до 8.3.18.

22.12.2020    10877    214    kandr    15    

66

[mobile] Переносим HTML интерфейс на 1С

Работа с интерфейсом Мобильная разработка Платформа 1С v8.3 Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

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

02.11.2020    13697    leobrn    82    

106

Использование встроенного сканера ТСД на Android в мобильном клиенте и мобильном приложении (драйвер сканера Android для 1С)

Разработка внешних компонент Мобильная разработка Платформа 1С v8.3 Абонемент ($m)

Используя данный драйвер, можно без единой строки кода, просто установив на ТСД мобильный клиент 1С, сразу начать подбирать товары в документах вашей учётной системы. А, адаптировав нужные формы под небольшой размер экрана ТСД, можно просто создать полноценное рабочее место для выполнения операций с помощью ТСД, не прибегая к стороннему софту. Если же на складе плохая связь (или её нет вовсе), то можно использовать возможности мобильного клиента в автономном режиме (потребуется доработка вашей конфигурации). Драйвер также можно использовать и для Android приложения на мобильной платформе. В результате чего можно обойтись без ненужных полей ввода и клавиатуры «на пол-экрана».

3 стартмани

09.10.2020    53158    378    ltfriend    221    

107

Мониторинг учетных записей пользователей Windows Server 2008/2012

Разработка внешних компонент Информационная безопасность Россия Абонемент ($m)

Программа позволяет отслеживать журнал событий безопасности действий над учетными записями пользователей (удаление, создание, блокировка, смена пароля и т.д.), и отправлять на E-mail уведомление системному администратору в случае изменения конфигурации пользователей Windows Server.

3 стартмани

10.09.2020    6891    0    ClickUp    0    

2

Безопасность мобильных приложений 1С, взгляд по диагонали

Информационная безопасность Мобильная разработка Мобильная платформа Конфигурации 1cv8 Бесплатно (free)

Что приходит первое в голову при словах «1С Предприятие»? Даже тем, кто далек от ИТ, представляется большущий компьютер (а тем, кто недалек, стойка двух-юнитных серверов), рядом слушает музыку сервера (как вариант просто музыку) сисадмин, за стеной в опен-спейсе менеджеры принимают заказы и бухгалтерия, сдающая отчетность. «Зарплата, зарплата!»: слышны их радостные крики. «И кадры»: уточняет HR. Да, все верно. Это 1С. Кто в теме, напомнит про крики не совсем приятные: «Все тормозит! Сделайте что-нибудь, #тыжпрограммист». И борющихся за живучесть ИТ-шников. В обычном офисном потоке дел, редко кто задумывается о безопасности. А тех, кто задумывается, прошу под кат…

05.06.2020    6122    capitan    34    

41

Как я собрал для себя высокопроизводительный и бесплатный облачный бекенд для 1С на PosgreSQL + PostgREST

HighLoad оптимизация WEB-интеграция Мобильная разработка Администрирование веб-серверов Платформа 1С v8.3 Бесплатно (free)

В этой статье я расскажу о проблемах бека для мобильных приложений или другого фронта, который требует производительности, быстрой реакции и отказоустойчивости, и как я решил это благодаря opensource проекту PostgREST и СУБД Postgre SQL 12. Проведу простой тест производительности для сравнения 1С с данным решением. Это может быть полезно всем, кто разрабатывает мобильные приложения либо фронтсайд-приложения для 1С на чем угодно - на мобильной платформе или на нативном языке или на Simple UI. И также обзор новых функций SimpleUI для связи с этим бекендом.

31.03.2020    18560    informa1555    35    

150

Конвертация PDF в 1С

Разработка внешних компонент Абонемент ($m)

COM-компонента для работы с PDF (32/64 bit)

4 стартмани

31.03.2020    32641    157    SerVer1C    143    

77

Простой и красивый интерфейс

Работа с интерфейсом Мобильная разработка Мобильная платформа Бесплатно (free)

Разработчики мобильных приложений на платформе 1С сталкиваются с проблемой адаптации сгенерированного платформой интерфейса под удобство использования. О том, какие приемы помогут сделать интерфейс красивым и удобным, на конференции Infostart Event 2019 Inception рассказал руководитель отдела мобильной разработки компании «1С-Рарус» Никита Бакшеев.

30.01.2020    20906    Baksheev-Nikita    36    

109

Simple UI: простой конструктор мобильных приложений для устройств на Android. Обновление от 20.04.23

Мобильная разработка Платформа 1С v8.3 Управленческий учет Абонемент ($m)

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

1 стартмани

14.11.2019    47762    455    informa1555    252    

190

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

Мобильная разработка Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

1 стартмани

22.10.2019    20513    10    Kosigo    11    

78

Маленькая и скромная мобильная внешняя компонента

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

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

1 стартмани

21.10.2019    21687    18    ripreal1    34    

67

Native внешняя компонента для оповещения по UDP или TCP

Разработка внешних компонент Платформа 1С v8.3 Абонемент ($m)

Native внешняя компонента для оповещения по UDP или TCP, которая реализует возможность в 1С передавать сообщения с сервера на клиента. Исходный код компоненты также представлен.

1 стартмани

06.10.2019    23119    50    vdv2701    40    

48

Как разработать успешное мобильное приложение на платформе 1С

Мобильная разработка Мобильная платформа Бесплатно (free)

Мобильные приложения становятся все популярнее, но многие программисты считают, что создавать их не сложнее, чем настольные. В итоге появляются продукты, которые не приносят разработчикам ни удовольствия, ни денег. Какие особенности надо учитывать при разработке мобильного приложения, в главное – как добиться, чтобы оно было прибыльным, участникам конференции Infostart Event 2018 Education рассказал руководитель отдела мобильной разработки на платформе 1С в компании 1С-Рарус Никита Бакшеев.

09.08.2019    13089    Baksheev-Nikita    10    

55

PinkRabbitMQ - Native API компонента 1С с открытым исходным кодом, для обмена сообщениями через RabbitMQ

Разработка внешних компонент Платформа 1С v8.3 Бесплатно (free)

PinkRabbitMQ представляет собой Native API компоненту для 1С Предприятия 8 (Windows 32bit и 64bit) с открытым исходным кодом на с++ (можно собрать компоненту самостоятельно). PinkRabbitMQ это низкоуровневая компонента которая реализует обмен по протоколу AMQP с брокером сообщений RabbitMQ. Для организации высокоуровнего обмена между информационными базами предназначен Адаптер. Компонента разрабатывается в рамках проекта Адаптер.

29.07.2019    39078    1856    Begemoth80    255    

206

Мобильный клиент 1С

Мобильная разработка Мобильная платформа Бесплатно (free)

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

12.07.2019    34744    DitriX    32    

56

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

Мобильная разработка Бюджетирование и планирование Платформа 1С v8.3 Мобильная платформа Домашние учет и финансы Россия Управленческий учет Абонемент ($m)

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

1 стартмани

06.06.2019    20837    54    vasilievil    6    

45