Имя: Пароль:
1C
1С v8
1С интеллектуальный поиск
0 Документовед
 
15.09.21
15:27
Конфигурация ERP, т.е. есть полнотекстовый поиск.

Задача сделать заполнение документа номенклатурой на основании файла экселя.

Где-то имя совпадает, где-то нет.

Как лучше сделать подбор вариантов элементов из справочника номенклатуры, для строкового имени их экселя?

Допустим строку из экселя я разделю на некие "слова".

Сделать программно полнотекстовый поиск? Или генерировать какой-то свой запрос с "ПОДОБНО" и подбирать варинату по количеству найденных слов?

Или как еще можно сделать?
1 acanta
 
15.09.21
15:31
Можно расширением добавить текст в табличную часть накладной и заполнять ее из екселя, а несовпадение наименования номенклатуры и текста подсвечивать цветом фона или шрифта. Но это объем базы.
2 MyNick
 
15.09.21
15:34
(0) лучше отдать сопоставление на откуп пользователю и запоминать результат этого сопоставления для дальнейшего использования.
Иначе перепутает твой интеллект гайку от унитаза за рубль и гайку от аппарата МРТ за миллион.
Будешь потом свой интеллект реализовывать в другом месте )))
3 mikecool
 
15.09.21
15:35
искать по коду-артикулу, любому уникальному
но не по наименованию
4 mikecool
 
15.09.21
15:35
посмотреть в сторону РС НоменклатураКонтрагентов(или как его зовут в ерп)
5 Злопчинский
 
15.09.21
15:39
(4) ну так сначала надо сопоставить. Здесь и есть засада. Хз как в 8-ке работают родные механизмы, вк нечеткого поиска на 8ке подключается, на ИС примеры есть таких поисков как тс надо. И с вк, и штатными программироааниями. Ищите. Обрящете.
6 mikecool
 
15.09.21
15:40
(5) для сопоставления соглашусь с (2) - пусть пользователь напряжется
7 Малыш Джон
 
15.09.21
15:41
Расстояние Левенштейна же 😂
8 kostyan29
 
15.09.21
15:43
Меня этот вопрос тоже занимает. Я делал примерно так - посмотрел на названия позиций поставщиков, как и что там встречается.
Там часто встречался артикул прямо в тексте. Как правило, либо после слова "артикул", либо "арт.", либо просто первым словом в предложении, либо последним (как правило, в скобках). По вышеприведенным правилам я вытаскивал из строки артикул, и уже по нему искал. Это помогало увеличить процент находимых соответствий, но полностью вопрос конечно не решило.

А в общем случае это, видимо, нерешаемый вопрос. Потому что у нас позиция значится, к примеру, "УГОП-16 (Таганрог)". А у поставщика "Горелка газовая (устройство газогорелочное) ТГН-16". Ну или что-то в этом роде. Потому что изначально покупали это у одного поставщика, потом начали покупать у другого, да и у первого наименование поменялось. И все. Никакой интеллектуальный поиск тут не поможет.
9 Злопчинский
 
15.09.21
15:44
(7) на ис есть и это реализованное, и по другому алгоритму. Тс пусть жопу оторвет и полистает
10 Документовед
 
15.09.21
15:44
(1) > Можно расширением добавить текст в табличную часть накладной и заполнять ее из екселя,

Это понятно. Задача предложить варианты для строкового поля.
11 Документовед
 
15.09.21
15:45
(2) > лучше отдать сопоставление на откуп пользователю

Разумеется, конечный выбор за пользователем. Но пользователю надо предложить варианты для выбора.
12 Документовед
 
15.09.21
15:45
(3) >искать по коду-артикулу, любому уникальному
>но не по наименованию

Вот я глупый, не догадался до такого варинта.
13 Злопчинский
 
15.09.21
15:46
(8) интеллектуальный поиск высвободит кучу времени, которое и можно будет ненавязчиво потратить на вские угопы
14 Злопчинский
 
15.09.21
15:47
Я вот с отпуска вернусь и буду как раз такую хрень для клиента делать, благо куча готовых заготовок есть, вообще не морочусь такой проблемой как у ТС
15 piter3
 
15.09.21
15:48
(8) наличие нси-ка,в шатате или на аутсорсе решает
16 Документовед
 
15.09.21
15:49
(8) > посмотрел на названия позиций поставщиков, как и что там встречается.

Это понятно. Но задача никуда не девается.


Допустим есть справочник/регистр "Номенклатуры поставщиков", его надо заполнить, вот есть строковое обозначения поставщиков надо им со поставить элементы номенклатуры, для этого предложить наиболее подходящие по названию элементы.
17 Документовед
 
15.09.21
15:50
(8) > А в общем случае это, видимо, нерешаемый вопрос.

Разумеется. Но подсказки можно сделать.
18 Документовед
 
15.09.21
15:50
(15) > наличие нси-ка,в шатате или на аутсорсе решает

Так в этом то все и дело. НСИк есть и забил по госту. А подразделения пользуются собственными наименованиями.
19 Документовед
 
15.09.21
15:51
(14) И у меня есть наработки. Но вот программно через полнотекстовый поиск еще не пробовал.
20 piter3
 
15.09.21
15:52
(18) Тады ой
21 Злопчинский
 
15.09.21
15:58
(19) полнотекстовый и нечеткий поиск и нечеткий - наверное разные? Или 8ка полнотекстовым поиском умеет и нечетко искать?
22 acanta
 
15.09.21
16:00
По маске/ спец.символам ?
23 Злопчинский
 
15.09.21
16:00
https://infostart.ru/public/14255/

Эта вк работает и на 8ке
24 Документовед
 
16.09.21
10:08
(23) код есть?
25 ildary
 
16.09.21
11:58
(23) не всегда она работает - например для x64 уже нет.
26 ansh15
 
16.09.21
13:04
(21) Пишут, что умеет https://its.1c.ru/db/metod8dev#content:1547:hdoc:_top
"возможность нечеткого поиска (буквы в найденных словах могут отличаться) с указанием порога нечеткости"
Нечеткий поиск в 1с 8.3 FuzzySearch - параметры?
Если в поиске задать "#искуство", то найдется "искусство", https://its.1c.ru/db/metod8dev/content/1572/hdoc@52268825
Конечно, в случае с горелками, это вряд ли поможет, будет нужен недюжинный искусственный интеллект, или просто аккуратый менеджер продаж.
27 Злопчинский
 
16.09.21
13:07
(24) только для клюшек, на ИС синей есть примеры для 8-ки
28 fisher
 
16.09.21
14:41
(0) Я бы забил на полнотекстовый поиск. И на всякий нечеткий поиск тоже. На практике обычно всегда удобнее заточиться на частные особенности, чем пытаться решить задачу для общего случая и прикручивать сверху тонну настроек для подгонки по частные особенности.
Примерно так - сделать загрузку через обработку. Поиск сопоставлений - своим запросом (для сложных случаев запросом грубый подбор, а точный последующим перебором и парсингом).
То есть в итоге получится так для пользователя: он кликает кнопку и у него появляется вариант автоматического сопоставления (с отображением названия из файла и найденной ссылки). При этом можно цветом показывать, где сопоставление неоднозначное. Там пользователь может вручную поменять из предложенных ему подходящих вариантов. В итоге когда пользователь согласен с результатом он его подтверждает и тогда уже заполняется документ.
29 fisher
 
16.09.21
14:46
Но обычно для подобных задач делают сопоставления названий внешнего источника (если невозможно по артикулу). Один раз сопоставили и дальше уже не париться каждый раз с принятием решений. Появилась несопоставленные позиции - тогда уже иди в инструмент сопоставлений и один раз их сопоставь.
30 Злопчинский
 
16.09.21
17:37
(28) ну я так примерно и делаю. Только лучше. Нечеткий поиск и при необходимости частные плугинчики до или после
31 Злопчинский
 
16.09.21
17:53
(29) угу, только не все так просто. Например, привязались к наименованием поставщика, используя в качестве id позиции как раз это самое наименование поставщика ибо больше нечего. Для снижения траблов при привязке ид-натменовпние поставщика нормализуется, выкидываются пробелы и все нефонетические символы. И все нормально и вроде бы грузии следующий раз, выдавая для привязки несопоставленных позиций поставщика наши непривязанняе позиции. Однако так не пойдет ибо если у поставщика появилась непривчзанная позиция - это запросто может быть ранее привчзанная позиция только поставщик наименование модифицировал. И для выбора пр вязки к нашей карточке надо показывать все наши позиции - и привязанные и непривязанные, причем уже привязанные надо как-то выделять (цветом например) и при выборе нашей уже привязанной карточки ещё надо как-то "понимать" что привязывается в сущности та же самая позиция или ассортимент поставщика привязывается на одну нашу карточку? Потому как привязка ассортимента поставщика на одну нашу карточку может быть как и разрешенатак и запрещена.
Или та же самая работа с ассортиментом - например есть у поставщика ассортиментные позиции с одинаковыми артикулами. И некоторые товары с одинаковыми артикулами(например, разные аарандаши) можно посадить на одну нашу карточку, а другие товарыы с одинаковыми артикулами - например, ручки - надо сажать на разные наши карточки. И тд привязки здесь используется артикул - и при появлении таких новых позиций в списках поставщика - при привязке пользователем тоже надо держать на контроле...
32 Злопчинский
 
16.09.21
17:55
Плюс к этому для облегчения привязки можно анализировать совпадения/похожести не только позиций поставщика с нашими карточками, но и с уже привязаннымт позициями других поставщиков...
33 Aleksey
 
16.09.21
17:56
Синтетическое моторное масло SHELL Helix Ultra 5W-30, 1 л
и
Синтетическое моторное масло SHELL Helix Ultra 5W-30, 4 л

Это одно и тоже? Разница в 1 символ
34 Aleksey
 
16.09.21
17:58
(31) особенно всякие комплекты/штуки. Когда позицию угадал, но не угадал с ЕИ
35 Злопчинский
 
16.09.21
18:01
(33) в нечетком поиске можно задавать вес чисел, то есть при поиске похожих больше внимание на совпадение числовых позиций
36 Злопчинский
 
16.09.21
18:02
(33) тут инструмент такую позицию поместил в начало списка похожих, а выбирать привязку уже юзер
37 Злопчинский
 
16.09.21
18:08
(34) это да...
И поэтому всякие эти маркировки и прочие чз егаисы итд - есть добро, ведущее к стандартизации нси на глобальном рынке
Я не хочу быть самым богатым человеком на кладбище. Засыпать с чувством, что за день я сделал какую-нибудь потрясающую вещь — вот что меня интересует. Стив Джобс