Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

1С интеллектуальный поиск

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

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

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

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

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

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

Или как еще можно сделать?
   acanta
 
1 - 15.09.21 - 15:31
Можно расширением добавить текст в табличную часть накладной и заполнять ее из екселя, а несовпадение наименования номенклатуры и текста подсвечивать цветом фона или шрифта. Но это объем базы.
   MyNick
 
2 - 15.09.21 - 15:34
(0) лучше отдать сопоставление на откуп пользователю и запоминать результат этого сопоставления для дальнейшего использования.
Иначе перепутает твой интеллект гайку от унитаза за рубль и гайку от аппарата МРТ за миллион.
Будешь потом свой интеллект реализовывать в другом месте )))
   mikecool
 
3 - 15.09.21 - 15:35
искать по коду-артикулу, любому уникальному
но не по наименованию
   mikecool
 
4 - 15.09.21 - 15:35
посмотреть в сторону РС НоменклатураКонтрагентов(или как его зовут в ерп)
   Злопчинский
 
5 - 15.09.21 - 15:39
(4) ну так сначала надо сопоставить. Здесь и есть засада. Хз как в 8-ке работают родные механизмы, вк нечеткого поиска на 8ке подключается, на ИС примеры есть таких поисков как тс надо. И с вк, и штатными программироааниями. Ищите. Обрящете.
   mikecool
 
6 - 15.09.21 - 15:40
(5) для сопоставления соглашусь с (2) - пусть пользователь напряжется
   Малыш Джон
 
7 - 15.09.21 - 15:41
Расстояние Левенштейна же 😂
   kostyan29
 
8 - 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
Я вот с отпуска вернусь и буду как раз такую хрень для клиента делать, благо куча готовых заготовок есть, вообще не морочусь такой проблемой как у ТС
   piter3
 
15 - 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) И у меня есть наработки. Но вот программно через полнотекстовый поиск еще не пробовал.
   piter3
 
20 - 15.09.21 - 15:52
(18) Тады ой
   Злопчинский
 
21 - 15.09.21 - 15:58
(19) полнотекстовый и нечеткий поиск и нечеткий - наверное разные? Или 8ка полнотекстовым поиском умеет и нечетко искать?
   acanta
 
22 - 15.09.21 - 16:00
По маске/ спец.символам ?
   Злопчинский
 
23 - 15.09.21 - 16:00
https://infostart.ru/public/14255/

Эта вк работает и на 8ке
   Документовед
 
24 - 16.09.21 - 10:08
(23) код есть?
   ildary
 
25 - 16.09.21 - 11:58
(23) не всегда она работает - например для x64 уже нет.
   ansh15
 
26 - 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-ки
   fisher
 
28 - 16.09.21 - 14:41
(0) Я бы забил на полнотекстовый поиск. И на всякий нечеткий поиск тоже. На практике обычно всегда удобнее заточиться на частные особенности, чем пытаться решить задачу для общего случая и прикручивать сверху тонну настроек для подгонки по частные особенности.
Примерно так - сделать загрузку через обработку. Поиск сопоставлений - своим запросом (для сложных случаев запросом грубый подбор, а точный последующим перебором и парсингом).
То есть в итоге получится так для пользователя: он кликает кнопку и у него появляется вариант автоматического сопоставления (с отображением названия из файла и найденной ссылки). При этом можно цветом показывать, где сопоставление неоднозначное. Там пользователь может вручную поменять из предложенных ему подходящих вариантов. В итоге когда пользователь согласен с результатом он его подтверждает и тогда уже заполняется документ.
   fisher
 
29 - 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
Плюс к этому для облегчения привязки можно анализировать совпадения/похожести не только позиций поставщика с нашими карточками, но и с уже привязаннымт позициями других поставщиков...
   Aleksey
 
33 - 16.09.21 - 17:56
Синтетическое моторное масло SHELL Helix Ultra 5W-30, 1 л
и
Синтетическое моторное масло SHELL Helix Ultra 5W-30, 4 л

Это одно и тоже? Разница в 1 символ
   Aleksey
 
34 - 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) это да...
И поэтому всякие эти маркировки и прочие чз егаисы итд - есть добро, ведущее к стандартизации нси на глобальном рынке


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.