|
Нечёткое сравнение или что-то подобное — как делать? |
☑ |
0
Dzenn
гуру
06.12.18
✎
13:10
|
Добрый день, коллеги!
Подскажите пожалуйста, какими инструментами в 1С лучше производить нечёткое сравнение.
Например, в одной базе есть строка TOO "AlumConstruction", а в другой — просто AlumConstruction, в одной — САНТАЛ ООО, в другой — САНТАЛ, ООО, в одной — ИП Шуст Игорь Александрович, в другой — Шуст Игорь Александрович,ИП
Я хочу определять некий процент похожести, и если он меньше определённого предела — выводить пользователю уведомление. Какие есть механизмы, обработки или прочее?
|
|
1
shuhard
06.12.18
✎
13:15
|
|
|
2
Ёхан Палыч
06.12.18
✎
13:20
|
самое простое: парсить на слова и искать вхождения в строку
|
|
3
Garykom
гуру
06.12.18
✎
13:25
|
Для общего развития
Для 1С есть готовая ВК StrMatch.dll, но с ней некоторые проблемы на Windows после XP и 2k3
|
|
4
Garykom
гуру
06.12.18
✎
13:27
|
Рекомендую изучить "Метод N-грамм" и банально реализовать его средствами 1С, можно и через запросы кстати.
Работает достаточно быстро и надежно, суть все строки разбиваются на биграммы (пары символов рядом) или триграммы (тройки символов рядом последовательных) и сравнивается количество совпадений эти N-грамм для двух строк.
|
|
5
Garykom
гуру
06.12.18
✎
13:29
|
"САНТАЛ ООО, в другой — САНТАЛ, ООО"
"СА"
"АН"
"НТ"
"ТА"
"АЛ"
"Л "
" О"
"ОО"
"ОО"
Отличие будет для второй "Л," и ", " остальные же совпадут биграммы
|
|
6
maximkasuper
06.12.18
✎
13:31
|
(0) Полнотекстовый поиск в 1С имеет возможность нечеткого поиска с указанием порога нечеткости
|
|
7
lodger
06.12.18
✎
13:33
|
голосую за полнотекстовой поиск.
|
|
8
Dzenn
гуру
06.12.18
✎
13:35
|
(6) как его можно использовать в такой прикладной задаче?
|
|
9
maximkasuper
06.12.18
✎
13:55
|
(8) В базе приемнике, видимо, это не просто строка, а справочник "Контрагенты". Далее, программно обращаемся к полнотекстовому поиску с отбором по данному типу данных и по строке источника с указанием порога нечеткости.
|
|
10
Вафель
06.12.18
✎
13:57
|
контрагентов лучше по ИНН сверять
|
|
11
Rovan
гуру
06.12.18
✎
13:58
|
|
|
12
Dzenn
гуру
06.12.18
✎
14:10
|
|
|
Чтобы обнаруживать ошибки, программист должен иметь ум, которому доставляет удовольствие находить изъяны там, где, казалось, царят красота и совершенство. Фредерик Брукс-младший