Модуль позволяет определить, какая часть в ФИО является именем, фамилией и отчеством.
Модуль позволяет собирать, размечать и стандартизировать ФИО существующих пользователей главного модуля(main) и модуля Интернет-магазина(sale) локально, без запросов по API к сторонним сервисам.
Доступно улучшение определения ФИО с помощью собственных правил определения ФИО.
Есть возможность загрузить собственные наборы данных для более точного определения и стандартизации.
Разработчик модуля предоставляет услугу установки набора данных. Ознакомиться со стоимостью и приобрести код доступа к услуге можно по ссылке.
Опционально:
Модуль позволяет собирать, размечать и стандартизировать ФИО существующих пользователей главного модуля(main) и модуля Интернет-магазина(sale) локально, без запросов по API к сторонним сервисам.
Доступно улучшение определения ФИО с помощью собственных правил определения ФИО.
Есть возможность загрузить собственные наборы данных для более точного определения и стандартизации.
Разработчик модуля предоставляет услугу установки набора данных. Ознакомиться со стоимостью и приобрести код доступа к услуге можно по ссылке.
Опционально:
- Расстановка ФИО в полях пользователя главного модуля(main) при добавлении и изменении.
- Установка пола пользователя главного модуля(main)
- Восстановление третьей части ФИО, которая теряется при использовании штатного компонента оформления заказа.
- Исправление ошибок ввода ФИО пользователей.
- Результат определения ФИО модулем можно представить в виде результатов от API DaData.
- API DaData можно использовать как правило определения ФИО модулем.
- Результат определения ФИО модулем можно представить в виде результатов от API Ahunter.
- API Ahunter можно использовать как правило определения ФИО модулем.
Установка
Установка решения имеет два шага. Первый обязательный, второй необязательный. На втором шаге устанавливается набор данных. Для установки набора данных потребуется код доступа к услуге.
Установка набора данных - не обязательное условие работы модуля. В ознакомительных целях предоставляется код доступа DEMO с ограниченным набором данных.
После установки идет переход к странице импорта собственных наборов данных в формате .jsonl. Со страницы импорта можно вернуться ко второму шагу установки.
Настройка
По умолчанию вся опциональная функциональность модуля отключена.
Перейдите в настройки модуля через боковое меню в административной панели: Сервисы > Стандартизация ФИО > Настройки.
На первой вкладке включите опции функционала, которые вам нужны.
На второй вкладке отображаются правила определения ФИО. Показывается информация о порядке применения правил, какую часть ФИО определяет правило. Часть из них опциональные. Например, правило "Фамилия определена через API DaData".
Третья вкладка доступа стандартная. Фактически сейчас уровни доступа: есть/нет
Сценарии использования модуля
Сценарии использования для программиста:
1. Использование события для добавления своего правила.
2. Свое правило в /local/modules/my.module/lib/custom.php
3. Определение ФИО
Свои реализации правил можете присылать на почту alekseev.aleksey.in@gmail.com. После проверки добавлю в поставку модуля.
Установка решения имеет два шага. Первый обязательный, второй необязательный. На втором шаге устанавливается набор данных. Для установки набора данных потребуется код доступа к услуге.
Установка набора данных - не обязательное условие работы модуля. В ознакомительных целях предоставляется код доступа DEMO с ограниченным набором данных.
После установки идет переход к странице импорта собственных наборов данных в формате .jsonl. Со страницы импорта можно вернуться ко второму шагу установки.
Настройка
По умолчанию вся опциональная функциональность модуля отключена.
Перейдите в настройки модуля через боковое меню в административной панели: Сервисы > Стандартизация ФИО > Настройки.
На первой вкладке включите опции функционала, которые вам нужны.
На второй вкладке отображаются правила определения ФИО. Показывается информация о порядке применения правил, какую часть ФИО определяет правило. Часть из них опциональные. Например, правило "Фамилия определена через API DaData".
Третья вкладка доступа стандартная. Фактически сейчас уровни доступа: есть/нет
Сценарии использования модуля
- Нет наборов данных, нет программиста, есть много времени. Переходим Сервисы > Стандартизация ФИО > Неизвестные имена. В дополнительных действиях к кнопке "Обработать" выбираем "Найти неизвестные имена". Найденные имена размечаем с помощью действий для списка. Например, фильтруем "%ова", выбираем все найденные, отмечаем, что это женские фамилии. После разметки ставим отметку о добавлении в локальную базу имён через групповые действия и нажимаем "Обработать". Размеченные данные попадают в таблицы локальной базы имён и используются правилами определения ФИО.
- Есть наборы данных, нет программиста. Переходим Сервисы > Стандартизация ФИО > Импорт. Загружаем набор данных в локальную базу имён, в соответствующую таблицу.
- Нет наборов данных, есть программист. Добавляем с помощью события формирования списка правил собственные правила определения ФИО.
Сценарии использования для программиста:
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"), ] ); } |
namespace 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(); } } } |
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. После проверки добавлю в поставку модуля.