При размещении полей GivenName, MiddleName и Surname на замещающей карточке контакта обнаружили, что из Name эти поля неверно парсятся.

Происходит это судя по всему в ContactGmsFieldConverter.

 

Если есть вся "тройка" (Птичкин Максим Петрович) то записывается так:

  • Surname (Фамилия): Петрович
  • GivenName(Имя): Птичкин
  • MiddleName(Отчество): Максим

Если есть только имя и фамилия:

  • Surname (Фамилия): Максим
  • GivenName(Имя): Птичкин

Если есть только фамилия:

  • GivenName(Имя): Птичкин

 

Судя по постам на академии, ошибка актуальна как минимум с 2018 года.

 

Планируется ли исправить ее в ближайших релизах?

Грозит ли чем-то изменение алгоритма ContactGmsFieldConverter?

Нравится

3 комментария
Лучший ответ

А изменение системной настройки ContactFieldConverter не помогает?

Понятно, что это работает корректно с форматом ИОФ, однако в России в основном используется всем привычное ФИО. Как лучше решить данную проблему?

А изменение системной настройки ContactFieldConverter не помогает?

Владимир Соколов,

Я даже не думал ее искать:(

Помогает, спасибо!

Показать все комментарии
Вопрос

Добрый день, Коллеги

В BPMOnline ФИО добавляется одной строкой.

При этом возникают проблемы, например
Иван Петров и Петров Иван для системы уже разные люди, а по факту это дубли.

Как быть?

Можно ли настроить отдельные поля под Фамилию, Имя, Отчество?

Нравится

4 комментария

а не проще стандартизировать в мозгу у сотрудников? Пишем только Ф И , а не И Ф без затратное
решение :)

Привет :)

Нет не проще! Человеческий фактор, его исключить надо.

Еще другая проблема - массовый импорт, синхронизация из соц. сетей, гугл-контактов и т.п.

Данные из этих источников попадают в поле Ф.И.О в "свободном" виде.

Вообще разделять Ф.И.О. по полями решение очень стандратное, удивляет, что тут не так.

"Татьяна Руденко" написал:

а не проще стандартизировать в мозгу у сотрудников? Пишем только Ф И , а не И Ф без затратное

решение :)


Согласен с Александром, - стандартизировать в мозгу у сотрудников можно только если у вас 3 сотрудника. А если это, например, банк с 10 филиалами, 50 ДО и 30 УРМов, то как ни стандартизируй, ошибки будут и никуда от них не денешься.

"Руднев Александр" написал:Можно ли настроить отдельные поля под Фамилию, Имя, Отчество?

Можно, нужно только создать в объекте контакта еще два поля и соответствующие им элементы управления в карточке. А также, если Вас интересуют интеграции с соц. сетями и гугл контактами, подправить в них распределение данных по этим полям.
"Руднев Александр" написал:Еще другая проблема - массовый импорт, синхронизация из соц. сетей, гугл-контактов и т.п.

Данные из этих источников попадают в поле Ф.И.О в "свободном" виде.


Все верно, но существуют системы, в которых точно также ФИО хранится одной строкой, и при интеграции с ними придется парсить эту строку в три поля. Так что создание в BPMonline трех полей может решить некоторые проблемы, но также и создать новые.

Показать все комментарии

Вниманию предлагается скрипт на Oracle SQL для генерации около 3 млн уникальных ФИО. Его можно использовать как для получения единичных записей, так и для вставки посредством INSERT SELECT всего массива. Результат работы скрипта может пригодиться для тестирования БД на больших объёмах данных или как "рыба" для демонстрационных версий программы.

Пример кода, генерирующий 27 записей:

 

SELECT "Name1". "Text" AS "Surname", "Name2". "Text" AS "FirstName", "Name3". "Text" AS "Patronymic", "Name1". "Text"||' '||"Name2". "Text"||' '||"Name3". "Text" AS "Name"  FROM
(
SELECT "Text" ,  "Row"  FROM
(
SELECT 'Иванов' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
UNION SELECT 'Петров' AS "Text" ,  rownum AS "Row"  FROM "tbl_DatabaseInfo"
UNION SELECT 'Сидоров' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
 )
ORDER BY dbms_random.value
)  "Name1"

INNER JOIN

(
SELECT "Text" ,  "Row"  FROM
(
SELECT 'Иван' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
UNION SELECT 'Пётр' AS "Text" ,  rownum AS "Row"  FROM "tbl_DatabaseInfo"
UNION SELECT 'Сидор' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
 )
ORDER BY dbms_random.value
)  "Name2"

ON  "Name2"."Row" =  "Name1"."Row"

INNER JOIN

(
SELECT "Text" ,  "Row"  FROM
(
SELECT 'Иванович' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
UNION SELECT 'Петрович' AS "Text" ,  rownum AS "Row"  FROM "tbl_DatabaseInfo"
UNION SELECT 'Сидорович' AS "Text" ,  rownum AS "Row" FROM "tbl_DatabaseInfo"
)
ORDER BY dbms_random.value
)  "Name3"

ON  "Name3"."Row" =  "Name1"."Row"

-- where  rownum = 1

 

Если раскомментировать последнюю строку, получим одну запись. Для получения первых 10 записей условие модифицируется в:

 

WHERE  rownum = 10

 

Во вложении - полная версия, включающая 251 наиболее популярную русскую фамилию, 113 мужских и 118 женских имён и 53 отчества.

Кроме того, для реалистичности стоит учесть частотность имён, ведь Александров и Сергеев больше, чем Фролов и Илларионов. Имена в скрипте расположены начиная с более популярных, поэтому достаточно скопировать в коде начало списка несколько раз.

Нравится

Поделиться

0 комментариев
Показать все комментарии