Учитывая некоторые финансовые затруднения, решил подторговать биометрией ANVIZ.
У меня есть готовая прокладка между 1С и сканером отпечатков пальцев ANVIZ. Работает как часы.
Уже было три клиента, озвучивал каждому цену 150$ (по сути, цену одного сканера), бесплатные консультации и мани-бек, но не выгорело. Подождем. Тема ведь интересная. ;-)
Написал маленький проспектик, но выложить это в виде статьи на инфостарте некогда. Опубликую здесь:
Для нужд клиента я внедрил биометрию на базе сканера ANVIZ OA 99.
http://www.anvizbiometric.ru/shop/group_597/
Выбор оборудования был обусловлен:
1. Отсутствие платы за SDK. Т.е. можно разрабатывать любые программы, взаимодействующие со сканером бесплатно. В среднем SDK других производителей стоит 1000$.
2. Отсутствие платы за лицензию на сканер при использовании собственных программ, разработанных на SDK. В среднем лицензия стоит 20$ на сканер.
3. Известность бренда Anviz.
4. Принцип работы аналогичен сканерам ULINK, особо популярным в России.
Наш поставщик поставляет нам ANVIZ OA99 по цене 4400 при поставке от 10 штук. Оборудование надо заказывать заранее, в запасе обычно не более 5 устройств, поставка – 1,5-2 месяца, но можно поискать и у других поставщиков.
Для сопряжения 1С со сканером было разработано приложение-коннектор на VB6, управляемое из командной строки.
Оно понимает команды:
1. Получения отпечатка пальца
2. Верификации отпечатка с ключом отпечатка.
3. Идентификации пользователя по базе ключей отпечатков
Само SDK Anviz содержит функции для получения и распознавания отпечатков, поэтому приложение просто интерпретирует переданные команды и вызывает функции ANVIZ. Функции расположены в DLL, но напрямую DLL из 1С вызывать нельзя, поэтому используется программа-посредник с управлением через командную строку.
Как вариант, можно было бы написать внешнюю компоненту, но есть недостатки:
1. Компонента требует регистрации на компьютере под администраторскими правами.
2. COM-объекты более глючные и чаще зависают (проверено на практике).
Для идентификации формируется файл базы отпечатков, который считывает коннектор в режиме идентификации и по нему распознает пользователя. Файл формируется через компоненту ADODB, которая есть по умолчанию в любой Windows.
Программа-коннектор имеет форму, где все указания и команды сделаны на русском языке, текстом, понятным простому сотруднику.
На данный момент в базе 75 пользователей, каждый сдал по 2 отпечатка, можно сдавать отпечатки любых пальцев. Постепенно осуществляется переход со старого оборудования на новое, база растет. Ошибок распознавания и жалоб на работу оборудования замечено не было.
Существующие недостатки решения:
1. После ввода отпечатка пальца окно программы-коннектора закрывается, но фокус отдается не в 1с, а в следующее в Z-последовательности окон приложение. Решаемо, но пока не занимался.
2. Драйвер ANVIZ работает только под администраторскими правами, производитель драйвера менять это поведение не собирается. Мы выкрутились через использование CPAU, которая позволяет запускать программу под правами администратора. Возможно, можно найти, какое именно право нужно, но у нас не получилось. Это какое-то из прав работы со съемными дисками, навскидку.
3. COM-компонента – более защищенное решение, хотя и в приложение, управляемое через командную строку, сложно вмешаться. Но, в принципе, если изменить базу отпечатков пальцев, то можно теоретически совершить манипуляцию. Но это не недостаток решения, просто, если требуется, нужно уделить больше внимания правам доступа.
Само решение состоит из следующих модулей:
1. Программа-коннектор на VB6, использует SDK в виде DLL-файлов.
2. Модуль в 1С для подготовки данных для коннкетора и вызова коннектора.
3. Обработка в 1С для снятия отпечатков сотрудников, их тестовой верификации и идентификации.
В 1С в форму выбора физических лиц добавляется кнопка, по нажатию на которую физическое лицо выбирается через сканер.
Соответственно, 1С получает подтверждение о том, что физлицо выбрано через сканер и можно это контролировать.
Существует функция для выбора физлица, которая может вызываться из нужных мест программы. В ней контролируется, что физлицо было выбрано через сканер (биометрически). Для некоторых физлиц допускается возможность работы без отпечатков (исключения), если, например, их отпечатки не снимаются. Но такого у нас не было, т.к. можно снимать любой палец, а не только указательный.
По сути, все что требуется – это добавить модули в программу, в нужных местах вашего сценария расставить вызов функции выбора сотрудника через биометрию, дать права ответственному сотруднику на снятие отпечатков пользователей.
Если в программе используется не справочник ФизическиеЛица, а другой, адаптация чуть сложнее, но тоже достаточно тривиальна.
Journal information