1с сканировать qr код
Добрый день!
Может кто сталкивался. Нужно подключить сканер qr кода к УТ. Клиент приносит квитанцию с qr кодом, и нам нужно её обработать. Как понимаю, подключить сам сканер - не проблема. А что дальше? Есть ли какие-нибудь стандартные механизмы? Как это вообще все работает? В нете инфы не густо. Я пока совсем не в теме, поэтому сильно не пинайте.
(0) там записана скорее всего тектовая информация - сначала прочти любым сканером qr-кода (хоть мобильником)
подумай что ты можешь сделать с этой строкой в 1С - какая обработка требуется.
можно открыть обычный блокнот и сосканировать код, увидишь что передаётся
в 1с точно также прилетит строка, а дальше уже сам пишешь для неё обработку
Писал же, что клиент приносит квитанцию с qr кодом. Там лицевой счет, ФИО плательщика и тд. Я пытаюсь узнать, реализовано ли что либо подобное в типовой конфе УТ. Чтобы документ заполнялся по QR коду. Может туплю, не отрицаю)
(8) я то отлично знаю, что прилетает. С телефона сканировал, тк самого сканера пока нет. Вопрос в том, что дальше с этими данными делать. Как и в каком месте их перехватывать в коде, чтобы потом разнести по реквизитам.
(9) Там где перехватывают простой ШК, и анализируй - если на это ШК обрабатывай как ШК, если там "Там лицевой счет, ФИО плательщика и тд." парсь строку и разсовывай по реквизитам, в типовой этого нет, потому что это не типовая ситуация
(9) Да кто же тебя знает как. Если сканер в разрыв клавиатуры - это одно. Просто организуешь поле ввода и сканируешь код.
Если у тебя он с драйверами, то через обработчик событий. Есть предопределенная процедура куда прилетит твой код. А дальше ты его обрабатываешь.
Установи на смартфон любое приложение, распознающее QR-код. Считай смартфоном код с одного документа и посмотри, что за инфа в нём содержится. Сам QR-код в этой же базе генерируется?
(13) работа с qr кодом физически нечем не отличается от работы с штрих-кодом. Т.е. все что ты читал про обработку штрих-кода в 1с будет справедливо и для qr. Используются теже обработчики и процедуры
Анализ вариантов показывает три возможных решения:
- Использование существующего мобильного приложения
- Создание собственного мобильного приложения на 1С
- Совмещенный вариант
Рассмотрим каждый подробнее.
1. Использование существующего мобильного приложения.
Анализ рынка в магазинах приложений показывает, что большинство существующих сканеров распознают QR-коды плохо, и лишь отдельные делают это на удивление моментально. А умеют отправлять данные на сервер - единицы. Рассмотрим реализацию на примере одного такого приложения: "Штрихкод Коммандер"
Подготовка серверной части
Проверяем, что брандмауэр и/или антивирус не мешают подключению к сервису.
Подготовка клиентской части
Устанавливаем приложение на мобильное устройство:
Переходим в настройки и включаем переключатель: "Веб-сервер". Указываем свой сервер в поле "Адрес URL" (в примере выше это был: "http://192.168.0.1/MyWS/hs/barcode/"). При необходимости вводим логин и пароль от базы 1С. При желании корректируем остальные настройки.
Вы, наверное, удивитесь, но на этом все! Сканируем и радуемся!
2. Создание собственного мобильного приложения на 1С
Подготовка серверной части
На сервере в 1С создаем метод web-сервиса и описываем алгоритм обработки полученного QR-кода. Пример:
Подготовка клиентской части
У 1С есть встроенные методы по сканированию штрихкодов, что значительно облегчает разработку. Пример:
Преимуществом данного варианта является гибкость и возможность реализации дополнительных требований к мобильному приложению. Но, к сожалению, качество сканирования при этом страдает. По сравнению с аналогами в магазинах приложений, сканер от 1С сканирует значительно хуже, медленнее, а иногда вообще не распознает QR-код. Также страдает и итоговый объем приложения, так как вместе с ним на мобильное устройство устанавливается и платформа 1С, которая занимает в несколько раз больше места.
Сравнение мобильных технологий сканирования штрихкодов приведены в следующей статье .
3. Совмещенный вариант
Данный вариант является попыткой использовать преимущества предыдущих двух вариантов: гибкости собственного мобильного приложения и хорошего сканера из магазина приложений. Реализация заключается в создании мобильного приложения на 1С, которое реализует весь необходимый функционал, в том числе и отправку данных на сервер, а сканирование QR-кода поручает выполнить другому приложению, предварительно установленному на устройстве.
Рассмотрим реализацию на примере того же приложения:
Отправка данных на сервер рассмотрена достаточно подробно, поэтому остановимся лишь на моменте взаимодействия с другим мобильным приложением. Пример:
К недостаткам данного варианта можно отнести необходимость установки двух мобильных приложений и относительно большое занимаемое место на мобильном устройстве.
Надеюсь, что изложенный материал ответит на некоторые ваши вопросы и поможет в автоматизации сканирования штрихкодов.
Не так давно возникла потребность сканирования QR-кодов из 1С. Аппаратные сканеры, распознающие QR-коды, стоят бешенных денег, поэтому было решено использовать веб-камеру, которая сейчас есть в каждом ноутбуке. А если даже и нет, то докупить внешнюю USB-вебку не сложно, стоит она копейки (по сравнению со сканерами). Начал искать софт для этих целей, к моему удивлению готовых решений для этих целей оказалось не так-то много. Самым адекватным в использовании оказался ZBar, но он почему-то слишком долго инициализировался при запуске (порядка 10-20 секунд), а после 5-10 минут простоя просто зависал. Пришлось лезть в Visual Studio и самому делать нужный инструмент.
За основу был взят проект с сайта Codeproject и переделан под свои нужды. Сделано всё на основе библиотеки . Как пользоваться библиотекой написано здесь . По заявлению авторов библиотеки сканируются и распознаются следующие форматы кодов:
1D: CODABAR, CODE 39, CODE 93, CODE 128, EAN 8, EAN 13, ITF, MSI, PLESSEY, RSS 14, RSS EXPANDED, UPC-A, UPC-E,
2D: AZTEC, DATA MATRIX, MAXI CODE, PDF417, QR CODE
Не знаю как штрих-коды, но QR распознает более-менее нормально. С корость распознавания во многом зависит от освещения и от качества картинки вебкамеры, а также и от точки фокуса (особенно критично для штрих-кодов). Если носитель кода глянцевый, желательно чтобы не бликовал. Вобщем нужно наловчиться.
Как пользоваться:
Вариант 1: Если программу просто запустить, она будет просто сканировать коды и отображать результат в своем окне.
Вариант 2: Если при запуске в качестве параметра указать имя файла результата (например так: "QRWebCam.exe result.txt"), она распознает код, автоматически закроется, а результат запишет в указанный файл. Но к сожалению 1С-ная ф ункция ЗапуститьПриложение() не умеет запускать программы с параметрами (можно конечно через bat-файл, но лично меня смущает появляющееся черное консольное окно), поэтому был придуман вариант 3.
Вариант 3: В каталоге программы можно создать одноименный ini-файл (QRWebCam.ini) и прописать в нём путь и имя выходного файла - будет работать аналогично варианту 2, но запускать можно без параметров, результат сканирования будет помещен в прописанный файл. П ример содержимого ini-файла:
Внешняя компонента, поможет распознать штрих-код, используя обычную веб камеру. Умеет работать с UPC-A, UPC-E, EAN-8, EAN-13, Code 39, Code 128, QR Code, Interleaved 2 of 5, Codabar, RSS-14, Data Matrix, PDF 417, Aztec, MaxiCode.
Предисловие.
Несложно заметить, что на просторах интернета достаточно много разработок для генерирования штрих-кодов разного типа. Многие используются в качестве онлайн сервисов, другие - как отдельные приложения и, наконец - как внешние компоненты, в том числе и для 1С. Однако, последние, хоть и генерируются в 1С, распознаны ею уже не могут быть. Поиски решения как распознать штрих-код заняли много времени, и были безуспешны - поэтому было решено создать ActiveX для распознавания штрих-кодов.
Технология.Камера
Работа с камерой осуществляется с помощью библиотеки avicap32.dll. Благодаря ей же, реализован метод ПолучитьИмяУстройства ( Индекс ) возвращающий имя драйвера, который можно использовать для построения списка устройств ввода видео данных.
Технология.РаспознованиеШтрихКода
Изобретать велосипед незачем ,так как уже есть проверенные библиотеки распознавания:
MessagingToolkit Barcode*
*Библиотеки бесплатны для некоммерческого использования.
Выбор пал на последнюю, ввиду большей скорости обработки информации, однако замечу, что после множества тестов распознавания сложных штрих-кодов (таких как PDF 317 и CODE 128) процент ошибок ZXing был сравнительно ниже.
ВнешняяКомпонента.Использование
К сожалению, на момент написания статьи не удалось решить проблему использования одной библиотеки для обоих клиентов, поэтому чтобы использовать компонент в толстом клиенте используется Shakmaev.Decoder.dll, для тонкого Shakmaev. T Decoder.dll.
Для начала работы с компонентой убедитесь что на компьютере установлен Microsoft Framework 4.
Затем ее необходимо зарегистрировать выполнив команду:
%SystemRoot%\Microsoft.NET\Framework\v4.0.30319\RegAsm.exe ".\Shakmaev.Decoder.dll" /codebase
и скопировать файл avicap32.dll(сохраните старый файл, если он уже есть) в папку \Windows\System32.
Для облегчения работы в папке с ВК вы найдете BAT файл(Registry.bat), который поможет сделать все это автоматически.
[Толстый клиент]
[Тонкий клиент, Веб-клиент]
Любые действия, связанные с регистрацией компоненты, вы должны выполнять с правами администратора.
//Ошибка RegAsm : error RA0000: При записи регистрационной информации в реестр произошла ошибка.//
Cкорее всего, у вас нет прав доступа к ветке реестра HKEY_CLASSES_ROOT.
Алгоритм дейтвий такой:
1. Нажимаем Пуск - Выполнить
2. Пишем regedit и жмем Enter
3. Кликаем правой кнопкой мыши по ветке HKEY_CLASSES_ROOT и выбираем "Разрешения"
4. Выберите группу Администраторы
5. Убедитесь, пункт "Полный доступ" отмечен, в противном случае отметьте его.
6. Нажмите "Применить", и "ОК"
7. Установка должна пройти успешно. При необходимости перезагрузитесь.
//Ошибка RegAsm : error RA0000: Unable to locate input assembly. 'Путь в ковычках'//
Ошибка связана с тем, что программа регистрации не может найти файл библиотеки. Библиотека компоненты должна находиться в той же папке, что и bat файл.
Представляем 1С:Сканер Документов: мобильное приложение для сервиса 1С:Распознавание Документов.
Теперь бумажные документы можно вводить без доступа не только к сканеру, но даже к базе. Достаточно просто сфотографировать их новым мобильным приложением!
Для кого
Кому выгодно пользоваться мобильным приложением 1С:Сканер Документов:
- Бухгалтеру: для быстрого ввода документов без использования сканера;
- Предпринимателю: для передачи документов в бухгалтерию без личного контакта и пересылки по почте;
- Кладовщику: для ввода поступлений в базу в режиме реального времени;
- Водителю: для съемки документов без доступа к базе.
Как воспользоваться
Чтобы воспользоваться мобильным приложением:
Выберите приложение Бухгалтерия предприятия.
В главном меню выберите пункт Распознавание документов.
Укажите имя для мобильного приложения, чтобы легко находить автора фотографий.
Откройте мобильное приложение и нажмите кнопку с изображением QR-кода.
Расположите документ в кадре таким образом, чтобы он занимал как можно большую площадь снимка.
Вернитесь в список задач основного приложения.
Найдите сфотографированный документ в списке по значению в колонке Автор/Источник.
Читайте также: