Сравнение слов с учётом опечаток

Опубликовал Алексей (alleh) в раздел Программирование - Практика программирования

Сравнение слов (фамилий, например) с учётом опечаток

Мне нужно было сделать контроль дублирования записи контрагентов по фамилии... Часто бывает что фамилии пишутся с опечатками... Данный алгоритм позволяет сравнивать фамилии с учётом возможных опечаток. Например: в данном случае Иванов/ИВнов/Ивенов/Иваонв - одинаковые фамилии считаться будут... Алгоритм работает с параметром - количество ошибок. Ошибка - это либо не та буква, либо замена типа ов/во... Если вы заметите баг - сообщите пожалуста..=) По поводу применения - его можно вставить , например в модуль формы документа справочника контрагентов в процедуру ПриЗаписи() (сначала надо выделить фамилию из ФИО, а затем применять функцию) и тогда будет контроллироваться уникальность вводимых фамилий с учётом опечаток.

Скачать файлы

Наименование Файл Версия Размер
сравнение схожих слов
.ert 61,50Kb
02.07.13
49
.ert 61,50Kb 49 Скачать

См. также

Добавить вознаграждение
Комментарии
1. Armando Armando (Armando) 1370 19.02.11 00:29 Сейчас в теме
3. Алексей (alleh) 54 19.02.11 10:24 Сейчас в теме
у меня это занимает полсотни строк открытого кода..в вашей ссылке - это целый библиотечный компонент, который уже скомпилин... возможно мой алгоритм неоптимизированнее, но я его за час придумал... так что - кто хочет использовать библиотеку - есть вариант который был...кто хочет использовать просто полсотни строчек, которые можно подправить - теперь это тоже есть... возможность выбор - это сильная штука..=)
4. Сергей (Che) Коцюра (CheBurator) 3367 19.02.11 12:54 Сейчас в теме
преимущество компоненты что она понимает фонетику, а не просто опечатки
Иванов и Ifanov - будут "очень похожи"
5. Алексей (alleh) 54 19.02.11 13:35 Сейчас в теме
CheBurator - критику принял...но против мухи использовать кувалду - это, конечно, надёжнее, но оно нужно?) вы вносите фамилии при вводе контрагента латиницей? даже наш отдел продаж так не поступает... поэтому алгоритм учитывает только то, что нужно и ничего лишнего..) и ради этого небольшого отбора - я бы, например, не стал ставить компоненту, которая умеет чуть больше чем очень много, но непонятно как и что она делает..или, по-крайней мере - надо в этом разбираться...)
6. Доржи Балбаров (Angeros) 21.02.11 05:29 Сейчас в теме
alleh - полностью согласен с вами. Все же открытый код в 1с всегда предпочтительнее любой длл.
7. Яков Коган (Yashazz) 1957 21.02.11 13:39 Сейчас в теме
Проверенному велосипеду - как-то больше доверия, а StrMatch в бою проверен.
8. Алексей (alleh) 54 21.02.11 13:42 Сейчас в теме
Angeros - спасибо за поддержку... открытый код всегда предпочтительнее - даже с точки зрения безопасности - если разработчик не сертифицирован, то можешь много глюков схлопотать... однако так то - каждому своё, но просто что примечательно - гостеприимность здесь не особо развита...))