Имя: Пароль:
1C
1С v8
Сравнение адресов
0 karapuz21
 
09.10.19
14:15
Добрый день!

Каким образом можно сравнить в 1с адреса в виде строки. Например "Капотня 3-й кв-л" и "3-й квартал Капотни"?

Приходит в голову только разбиение по словам каждой строки. При этом строку 1 записать в один столбец ТЗ, а строку 2 во второй. Отсортировать в ТЗ и потом сравнить построчно. При этом перед загрузкой в ТЗ заменить все сокращения по заранее заполненному словарю?

Есть ли более простой вариант?
1 d4rkmesa
 
09.10.19
14:28
(0) Воспользоваться каким-нибудь API, получив значение адреса в более формализованном виде или в виде идентификаторов того же ФИАС, сгруппировать по идентификаторам.
2 Garykom
 
гуру
09.10.19
14:30
(0) Нечеткое сравнение строк, уже давно встроено в платформу 1С кста
3 karapuz21
 
09.10.19
14:53
(2) А какая функция за это отвечает?
4 karapuz21
 
09.10.19
14:58
(1) Дело в том что один из источников которые я сравниваю это ФИАС, а другой это БТИ
5 Chum
 
09.10.19
15:41
(2) Это ничего особо не даст ТС-у. Но метод сравнения строк с изменением порядка слов вполне может подойти.

(3) Как вариант посмотреть что есть здесь: http://catalog.mista.ru/public/820798/
6 Garykom
 
гуру
09.10.19
15:50
(5) Метод N-грам сработает замечательно
7 Garykom
 
гуру
09.10.19
15:50
(6)+ Даже без изменения порядка слов.
8 Garykom
 
гуру
09.10.19
15:51
(6) http://catalog.mista.ru/public/440033/
Только запросом это делать полный изврат, лучше для двух строк переписать на код, это простейше.
9 karapuz21
 
09.10.19
16:37
(8) (5) Спасибо посмотрю.
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший