Страница 2 из 5

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 05 дек 2012 14:21
sveekey
Вы абсолютно правильно поняли и расписали в п.1 и п.2 как я бы хочу чтобы оно работало!

Позволю себе не согласиться с тем, что невозможно реализовать такую логику.

Для описанного Вами случая, когда много И и ИЛИ в одном длинном РВ, то наверняка изобретать велосипед не нужно и можно сделать как в программировании, т.е. И имеет приоритет перед ИЛИ. либо добавить возможность вручную указать с помощью скобок.

Тогда например для случая РВ1 И РВ2 ИЛИ РВ3 И РВ4 ИЛИ РВ5
при найденных совпадениях

РВ1=маршрутизатор
РВ2=нет совпадений
РВ3=роутер
РВ4=Д-линк
РВ5=беспроводной

Получается результат ''роутер Д-линк беспроводной'', т.е. хотя в тестируемой фразе и нашлось слово маршрутизатор, оно не отобразилось, т.к. РВ2 не выполнилось. Что дает нехилую гибкость настройки.

Если сейчас работает не так, то скорее всего разработчик имеет другое видение.

Сейчас для этого РВ получается такой результат: маршрутизатор роутер Д-линк беспроводной, т.е. абсолютно все совпадения независимо от логическими выражениями между ними.

В конце концов для чего тогда вообще имеется возможность выбора И и ИЛИ, пять штук РВ...

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 08 дек 2012 10:17
sveekey
Добрый день!

Вышеописанную проблему решил обойти при помощи поля "Производитель", ставлю "D-Link" и тогда AirTies не "вылазит" со своим "маршрутизатор".

Почти сразу же столкнулся с еще одной проблемой: второе РВ не обработалось при импорте СТИПП

Всего два РВ:
regexp_set.png
regexp_set.png (54.3 КБ) 4343 просмотра

Проверяю на СТИПП - работает:
stipp_test.png
stipp_test.png (68.54 КБ) 4343 просмотра
Делаю импорт прайса:
stipp_2.png
stipp_2.png (27.5 КБ) 4343 просмотра
То есть наименования со словом "Сплитеры" почему-то проигнорировались и не заменились на 2 совпадения согласно РВ

Если поменять порядок РВ в настройках:
stipp_21.png
stipp_21.png (21.03 КБ) 4343 просмотра

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 08 дек 2012 11:43
tkachenkoser
sveekey писал(а):
Вышеописанную проблему решил обойти при помощи поля "Производитель", ставлю "D-Link" и тогда AirTies не "вылазит" со своим "маршрутизатор".
можно чуть подробней?
У Вас получилось, если вписать в "поле производитель" производителя - то РВ сработало только для него?
Я так понял что оно не влияет на результат РВ

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 08 дек 2012 12:07
tkachenkoser
Ixenon писал(а): Так работает программа.
А Вам как я понял нужно, чтобы она работала(в данном случае) следующим образом:
1. Если между РВ1 и РВ2 стоит "И", то если одно из этих выражений возвращает пустую строку, то общий результат будет равен пустой строке или другими словами данные находящиеся поле "назначение" не изменяются.
2. Данные находящиеся в поле "назначение" изменяются только тогда, когда оба из этих выражений возвращает не пустую строку, т.е. срабатывают.
тут я полностью поддержку топиксталкера. ИМЕННО ТАК должна работать РВ
Идея И / или между РВ это хорошо, но не до конца реализовано.. Действительно это не стандартное применение РВ поэтому нету строгих правил. Давайте попробуем за и против вариантов
1) Сначала выполняются условия И а потом или.. т.е. И это перемножение, а ИЛИ это сложение множеств. Со сути в программировании так оно и есть. Т.е условие РВ1 и РВ2 или РВ3 и РВ4 выполняется так (рв1 и рв2) или (рв3 и рв4)
т.е если не выполняются первые 2 то будет результат второй пары (если он также выполняется)... Это логично как для программиста, но менее практично, т..к можно просто создать новое правило с условиями рв3 и рв4
2) Сначала выполняются условия ИЛИ т.е. правило РВ1 и РВ2 или РВ3 и РВ4 будет аналогично двум РВ1 и РВ2 и РВ4 ИЛИ правилу РВ1 и РВ3 и РВ4 - тут конечно можно просто в РВ применять символ | для такого же результата, или опять же писать два разных правила.
Получается от ИЛИ можно вообще избавится, но если всеже его оставить, то более практично (на мой взгляд) оставить работать по второму правилу. И написать этот механизм в инструкции.
У меня сейчас в базе уже 85000 товаров в стип.. Из них около 30% без столбца артикуль.. Кроме того сам виду СС, и финансы. ПЛИ же сейчас занимает больше всего времени, как раз из-за ручного сопоставления товаров (умка), если бы гибко можно настроить наименования и артикли через РВ, то время на Пли сократилось бы на порядок.
PS. в соседней теме также воюю за проблемы в РВ, которые так и не решены.

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 08 дек 2012 15:51
sveekey
tkashenkoser,

Там где пишутся сами РВ справа есть поле "Производитель".
Если туда вписать "D-link", то программа все остальные товары (не D-link) вообще в расчет не берет и РВ к ним не применяет.
Но вылезает еще один "баг" (см. пост выше) с неработой второго РВ.

Оба варианта имеют право на жизнь, но по большому счету мне все равно, какой из них "православнее" и какой предпочтёт разработчик. Главное чтобы работало и желательно было отражено в документации.
Сейчас получается, что "И" и "ИЛИ" не работают как хотелось бы.

Такой инструмент жизненно необходим как для формирования артикула для товаров = качественное автоматическое сопоставление (у меня тоже тысяч 10 без артикула), так и для "обрезки" наименований, например, такого:
D-Link DSL-30CF/RS Сплитер ADSL Annex A 1xRJ11 вход и 2xRJ-11 выход с 12cm телеф кабелем
до такого:
Сплитер D-Link DSL-30CF/RS

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 08 дек 2012 16:10
tkachenkoser
Вот сейчас с утра сижу.. Не могу даже сделать элементарное - выбить артикул из BEKO HIZG 64120 B потомучто ни работают ни $, ни \< , ни ?!, ни ^
т.е работают только самые базовые функции, которых реально не достаточно.

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 09 дек 2012 14:47
sveekey
Нашел как можно получить необходимые наименования - составное значение на основе результата РВ
partial.png
partial.png (26.24 КБ) 4335 просмотров
Для этих РВ:
regexp_set2.png
regexp_set2.png (13.4 КБ) 4335 просмотров
Получил желаемый результат:
Stippcut.png
Stippcut.png (21.51 КБ) 4335 просмотров
Работает одинаково для случая И и ИЛИ между РВ.

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 09 дек 2012 18:42
sveekey
Нашел еще одну ошибку =(

Такое РВ и результат проверки:
regexpbug.png
regexpbug.png (16.16 КБ) 4334 просмотра
А при импорте в СТИПП:
regexpbug2.png
regexpbug2.png (4.38 КБ) 4334 просмотра
Проверка на СТИПП дает:
regexpbug3.png
regexpbug3.png (7.86 КБ) 4334 просмотра
PS [\S]+ пробовал заменить на [a-Z0-9-]+, но видимо дело в алгоритме.

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 09 дек 2012 19:48
tkachenkoser
А есть какието успехи с артиклями?

Re: Ошибка Проверки РВ на СТИПП

Добавлено: 10 дек 2012 09:37
Ixenon
Все, что в скобках - дублируется, чем больше скобок, тем больше дублей
Пример1 РВ1 (Коммутатор)
Наименование Коммутатор D-Link
Результат Коммутатор

Пример2 РВ1 ((Коммутатор))
Наименование Коммутатор D-Link
Результат Коммутатор Коммутатор

Пример3 РВ1 (((Коммутатор)))
Наименование Коммутатор D-Link
Результат Коммутатор Коммутатор Коммутатор

Пример4 РВ1 (Коммутатор) И РВ2 (принтер)
Наименование Коммутатор D-Link
Результат Коммутатор Коммутатор

С пробелами тоже отдельная история. Пробелы по большей части нигде не учитываются.