Біометрія ANVIZ для відбитків пальців у 1с8
Для потреб своїх клієнтів я впровадив біометрію на базі сканераANVIZOA99.

Вибір обладнання був обумовлений :
1. Відсутність плати за SDK. Тобто. можна розробляти будь-які програми, які взаємодіють зі сканером безкоштовно. У середньому SDK інших виробників коштує 1000 $.
2. Відсутність плати за ліцензію на сканер під час використання власних програм, розроблених на SDK . У середньому ліцензія коштує 20 $ на сканер.
3. Популярність бренду Anviz.
4. Принцип роботи аналогічний сканерам ULINK, особливо популярним в Україні.
Мій постачальник поставляє ANVIZ OA 99 за ціною 4400 при постачанні від 10 штук. Обладнання треба замовляти заздалегідь, у запасі зазвичай трохи більше 5 пристроїв, постачання – 1,5-2 місяці, але можна пошукати і в інших постачальників.
Для сполучення 1С зі сканером було розроблено додаток-конектор на VB 6, кероване з командного рядка.
Воно розуміє команди :
1. Отримання відбитка пальця
2. Верифікація відбитка з ключем відбитка.
3. Ідентифікації користувача за базою ключів відбитків
SDK Anviz містить функції для отримання та розпізнавання відбитків. Тому програма просто інтерпретує передані команди і викликає функції SDK. Функції розташовані в DLL, але безпосередньо DLL з 1С викликати не можна, тому використовується програма-посередник з керуванням через командний рядок.
Як варіант, можна було б написати зовнішній компонент, але є недоліки :
1. Компонент вимагає реєстрації на комп'ютері під адміністраторськими правами.
2. COM -об'єкти глючніші і частіше зависають (перевірено практично).
Для ідентифікації формується файл бази відбитків, якийзчитує конектор в режимі ідентифікації та розпізнає користувача. Файл формується через компоненту ADODB, яка є за промовчанням у будь-якій Windows.
Програма-конектор має форму, де всі вказівки та команди зроблені українською мовою, текстом, зрозумілим для простого співробітника.
На даний момент у базі 75 користувачів кожен здав по 2 відбитки лівого та правого вказівних пальців, але можна здавати відбитки будь-яких пальців. Поступово основа зростає. Помилок розпізнавання та скарг на роботу обладнання помічено не було.
Існуючі недоліки рішення :
1. Після введення відбитка пальця вікно програми-конектора закривається, але фокус віддається не в 1с, а наступне в Z-послідовності вікон додаток. Вирішально, але поки що не займався.
2. Драйвер ANVIZ працює тільки під адміністраторськими правами, виробник драйвера змінювати цю поведінку не збирається. Ми викрутилися через використання CPAU, яка дозволяє запускати програму під правами адміністратора. Можливо, можна знайти, яке саме право потрібне, але у нас не вийшло. Це якесь із прав роботи зі знімними дисками, навскідку.
3. COM-компонента – більш захищене рішення, хоча й додаток, керований через командний рядок, складно втрутитися. Але, в принципі, якщо змінити базу відбитків пальців, можна теоретично здійснити маніпуляцію. Але це не брак рішення, просто, якщо потрібно, потрібно приділити більше уваги права доступу.
4. Невідомо, чи можна зробити mapping драйвера пристрою в термінальному режимі.
Само рішення складається з наступних модулів :
1. Програма-конектор на VB 6 використовує SDK у вигляді DLL-файлів. Викликається та керується через командний рядок.
2. Модуль в 1С дляпідготовки даних для конектора та виклику конектора.
3. Обробка в 1С зі зняттям відбитків співробітників, їх тестової верифікації та ідентифікації.
У 1С форму вибору фізичних осіб додається кнопка, по натисканні яку фізична особа вибирається через сканер.
Відповідно, 1С отримує підтвердження про те, що фізособа обрана через сканер і можна це контролювати.
Існує функція для вибору фізособи, яка може викликатись з потрібних місць програми. У ній контролюється, що фізособа була обрана через сканер (біометрично). Для деяких фізосіб допускається можливість роботи без відбитків, якщо, наприклад, їх відбитки не знімаються. Але такого ми не було, т.к. можна знімати будь-який палець, а не лише вказівний.
По суті, все, що потрібно – це додати модулі до програми, в потрібних місцях вашого сценарію розставити виклик функції вибору співробітника через біометрію, дати право відповідальному співробітнику на зняття відбитків користувачів.
Якщо у програмі використовується не довідник Фізичні Особи, а інший, потрібно адаптувати програму під відповідний довідник, що робиться в 1С досить тривіально.
Демонстраційні дані
Для перевірки працездатності програми з вашим сканером викладено демонстраційну версію програми.
Для початку роботи з програмою потрібно:
- Створити папку anviz у корені диска C: і скопіювати у неї вміст каталогу anviz.
- Файл 1Cv8.1CD – це файл бази даних 1С81. Пропишіть його до списку баз і відкрийте, зайдіть під користувачем Адміністратор із порожнім паролем.
- Підключіть сканер до USB-порту.
Для того, щоб програма працювала, потрібно, щоб у користувача були права адміністратора.
Удовіднику Фізичні особи заведено троє співробітників:

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

Додавання відбитка пальця:
- Потрібно обрати співробітника у полі «Співробітник»
- Виберіть палець, який сканується. Можна вибрати зі списку або використовувати кнопки швидкого вибору "Ук-лев" або "Ук-прав".
- Попросити співробітника покласти палець на пристрій та не відпускати.
- Натисніть кнопку «Додати відбиток». Відкриється вікно програми-конектора. У цьому відбиток відразу вважається, т.к. співробітник приклав палець. Буде відображено зображення відбитка та додано рядок до списку відбитків співробітника.
- Натиснути кнопку "Верифікація". Буде ще раз отримано відбиток пальця та зроблено зіставлення отриманого відбитка зі зліпком у базі даних. Якщо верифікація пройшла неуспішно кілька разів, видаліть відбиток і зніміть повторно.
- Натисніть кнопку "Оновити базу відбитків". При цьому всі відбитки, які зберігаються в базі, будуть зібрані у файл, який використовується для ідентифікації.
- Натиснути кнопку "Ідентифікація". Буде ще раз отримано відбиток пальця та зроблено його зіставлення з базою всіх відбитків.
- В результаті ідентифікації співробітника має бути пізнано та видано прізвище співробітника в полі «Співробітник».
- Встановити курсор у списку на відбиток, що видаляється.
- Натиснути кнопку Delete на клавіатурі. Підтвердити видалення.
Особливості підключення сканера у Windows
Пристрій розпізнається як USB-флешка:

Особливості реалізації в 1С
У 1С використовуються такі об'єкти :
- Модуль _ Anviz – основні функції для роботи з біометрією Anviz.
- Модуль _ AnvizLocal – локальні для клієнта особливості реалізації біометрії.
- Регістр _БіометріяAnviz - зберігає відбитки співробітників
- Константи Дані Біометрії Anviz та Дані Біометрії Anviz 2 - використовуються для зберігання вже готової бази даних відбитків для ідентифікації.
Для того, щоб клієнт міг по-своєму написати деякі нюанси реалізації, в модулі _AnvizLocal реалізовані виклики подій, які можна реалізувати по-своєму, не торкаючись основного _Anviz :
