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

19.07.22

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

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

Скачать файл

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование По подписке [?] Купить один файл
down.zip
.zip 310,99Kb
60
60 Скачать (1 SM) Купить за 1 850 руб.
Прокладка ANVIZ.EXE, поддерживающая UBIO и OA99 одновременно
.zip 786,69Kb
36
36 Скачать (1 SM) Купить за 1 850 руб.
Опыт внедрения

Для нужд своих клиентов я внедрил биометрию на базе сканера 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С после отработки программы-коннектора.

См. также

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

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

1 стартмани

31.12.2024    358    0    user821472    0    

2

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

Пример работы для разработчика с оборудованием принтер чеков в рамках новейшей библиотеки подключаемого оборудования.

10 стартмани

14.11.2024    762    4    aximo    0    

3

Периферийные устройства Системный администратор Пользователь Платформа 1С v8.3 1С:Бухгалтерия 3.0 Абонемент ($m)

Простая в использовании обработка https://infostart.ru/1c/tools/1001819/ в целом решает поставленную задачу, но имеет явный недостаток - взаимодействует только с принтерами, подключенными к серверу. Доработанная версия позволяет работать как с принтерами на клиенте, так и на сервере

1 стартмани

30.08.2024    500    3    Sergey1CSpb    0    

4

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

Расширение для вывода информации для покупателя из РМК на второй монитор. Также реализован вывод картинок из каталога в левую часть экрана покупателя. Разработано для УТ 11.5, УНФ 3.0.6 и 3.0.9.

1 стартмани

12.08.2024    1465    30    Rastopchinss    16    

4

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

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

1 стартмани

02.08.2024    812    0    AlOkt    0    

5

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

Пример работы с эмулятором дисплея покупателя через библиотеку БПО.

6 стартмани

10.07.2024    888    6    aximo    0    

3

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

Речь пойдет не о сканерах штрихкодов 2D/3D/RF/распознавании лиц и прочего, а о старом добром аппарате, позволяющем считать страницу и отправить ее образ в ПК через COM/USB порт. Рассмотрим, как можно подключить и использовать сканер в типовых 1С-конфигурациях. И что делать, если никак не найти команду настройки сканера.

1 стартмани

28.05.2024    1237    Sergey1CSpb    2    

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

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

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

Ну или извращаться с общим каталогом, т.е. создать общий каталог, туда отправлять отсканированный палец, но приложение на компе пользователя надо или вручную запускать или службу подымать.
7. OldthiefXXX 155 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 4277 25.10.13 10:43 Сейчас в теме
да, новая прокладка есть. Она написана так, что работает с обеими типами сканеров, т.к. в конторе, где внедрял, старые есть и новые.
11. fixin 4277 01.11.13 12:28 Сейчас в теме
выложил новую прокладку, поддерживает OA99 и UBIO одновременно.
Наслаждайтесь.
Тут без сырцов.
12. Жолтокнижниг 259 07.11.13 12:35 Сейчас в теме
А смысл этого продукта? Используется обмен с терминалами?
13. fixin 4277 07.11.13 13:00 Сейчас в теме
нет, ANVIZ на уровне SDK терминалы не поддерживает, надо писать свой драйвер. Несложный, в принципе.
27. пользователь 29.04.20 00:54
Сообщение было скрыто модератором.
...
14. vitus_b 08.11.13 17:12 Сейчас в теме
Тут только демо-версия ? А как приобресть рабочую?
15. fixin 4277 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 4277 26.09.15 00:14 Сейчас в теме
из новостей - наваял ВК для ANVIZ UBIO и внедрил её в Розница 2.0 (на управляемых формах). Кстати, УФ теперь не боюсь.
18. Nikky 05.02.16 19:28 Сейчас в теме
(17) а можете рассказать о своей компоненте поподробнее? а может и выложить? ))
19. fixin 4277 05.02.16 22:02 Сейчас в теме
20. Nikky 08.02.16 11:14 Сейчас в теме
(19) не нашел публикацию в которой вы её продаете, можете ткнуть носом? или по вопросу продажи этой компоненты в личку?
21. fixin 4277 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 4277 28.06.16 15:30 Сейчас в теме
(22)
1. Я уже переписал в виде компоненты, но для ее установки вам понадобятся права админа. Хотя и в обычной прокладке проблема с Админом решена.
2. Т.к. работа идет через ВК теперь, то потеря фокуса не актуальна.
24. alexoid666 28.06.16 16:25 Сейчас в теме
1. Я уже переписал в виде компоненты, ...

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

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

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