Другие модули на выбор

Стандартизация ФИО

Стоимость: руб.
Этот компонент мы сможете использовать только при наличии лицензии. Подходящие редакции:

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

Установка

Установка решения имеет два шага. Первый обязательный, второй необязательный. На втором шаге устанавливается набор данных. Для установки набора данных потребуется код доступа к услуге.

Установка набора данных - не обязательное условие работы модуля. В ознакомительных целях предоставляется код доступа DEMO с ограниченным набором данных.

После установки идет переход к странице импорта собственных наборов данных в формате .jsonl. Со страницы импорта можно вернуться ко второму шагу установки.



Настройка

По умолчанию вся опциональная функциональность модуля отключена.
Перейдите в настройки модуля через боковое меню в административной панели: Сервисы > Стандартизация ФИО > Настройки.
На первой вкладке включите опции функционала, которые вам нужны.

На второй вкладке отображаются правила определения ФИО. Показывается информация о порядке применения правил, какую часть ФИО определяет правило. Часть из них опциональные. Например, правило "Фамилия определена через API DaData".

Третья вкладка доступа стандартная. Фактически сейчас уровни доступа: есть/нет



Сценарии использования модуля

  • Нет наборов данных, нет программиста, есть много времени. Переходим Сервисы > Стандартизация ФИО > Неизвестные имена. В дополнительных действиях к кнопке "Обработать" выбираем "Найти неизвестные имена". Найденные имена размечаем с помощью действий для списка. Например, фильтруем "%ова", выбираем все найденные, отмечаем, что это женские фамилии. После разметки ставим отметку о добавлении в локальную базу имён через групповые действия и нажимаем "Обработать". Размеченные данные попадают в таблицы локальной базы имён и используются правилами определения ФИО.
  • Есть наборы данных, нет программиста. Переходим Сервисы > Стандартизация ФИО > Импорт. Загружаем набор данных в локальную базу имён, в соответствующую таблицу.
  • Нет наборов данных, есть программист. Добавляем с помощью события формирования списка правил собственные правила определения ФИО.
Общие действия для всех сценариев. Переходим Сервисы > Стандартизация ФИО > Стандартизация. Здесь можно запустить процесс исправления ФИО существующих пользователей главного модуля(main), ознакомиться с локальной базой стандартных форм имён и отладочной информацией. Отладочная информация показывает какие данные заходили на вход, какие вышли, какие правила применились, в каком контексте выполнялось определение.


Сценарии использования для программиста:
1. Использование события для добавления своего правила.
$eventManager = \Bitrix\Main\EventManager::getInstance(); $eventManager->addEventHandler( 'alekseev.fio', 'OnDetectorRulesListBuild', 'buildMyRuleList' ); function buildMyRuleList($event) { return new \Bitrix\Main\EventResult( \Bitrix\Main\EventResult::SUCCESS, [ (new \Alekseev\Fio\Detector\Rules\BuildRule( '\My\Module\MyCustomRule' )) ->setSort(500) ->setFile('/local/modules/my.module/lib/custom.php'), ] ); } 2. Свое правило в /local/modules/my.module/lib/custom.phpnamespace My\Module { use Alekseev\Fio\Detector; // Создаем опциональное правило class MyCustomRule extends Detector\Rules\OptionalRule { // Должно возвращать одну из трех констант Detector\Score::F\I\O public function getScoreFlag(): int { // Определяет отчества. return Detector\Score::O; } public function getCode(): string { return 'MY_CUSTOM_RULE'; } public function getTitle(): string { return 'Мое правило определения ФИО'; } /** * Примеры реализации метода в готовых правилах * \bitrix\modules\alekseev.fio\lib\detector\rules */ public function resolve(): Detector\Rules\Result { // Ничего не делаем. Пустой результат. return new Detector\Rules\Result(); } } } 3. Определение ФИОuse Alekseev\Fio\Detector\Resolver; use Alekseev\Fio\Detector\DaDataResult; \Bitrix\Main\Loader::includeModule('alekseev.fio'); $detector = new Resolver('Иванович Иван Иванов'); // Массив с полями как тут dadata.ru/api/clean/name/ $array = (new DaDataResult($detector))->asArray(); $lastName = $detector->getLastName(); // И т.д. примеры смотри в исходниках. // Например, в файле /bitrix/modules/alekseev.fio/eventhandlers/mainuser.php
Свои реализации правил можете присылать на почту alekseev.aleksey.in@gmail.com. После проверки добавлю в поставку модуля.