|
Помогите с поиском похожих артикулов! | ☑ | ||
---|---|---|---|---|
0
tciban
23.04.21
✎
14:29
|
Уважаемые коллеги! Есть база со справочником Номенклатура, есть реквизит Артикул. И есть задачка от клиента, сформулированная так:
"Нужно контролировать ввод Артикула. Совпадающим считать артикул если набор символов без знаков препинания точно совпадает с набором символов без знаков препинания артикула, который уже есть в базе Знаки препинания, которые игнорируются: пробел, двойные кавычки, апостроф (одинарные кавычки), скобки, дефис, тире, слеш, обратный слеш, звездочка, плюс, запятая, точка с запятой, решетка, точка Пример: в базе есть NPort 5110-T/W(1) Будет ошибка, если оператор набирает: NPort5110TW1 NPort 5110 T-W1 Nport-5110-T/W(1) и тп" Подскажите пути решения?! Как сделать? Через Подобно в запросе? Тогда какой шаблон? Есть еще идея сохранять артикул, очищенный от "знаков препинания" в отдельном реквизите (или в регистре сведений) и там потом искать. Но если б сделать через Подобно - было б проще и красивее. |
|||
1
программистище
23.04.21
✎
14:34
|
Подобно медленно, второй вариант с реквизитом предпочтительнее
|
|||
2
Chameleon1980
23.04.21
✎
14:35
|
сохраняй дополнительно артикул без знаков в доп реквизит
пере записью ищи запросом на равенство нового артикула без знаков |
|||
3
Базис
naïve
23.04.21
✎
14:35
|
У тебя нормально написано, так и делай. Реестр ещё нормализуй. Потом, если мало будет, расстояние Левенштейна считай для каждого существующего, но это сильно больше рассчётов.
|
|||
4
SSSSS_AAAAA
23.04.21
✎
14:38
|
(0)
Примерно так: СтрЗам(Артикул, "'()-\|/*+,;#. "+симв(39), "") |
|||
5
Garykom
гуру
23.04.21
✎
14:41
|
(0) Замены символов УЧИTЫBATЬ ?
|
|||
6
Garykom
гуру
23.04.21
✎
14:42
|
(5)+ рус/лат одинаковые могут быть
А задачка решается через https://ru.wikipedia.org/wiki/Хеш-таблица |
|||
7
Garykom
гуру
23.04.21
✎
14:43
|
(0) через подобно не пойдет, точнее можно но слишком долго искать будет
|
|||
8
Garykom
гуру
23.04.21
✎
14:43
|
(6) "Есть еще идея сохранять артикул, очищенный от "знаков препинания" в отдельном реквизите (или в регистре сведений) и там потом искать." - вот это оно самое
|
|||
9
tciban
23.04.21
✎
14:49
|
(6) "рус/лат одинаковые могут быть " - Я не стал писать, но сначала идет проверка что бы не было кирилицы в артикуле.
|
|||
10
tciban
23.04.21
✎
14:52
|
(8) Ок, если сохранять "очищенный артикул" то куда лучше - реквизит в справочнике или все ж регистр сведений для скорости? Впрочем справочник не слишком большой, за скорость можно не убиваться. 92 тыс. записей (с группами)
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |