|
Пожамкайте апп? Андроид-камера в сканер штрихкодов для 1С | ☑ | ||
---|---|---|---|---|
0
Sapiens_bru
30.10.17
✎
19:04
|
Уже второй месяц приобщаюсь к программированию не только под 1С, начал с андроида. Прошу посмотреть, пользоваться если нужно и прокомментировать результаты.
https://yadi.sk/d/Sw_pHf8i3PEdXj По ссылке архив. В нём 2 файла. Barcode_server.exe запускаем на компе, он выводит список IP адресов компа. Нужный запоминаем (Необязательно) В любом браузере проверяем http://ХХХ.ХХХ.ХХХ.ХХХ:4242 , где ХХХ.ХХХ.ХХХ.ХХХ - адрес компа на котором запущено ПО-сервер. Если не видим ответа "Barcode server ready", даем доступ к порту 4242 в брэндмауре. Barcode_scanner.app запускаем на смартфоне. Вводим IP компа на котором запущен сервер. Жмем скан. Сканим Результаты сканирования будут передаваться на комп в виде событий клавиатуры, аналогично работе беспроводного клавиатурного сканера. Понимает только цифры! Можно подключать к типовым 1С с помощью типового обработчика Сканер 1С(Native-Api) и к любым программам поддерживающим работу с клавиатурными сканерами, а так же сканить в блокнот, ворд или куда угодно. Оба приложения бесплатны и открыты, написаны с использованием открытых компонент. Можно брать себе, переписывать, продавать итд. Ссылки на исходный код: https://github.com/Sapiens-bru/WifiBarcodeScanner https://github.com/Sapiens-bru/WifiBarcodeServer Кто пожелает протестировать апп, пишите свои комментарии сюда или на почту [email protected] . Если вам в работе нужно приложение подобного типа, также пишите. Попытаюсь реализовать пожелания в порядке самообучения. |
|||
1
Woldemar177
30.10.17
✎
19:14
|
(0) а можно сделать чтоб сканировало 2д из медицинских полисов?
|
|||
2
Sapiens_bru
30.10.17
✎
19:18
|
(1)Можно. Нужно знать таблицу всех возможных символов в этом коде, или их Alt-Num варианты.
Например если зажать Alt и на нумпаде набрать 155 - получится буква "Ы" |
|||
3
Woldemar177
30.10.17
✎
19:23
|
Делай. Это реальная победа. Сотни программистов из медицины тебе будут благодарны. Я бы даже денег заплатил.
|
|||
4
Злопчинский
30.10.17
✎
19:27
|
А аналогичное приложение от Serginio смотрел? Лежит на ИС
|
|||
5
Sapiens_bru
30.10.17
✎
19:28
|
(3)Денег не надо.
Скинь на почту [email protected] несколько кодов из полисов. Можно сфотографировать на телефон. И результат их расшифровки. Добавлю этот функционал серверу. Простые EAN 13 коды найти не проблема, а что за медицинские я понятия не имею. |
|||
6
Sapiens_bru
30.10.17
✎
19:34
|
(4) Нашел их с десяток разной степени крутости. Все безусловно рабочие и все лучше моего. Но все просили денег так или иначе, или рекламу показывали. Опенсорса не нашел в принципе, только буржуйский пример на C#.
На Инфостарте у Serginio не вижу подобного. В любом случае я потратил с пользой 3 вечера. Может кому поможет сэкономить эти три вечера на разработке чего-то коммерчески применимого |
|||
7
Cyberhawk
30.10.17
✎
19:58
|
Без видео с демонстрацией лениво читать
|
|||
8
Злопчинский
30.10.17
✎
20:03
|
(0) что будет если связь отвалилась? Будут ли буферизироваться насканированные коды и будут ли сливаться на сервер при восстановлении связи?
|
|||
9
Злопчинский
30.10.17
✎
20:04
|
(0) обратная связь от сервера на клиента есть? Что позволяет делать?
|
|||
10
Sapiens_bru
30.10.17
✎
20:30
|
(0) буфера нет. Сама идея сканера штрихкодов не подразумевает буфер. Реализовать несложно, но как должно реагировать клиентское приложение на внезапно свалившиеся из буфера данные?
|
|||
11
Sapiens_bru
30.10.17
✎
20:33
|
(9) Обратная связь возможна, но конкретно в этом аппе ее нет. Вставлю обратную связь в виде ответа "штрихкод принят" в следующем обновлении.
Вообще можно сделать например апп-прайсчекер или апп-тсд. Их тоже немало написано. |
|||
12
Злопчинский
30.10.17
✎
22:13
|
(10) как реагировать - это вы уж разбирайтесь, обеспечьте чтобы реакция на свалившиеся из буфера данные была эквивалентна реакции последовательных данных обычной работы
|
|||
13
Злопчинский
30.10.17
✎
22:17
|
(11) если приложение работает только при наличии постоянного канала связи - зачем это морочить отдельной прокладкоц вместо организации при постояннои канале связи прямого рдп в базу с использованием простенькой лёгкой родной формы для приемки и обработки штрих-кода? И при этом вдобавок ещё и обратную реакцию обеспечить с любой логикой?
|
|||
14
Sapiens_bru
31.10.17
✎
02:05
|
(12)Вас куда-то не туда несёт
Возьмём простой пример: Магазин одежды продает при помощи розницы 2.2 базовой мне кнопки. СканерШК, не сработал потому что перегружался роутер. Продавец нашла товар по артикулу и продала мне. Открывает второй чек и в это время прилетает штрихкод носок. Бред же. СканШК это не письмо электронной почты. Не пришел сразу - не должен вообще прийти. |
|||
15
Sapiens_bru
31.10.17
✎
02:06
|
(14) Чертов т9.
|
|||
16
Sapiens_bru
31.10.17
✎
02:11
|
(13) Чтобы обеспечить обратную связь нужно знать в какую базу идёт скан. 99.99% программ не дают сканеруШК обратной связи. Какую обратную связь должен дать Блокнот в который я сканирую ШК?
|
|||
17
Sapiens_bru
31.10.17
✎
02:16
|
Ещё раз. Этот набор программ эмулирует поведение Сканера штрихкодов. Не ТСД, не прайсчекера, не РМК. А простого сканера. Как например honeywell 1202g и ему подобных.
|
|||
18
Злопчинский
31.10.17
✎
10:26
|
(14) по крайней мере в таком случае приложение на дивайсе должно сигнализировать юзверю большие алярмы цветом и звуком что сканирование не прошло по каналу связи.
А то стоит сборщик, штук 40 товара отжмакал и тут оказывается что в самом начале канал связи отвалился |
|||
19
Злопчинский
31.10.17
✎
10:27
|
(16) ну так и напиши тогда что прога предназначена для сбора штрих-кодов и ничего более
|
|||
20
Злопчинский
31.10.17
✎
10:28
|
(17) ага, это простой эмулятор сканирования штрих-кода...
|
|||
21
Sapiens_bru
31.10.17
✎
10:44
|
(14) Об этом я написал в (11). Сегодня сделаю. Спасибо за наводку.
(16)(17) Об этом написано в (0) |
|||
22
Tatitutu
31.10.17
✎
10:45
|
(0) Barcode_server.exe запустил
выдал только одни IP адрес без указания портов и этот "адрес" занят Апачем что делать ? |
|||
23
Tatitutu
31.10.17
✎
10:46
|
(0) идея нравится - прикручу к MAGAZKA
готов к поддержке и тестам |
|||
24
Tatitutu
31.10.17
✎
10:55
|
в apk на первом окне
где вводишь IP - нужно добавить какую то проверку подключился ты ли нет (непонятно) и сообщение добавь чтобы WI-FI нужно включить сканирование Штрихкода немного подвисает ("окошко" прилипает к штрихкоду) тоже выводи сообщением (надпись - штрихкод 1234567890123 считан, передан или ошибка чтения) |
|||
25
Tatitutu
31.10.17
✎
10:56
|
+(24) Иконку приложению добавь в ПЕРВУЮ ОЧЕРЕДЬ - чтобы кравиво было и над названием подумай
WiFi Barcode Scanner а не WiFiBarcodeSc anner |
|||
26
Sapiens_bru
31.10.17
✎
11:13
|
(22) Апачем занят порт 80 или 443(если с ssl), б_сервер занимает 4242. Графические интерфейсы на яве я еще не умею. Научусь какому-нить свингу, сделаю приличное приложение на сервер. Чтобы порт выбирался, доступ от брендмауэра запрашивался, чтобы в трей сворачивался итд. Чтобы сетап был с выбором ставить как службу или как приложение. Мой опыт работы на яве меньше недели. позавчера узнал что такое jar :)
(24) ок, сегодня сделаю (25) ок, сегодня сделаю |
|||
27
Sapiens_bru
31.10.17
✎
11:15
|
(24) Штрихкод "прилипает" из-за фриза камеры. Камеру подмораживаю специально, иначе она успевает штрихкод раз 10 за секунду считать, передавая его многократно. Подумаю как можно это ограничить без фриза
|
|||
28
Philix
31.10.17
✎
11:24
|
(27) У Metrologic-ов в давности была следующая логика: блокировалась передача одинаковых ШК в интервале (если память не изменяет - примерно 1 сек). А разные ШК мы для тестов на лист распечатывали и сканировали за секунду штук 5-7.
Т.е. сканер помнит последний считанный ШК и не отдает его слишком часто. |
|||
29
Sapiens_bru
31.10.17
✎
11:32
|
(28)Отличная идея. Заодно научусь работать с часами в адроиде.
|
|||
30
Sapiens_bru
31.10.17
✎
20:03
|
(0) https://yadi.sk/d/SW3MO0u_3PH3q8
* Переименовал приложение красиво * Добавил иконку приложению, изменил иконку сервера * Добавил кнопку проверки связи в приложение * Изменил таймаут ожидания ответа от сервера с стандартных 10 секунд на 2 * Добавил стандартный звук сканирования (пик) при успешной передаче на сервер, звук ошибки (пиу-пиу-пиу) при неудачной передаче. * Теперь один и тот же штрихкод можно сканировать не чаще чем раз в секунду, камера не фризится после скана |
|||
31
ejikbeznojek
31.10.17
✎
23:44
|
А у меня ни 1 шк не считался. мб камера слишком плохая завтра на работе стрельну к кого-нибудь нормальный телефон
|
|||
32
etc
01.11.17
✎
00:09
|
Напомнило DataWedge для моторолловских ТСД с плагином IPWedge. Тот же принцип.
|
|||
33
Злопчинский
01.11.17
✎
00:21
|
(31) угу, и обязательно расскажи как получится 2-3 скана штрихкодов в секунду сделать
|
|||
34
Sapiens_bru
01.11.17
✎
04:09
|
(33) Подключал штук 50 разных сканеров шк , камера самого навороченного смартфона рядом не лежала с самым хреновым сканером. Но иногда бывает что сканера нет, а смартфон есть. Бывает, что штрихкод на экране, а image сканера нет. Бывает что штрихкод на большой коробке и в длину сантиметров 20, а глубина сканирования имеющегося сканера не позволяет видеть шк с расстояния в полметра. При всем при этом штрихкод не дублирован цифрами оказался. Вот тут бы и пригодился апп эмулирующий работу сканера шк, пускай не 2-3 в секунду а один в 5 секунд
|
|||
35
YuryVG
07.11.17
✎
17:18
|
А попробовать внешний сканер смартфону подключить нет желания? Как в этом решении http://interestingsolutions.ru/BarCodeHarvester.aspx .
|
|||
36
Sapiens_bru
07.11.17
✎
17:48
|
(35)Не увидел в том решении работы с внешним сканером ШК. Реализовать подобную работу можно элементарно, внешние BlueTooth сканеры андроидом опознаются как клавиатура. Поймать событие клавиатуры и передать его серверу даже проще чем поймать событие камеры.
В приведенном примере коммерческая разработка, автор которой потратил десятки, возможно сотни часов на каждую из 2х компонент. Моя разработка не коммерческая, сделана в сумме часов за 20 абсолютным новичком в этой области. Весь код выложен в общий доступ. Может быть склонирован подходящей IDE и доработан, либо использован как пример для изучения. При этом приложение работает так как заявлено. ЗЫ. Если Вы хотите использовать внешние сканеры для подобной задачи (например приложение на планшете ходящее по HTTP в вашу базу 1С за новостями о товаре и сразу к товару что-то дописывающее) пишите в почту, расскажу(бесплатно) как я бы это сделал, либо сделаю(в обмен на планшет и сканер... тестить то надо на чем-то) |
|||
37
spydex
24.11.17
✎
14:50
|
(36) Харвестер прекрасно работает с внешним сканером, на сайте указано что с ним будет максимально быстро работать. Там даже срабатывает авто блокировка экрана, как когда телефон при разговоре к уху подносишь. Кстати, очень даже удобная программка.
|
|||
38
Адинэснег
24.11.17
✎
15:20
|
https://its.1c.ru/db/v8311doc#bookmark:dev:TI000001452
// Обработчик команды формы ОткрытьИнтерфейсСканирования &НаКлиенте Процедура ОткрытьИнтерфейсСканирования(Команда) ОбработчикСканирования = Новый ОписаниеОповещения("ОбработкаСканирования", ЭтотОбъект); ОбработчикЗакрытия = Новый ОписаниеОповещения("ОбработкаЗакрытияИнтерфейса", ЭтотОбъект); СредстваМультимедиа.ПоказатьСканированиеШтрихКодов("Наведите камеру на штрихкод", ОбработчикСканирования, ОбработчикЗакрытия); КонецПроцедуры &НаКлиенте Процедура ОбработкаСканирования(Штрихкод, Результат, Сообщение, ДополнительныеПараметры) Экспорт Если Результат Тогда Текст = "" + Штрихкод; Иначе Текст = "Ошибка: " + Сообщение; КонецЕсли; Если ЗакрытьИнтерфейс Тогда СредстваМультимедиа.ЗакрытьСканированиеШтрихКодов(); КонецЕсли; Сообщить(Текст); КонецПроцедуры &НаКлиенте Процедура ОбработкаЗакрытияИнтерфейса(ДополнительныеПараметры) Экспорт Сообщить("Закрывается интерфейс сканирования"); КонецПроцедуры &НаКлиенте Процедура ПриОткрытии(Отказ) Если НЕ СредстваМультимедиа.ПоддерживаетсяСканированиеШтрихКодов() Тогда ВызватьИсключение "Сканирование штрихкодов не поддерживается"; КонецЕсли; ЗакрытьИнтерфейс = Ложь; КонецПроцедуры |
|||
39
Kuzmich123
24.11.17
✎
17:01
|
(0) Подскажи, с чего начинал изучать программирование под андройд. Какие книги, ресурсы?
|
|||
40
romix
24.11.17
✎
18:28
|
(0) Здорово, спасибо - а RS-232 порт эмулировать тоже умеет? Я не уверен, но вроде бы с ним пользователю интерфейсно лучше (не надо позиционировать курсор в текстовое поле).
(39) Я вот думаю тоже что-нибудь поделать, закупил книжку, но там много букв. :-) Старею... |
|||
41
Sapiens_bru
26.11.17
✎
16:21
|
(39) Со скачивания андроид студии. Дальше на самом сайте гугла есть краткая инструкция по запуску среды разработки и первого приложения. Много и интересно на русском дает http://developer.alexanderklimov.ru/android/
на английском есть хороший объем видеокурсов на сайте https://www.udacity.com , но там совсем для новичков в программировании. (40) Нет, не было такой цели. Вообще пользователю 1С и не нужно позиционировать курсор, достаточно в подключении оборудования указать, что сканер клавиатурный. |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |