Биометрия ANVIZ для отпечатков пальцев в 1с8

19.07.22

Интеграция - Периферийные устройства

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

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

Наименование Файл Версия Размер
down.zip
.zip 310,99Kb
60
.zip 310,99Kb 60 Скачать
Прокладка ANVIZ.EXE, поддерживающая UBIO и OA99 одновременно
.zip 786,69Kb
36
.zip 786,69Kb 36 Скачать
Опыт внедрения

Для нужд своих клиентов я внедрил биометрию на базе сканера ANVIZOA 99.

 

Выбор оборудования был обусловлен:

1.      Отсутствие платы за SDK. Т.е. можно разрабатывать любые программы, взаимодействующие со сканером бесплатно. В среднем SDK других производителей стоит 1000$.

2.      Отсутствие платы за лицензию на сканер при использовании собственных программ, разработанных на SDK. В среднем лицензия стоит 20$ на сканер.

3.      Известность бренда Anviz.

4.      Принцип работы аналогичен сканерам ULINK, особо популярным в России.

 

Мой поставщик поставляет ANVIZOA99 по цене 4400 при поставке от 10 штук. Оборудование надо заказывать заранее, в запасе обычно не более 5 устройств, поставка – 1,5-2 месяца, но можно поискать и у других поставщиков.

 

Для сопряжения 1С со сканером было разработано приложение-коннектор на VB6, управляемое из командной строки.

Оно понимает команды:

1.      Получения отпечатка пальца

2.      Верификации отпечатка с ключом отпечатка.

3.      Идентификации пользователя по базе ключей отпечатков

 

SDKAnviz содержит функции для получения и распознавания отпечатков. Поэтому приложение просто интерпретирует переданные команды и вызывает функции SDK. Функции расположены в DLL, но напрямую DLL из 1С вызывать нельзя, поэтому используется программа-посредник с управлением через командную строку.

 

Как вариант, можно было бы написать внешнюю компоненту, но есть недостатки:

1.      Компонента требует регистрации на компьютере под администраторскими правами.

2.      COM-объекты более глючные и чаще зависают (проверено на практике).

 

Для идентификации формируется файл базы отпечатков, который считывает коннектор в режиме идентификации и по нему распознает пользователя. Файл формируется через компоненту ADODB, которая есть по умолчанию в любой Windows.

 

Программа-коннектор имеет форму, где все указания и команды сделаны на русском языке, текстом, понятным простому сотруднику.

 

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

 

Существующие недостатки решения:

1.      После ввода отпечатка пальца окно программы-коннектора закрывается, но фокус отдается не в 1с, а в следующее в Z-последовательности окон приложение. Решаемо, но пока не занимался.

2.      Драйвер ANVIZ работает только под администраторскими правами, производитель драйвера менять это поведение не собирается. Мы выкрутились через использование CPAU, которая позволяет запускать программу под правами администратора. Возможно, можно найти, какое именно право нужно, но у нас не получилось. Это какое-то из прав работы со съемными дисками, навскидку.

3.      COM-компонента – более защищенное решение, хотя и в приложение, управляемое через командную строку, сложно вмешаться. Но, в принципе, если изменить базу отпечатков пальцев, то можно теоретически совершить манипуляцию. Но это не недостаток решения, просто, если требуется, нужно уделить больше внимания правам доступа.

4.      Неизвестно, можно ли сделать mappingдрайвера устройства в терминальном режиме.

 

Само решение состоит из следующих модулей:

1.      Программа-коннектор на VB6, использует SDK в виде DLL-файлов. Вызывается и управляется через командную строку.

2.      Модуль в 1С для подготовки данных для коннектора и вызова коннектора.

3.      Обработка в 1С для снятия отпечатков сотрудников, их тестовой верификации и идентификации.

 

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

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

 

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

 

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

 

Если в программе используется не справочник ФизическиеЛица, а другой, нужно адаптировать программу под соответствующий справочник, что делается в 1С достаточно тривиально.

 

Демонстрационные данные

Для проверки работоспособности программы с вашим сканером выложена демонстрационная версия программы.

Для начала работы с программой нужно:

  1. Создать папку anviz в корне диска C: и скопировать в нее содержимое каталога anviz.
  2. Файл 1Cv8.1CD – это файл базы данных 1С81. Пропишите его в список баз и откройте, зайдите под пользователем Администратор с пустым паролем.
  3. Подключите сканер в USBпорт.

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

 

Интерфейс минимальный:

 

В справочнике Физические лица заведено трое сотрудников:

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

Работа администратора базы данных отпечатков

Обработка, с которой работает администратора базы данных отпечатков, имеет вид:

Добавление отпечатка пальца:

  1. Нужно выбрать сотрудника в поле «Сотрудник»
  2. Выбрать палец, который сканируется. Можно выбрать из списка или использовать кнопки быстрого выбора «Ук-лев» или «Ук-прав».
  3. Попросить сотрудника положить палец на устройство и не отпускать.
  4. Нажать кнопку «Добавить отпечаток». Откроется окно программы-коннектора. При этом отпечаток сразу считается, т.к. сотрудник приложил палец.Будет отображена картинка отпечатка и добавлена строчка в список отпечатков сотрудника.
  5. Нажать кнопку «Верификация». Будет еще раз получен отпечаток пальца и произведено сопоставление полученного отпечатка со слепком в базе данных. Если верификация прошла неуспешно несколько раз, удалить отпечаток и снять повторно.
  6. Нажать кнопку «Обновить базу отпечатков». При этом все отпечатки, хранимые в базе, будут собраны в файл, используемый для идентификации.
  7. Нажать кнопку «Идентификация». Будет еще раз получен отпечаток пальца и произведено его сопоставление с базой всех отпечатков.
  8. В результате идентификации сотрудник должен быть опознан и выдана фамилия сотрудника в поле «Сотрудник».

 

Удаление отпечатка:

  1. Установить курсор в списке на удаляемый отпечаток.
  2. Нажать кнопку «Delete» на клавиатуре. Подтвердить удаление.

Особенности подключения сканера в Windows

Устройство распознается как USB-флешка:

Особенности реализации в 1С

В 1С используются следующие объекты:

  1. Модуль _Anviz- основные функции для работы с биометрией Anviz.
  2. Модуль _AnvizLocal- локальные для клиента особенности реализации биометрии.
  3. Регистр _БиометрияAnviz- хранит отпечатки сотрудников
  4. Константы ДанныеБиометрииAnvizи ДанныеБиометрииAnviz2 - используются для хранения уже готовой базы данных отпечатков для идентификации.

 

Для того, чтобы клиент мог по-своему написать некоторые нюансы реализации, в модуле _AnvizLocal реализованы вызовы событий, которые можно реализовать по-своему, не затрагивая основной модуль _Anviz:

  1. УстановитьФайлыБиометрии– может содержать код, распаковывающий программу-коннектор из архива на компьютер пользователя. Полезно в РИБ.
  2. АдресКаталогаФайлов– возвращает адрес, где хранятся данные биометрии и программа-коннектор.
  3. ПолучитьСотрудниковСОтпечатками– запрос по регистру с отпечатками, можно скорректировать.
  4. СохранитьДанныеБиометрии– сохраняет упакованные в двоичный файл данные отпечатков в базу данных.
  5. ВосстановитьДанныеБиометрии– восстанавливает упакованные в двоичный файл данные отпечатков из базы данных.
  6. ДатьЛокальнуюКомандуЗапускаПриложенияAnviz– возможность запустить программу-коннектор из другого места или другим способом.
  7. ВосстановитьФокус – собственная реализация восстановления фокуса 1С после отработки программы-коннектора.

См. также

Распознавание номеров автомашин с ip - камер, видео, фото

Распознавание документов и образов Периферийные устройства Автомобили, автосервисы Россия Платные (руб)

Программа считывает кадры с ip-камер (http - запрос к камере), видео, фото (источники кадров (нет ограничения на их количество) настраивается в конфигурационном файле), находит и распознает номера автомашин и сохраняет в базу db, с сохранением фото номера и автомашины, а также времени детекции.

20400 руб.

31.05.2023    3723    2    1    

3

Прямая печать на принтерах TSC из 1С

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

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

1 стартмани

19.02.2024    473    3    realslavyan    0    

5

HotKeys на Python для 1С

Периферийные устройства Конфигурации 1cv8 Бесплатно (free)

Недавно прочитал статью на Инфостарте о KeyPad и вначале захотел себе такой, но через какое-то время я понял, что дополнительная даже маленькая клавиатура занимает место, и нужно все время держать ее под рукой. Это все создает дополнительные неудобства.

20.12.2023    4818    John_d    25    

70

Очистка очереди печати конкретного принтера

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

Очистка очереди печати выбранного принтера, перезапуск службы печати, вывод списка системных принтеров, открытие свойств принтера из 1С.

1 стартмани

07.11.2023    1234    1    vsnazarov    1    

26

Печать этикеток на DYMO LabelManager 280 через DYMO Connect Web Service

Периферийные устройства WEB-интеграция Этикетки, ценники Платформа 1С v8.3 Конфигурации 1cv8 Россия Бесплатно (free)

На сайте производителя принтера DYMO LabelManager 280 вместе с драйвером поставляется пакет DYMO Connect, который предлагает функционал вёрстки этикеток в фирменном формате и отправки их напрямую на принтер. Так же в этом пакете есть веб-сервис для взаимодействия с принтером через HTTP-запросы, о котором и пойдет речь в этой статье.

29.08.2023    1415    GeraltSnow    0    

3

Второй монитор в качестве дисплея покупателя

Розничная торговля Периферийные устройства Платформа 1С v8.3 1С:Управление торговлей 11 Абонемент ($m)

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

1 стартмани

02.02.2023    3135    25    windsurf    4    

5

Космическая Одиссея 2020 года

Мониторинг Периферийные устройства Языки и среды Бесплатно (free)

Организация потокового обмена системы 1С с большим количеством разнородных устройств – нетривиальная задача. О том, как организовать архитектуру такого решения с учетом возможного масштабирования хранимых данных и поддерживаемых интерфейсов, на конференции Infostart Event 2021 Post-Apocalypse рассказал TeamLead и специалист по внедрению компании ИнфоСофт Григорий Шатров.

11.11.2022    3403    G.Shatrov    2    

25
Комментарии
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
1. eugen91 04.01.13 13:16 Сейчас в теме
Добрый день, кто использовал, поделитесь пожалуйста информацией и впечатлениями от использования. Хотели бы в перспективе нечто подобное внедрить.
2. fixin 4252 04.01.13 14:48 Сейчас в теме
(1) eugen91, лично у меня все работает. Единственное, что бесит - потеря 1ской фокуса. Если бы написать как COM-объект, такого бы не было. В настоящее время ищу, как вернуть 1ске фокус после команды ЗапуститьПриложение.

Кстати, до этого использовал EKEY, но там платный SDK 1000$
3. bulas 211 09.01.13 08:40 Сейчас в теме
Знаком с дактилоскопическими системами Папилон и Сонда Плюс. А на 1с впервые, здорово.
4. fixin 4252 09.01.13 10:40 Сейчас в теме
(3) ну у меня есть опыт внедрения на EKEY. Но там SDK платное, соответственно, чтобы легально использовать 1с:Коннектор, нужно заплатить 1000$ на контору, где используется биометрия. Т.е. цену 20 сканеров. Маразм.

То же самое и с Биолинк, ну на эту тему тут статья на ИС есть.
5. tnk 7 09.01.13 14:52 Сейчас в теме
6. fixin 4252 09.01.13 14:56 Сейчас в теме
(5) вряд ли напрямую. устройство подключается как флеш-карта (мобильный диск), даже если подключать RDP с локальным оборудованием, не уверен. У кетайцев не через COM-порт сделано.

Ну или извращаться с общим каталогом, т.е. создать общий каталог, туда отправлять отсканированный палец, но приложение на компе пользователя надо или вручную запускать или службу подымать.
7. OldthiefXXX 153 22.03.13 22:39 Сейчас в теме
8. JuliettT 9 30.03.13 13:34 Сейчас в теме
Мне очень нужно всего 2 СМ....)) переведите пожалуйста...
9. Grekk 43 24.10.13 10:07 Сейчас в теме
Сергей, здравствуйте. Ваша прокладка написана для OA99, но ОА99 выпускалось до декабря 2012. С января 2013 уже начали выпускать и поставлять Ubioreader. В результате прокладка не работает с новыми устройствами. Есть готовое решение?
10. fixin 4252 25.10.13 10:43 Сейчас в теме
да, новая прокладка есть. Она написана так, что работает с обеими типами сканеров, т.к. в конторе, где внедрял, старые есть и новые.
11. fixin 4252 01.11.13 12:28 Сейчас в теме
выложил новую прокладку, поддерживает OA99 и UBIO одновременно.
Наслаждайтесь.
Тут без сырцов.
12. Жолтокнижниг 258 07.11.13 12:35 Сейчас в теме
А смысл этого продукта? Используется обмен с терминалами?
13. fixin 4252 07.11.13 13:00 Сейчас в теме
нет, ANVIZ на уровне SDK терминалы не поддерживает, надо писать свой драйвер. Несложный, в принципе.
27. пользователь 29.04.20 00:54
Сообщение было скрыто модератором.
...
14. vitus_b 08.11.13 17:12 Сейчас в теме
Тут только демо-версия ? А как приобресть рабочую?
15. fixin 4252 08.11.13 18:39 Сейчас в теме
(14) Это полностью рабочая версия, но без сырцов. Сырцы - в личку.
28. пользователь 29.04.20 00:55
Сообщение было скрыто модератором.
...
16. Oboron 14 05.02.15 12:09 Сейчас в теме
>Единственное, что бесит - потеря 1ской фокуса...
Я для решения подобной проблемы использовал "нетленку": здесь
У меня была проблема в том, что окно сканирования было не в фокусе. Я решил её так:
1. До запуска сканирования получаем массив дескрипторов запущенных окон
ВКНетленка.ПолучитьДревоОкон(ВКНетленка.ДескрипторРабочегоСтола)).ВыгрузитьКолонку("Дескриптор")

2. После запуска получаем второй массив дескрипторов. Сравниваем - находим нужное окно.
3. Настраиваем окно:
Параметры = Новый Структура;
Параметры.Вставить("ПоверхДругихОкон", Истина);
ВКНетленка.НастроитьОкно(ДескрипторОкнаСканирования, Параметры);


В Вашем случае можно еще проще:
1. ДескрипторАктивногоОкна|GetHandleOfForegroundWindow
Описание: Получает дескриптор активного (текущего) окна.
Параметры: без параметров.
Возвращаемое значение: 4-х байтное, целое, беззнаковое. Дескриптор активного окна.

2. Сканируем...

3. АктивироватьОкно|SetForegroundWindow
Описание: Активирует указанное окно и помещает его на передний план.
Параметры:
ДескрипторОкна – 4-х байтное, целое, беззнаковое. Принимает дескриптор окна, для которого будет выполняться активация.
Возвращаемое значение: значение не возвращается.
17. fixin 4252 26.09.15 00:14 Сейчас в теме
из новостей - наваял ВК для ANVIZ UBIO и внедрил её в Розница 2.0 (на управляемых формах). Кстати, УФ теперь не боюсь.
18. Nikky 05.02.16 19:28 Сейчас в теме
(17) а можете рассказать о своей компоненте поподробнее? а может и выложить? ))
19. fixin 4252 05.02.16 22:02 Сейчас в теме
20. Nikky 08.02.16 11:14 Сейчас в теме
(19) не нашел публикацию в которой вы её продаете, можете ткнуть носом? или по вопросу продажи этой компоненты в личку?
21. fixin 4252 08.02.16 14:50 Сейчас в теме
22. alexoid666 28.06.16 11:40 Сейчас в теме
Добрый день!
Занимаюсь задачей подключения сканера Anviz U Bio Reader к 1С8.2.
В принципе, суда по описанию, эта разработака позволяет решить мои задачи. Есть 2 вопроса:
1. решена ли в результате проблема потери фокуса?
2. прокладка по прежнему запускается только из под Админа?
(у нас на местах права урезаны, в том числе заблокированы флешки. А сканер вроде именно как флешка подключается)

Так-же есть второй вариант:
В комментарии №17 написано "из новостей - наваял ВК для ANVIZ UBIO и внедрил её в Розница 2.0 (на управляемых формах). "
Я так понимаю, эта компонента продается. А как у нее со стабильностью работы? (у нас сеть магазинов - стабильность на первом месте). Обладает ли она проблемами "прокладки": потеря фокуса, запуск только под админом?
23. fixin 4252 28.06.16 15:30 Сейчас в теме
(22)
1. Я уже переписал в виде компоненты, но для ее установки вам понадобятся права админа. Хотя и в обычной прокладке проблема с Админом решена.
2. Т.к. работа идет через ВК теперь, то потеря фокуса не актуальна.
24. alexoid666 28.06.16 16:25 Сейчас в теме
1. Я уже переписал в виде компоненты, ...

То есть в этой "раздаче" уже лежит компонента?

25. fixin 4252 28.06.16 17:20 Сейчас в теме
(24) нет, здесь я не выкладываю то, что продаю.
Писал компоненту под одного клиента для розницы, там банальная обертка для API, не знаю, чему там вылетать.

Позвоните, обсудим. 8 909 153 29 87 Сергей
29. user1902280 31.01.23 06:04 Сейчас в теме
(25)
Тоже интересна эта тема в качестве контроля времени прихода-ухода в 1с Управление сервисным центром, как можно предметно пообщаться и приобрести ?
Оставьте свое сообщение