Регулярные выражения

Помощь пользователям в работе с программой E-Trade PriceList Importer
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

23 фев 2012 22:38

Здравствуйте, уважаемые разработчики!
Помогите пожалуйста разобраться в сложившейся ситуации.

Тестирую регулярные выражения для автоматического сопоставления товаров.
Выбрал категорию, прописал формулу:
1.jpg
1.jpg (23.12 КБ) 6781 просмотр
Протестировал - результат верный:
2.jpg
2.jpg (106.44 КБ) 6781 просмотр
Открыл товары поставщика, тем самым произошло автоматическое сопоставление. В настройках прайслиста и порядка автоматического сопоставления(что в кнопке на главной) галочка напротив "Поиск соответствия товаров: с использованием регулярных выражений для категорий товара", установлена. Выбрал с помощью фильтра сопоставленные товары, с помощью поиска еще и по слову "benq" дополнительно отфильтровал. Зашел в справочник сопоставленных товаров, и вижу такую картину:
3.jpg
3.jpg (59.63 КБ) 6781 просмотр
Ну думаю ладно, попробую по другому. Сопоставление удалил. Формулу изменил на такую:
5.jpg
5.jpg (22.85 КБ) 6781 просмотр
Открыл товары поставщика, тем самым произошло автоматическое сопоставление. Выше рассматриваемые товары, автоматически не сопоставились, что в общем то и логично. Изменил условие с "И" на "ИЛИ":
8.jpg
8.jpg (22.86 КБ) 6781 просмотр
Протестировал - определяет верно. Затем снова открыл товары поставщика, тем самым снова произошло автоматическое сопоставление. В результате вижу, что к товару "GL2240M" из СТУС привязался товар "GL2240" из СТИПП. Привязку удалил, поменял регулярные выражения местами, запустил автоматическое сопоставление... В результате вижу, что к товару "GL2240M" из СТУС привязался товар "GL2240M" из СТИПП. Ну думаю пол дела сделано, правда товары "GL2240" из СТУС и СТИПП почему то не сопоставились. Ну думаю попробую так:
10.jpg
10.jpg (28.56 КБ) 6781 просмотр
Привязку удалил, запустил автоматическое сопоставление. В итоге получилось, что к товару "GL2240" из СТУС, привязались оба товара из СТИПП т.е. и "GL2240" и "GL2240M"

Что я делаю не так?

В СТУС есть 2 товара со следующими наименованиями:
Монитор BENQ TFT 21.5" GL2240 glossy-black 5ms 16:9 FullHD LED DVI Senseye
Монитор BENQ TFT 21.5" GL2240M glossy-black 5ms 16:9 FullHD LED DVI M/M Senseye

В СТИПП, на данный момент был импортирован 1 прайс поставшика, в котором присутствуют(по мимо прочих) следующие товары:
Монитор BENQ TFT 21.5" GL2240 LED Black 1920 x 1080(16:9),250 кд/м2,1000:1,VGA,DVI,Senseye 3
Монитор BENQ TFT 21.5" GL2240M LED Black 1920 x 1080(16:9),250 кд/м2,1000:1,VGA,DVI,M/M

Как мне с помощью регулярных выражений настроить чтобы товары сопоставлялись правильно?
Аватара пользователя
support
Сообщения: 10553
Зарегистрирован: 09 ноя 2008 21:37

24 фев 2012 09:04

Ну думаю ладно, попробую по другому. Сопоставление удалил.

Здравствуйте. Наверняка, когда вы удаляли сопоставления через справочник сопоставлений, Вам выдавалось окно о том, что товар сопоставлен Автоматически(Это видно на вашем скриншоте) и что его нужно вручную пересопоставить, коль вы удаляете данное сопоставление, иначе в противном случае он так же будет сопоставлен как и ранее. На основании ранее сопоставленого уже товара. Под первое правило рег. выражения попадают оба товара ( как и в параллельной теме в другой ветки из правил импорта Жесткие Диски). По - этому Вам нужно убрать автоматическое сопоставление товара, пересопоставить его вручную с правильным товаром, и все станет на свои места. Однако чтобы подобного не получалось в дальнейшем, необходимо поменять созданные Вами правила рег. выражений местами, чтобы выполнялось сначало то под которое попадает товар с М на конце.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

24 фев 2012 09:33

e-special писал(а):
Ну думаю ладно, попробую по другому. Сопоставление удалил.
Однако чтобы подобного не получалось в дальнейшем, необходимо поменять созданные Вами правила рег. выражений местами, чтобы выполнялось сначало то под которое попадает товар с М на конце.
Вы вероятно не до конца прочитали мое сообщение, раз это написали :-)
Обратите внимание на самую нижнюю картинку в прошлом моем сообщении и текст, который написан ниже, т.е. на

Код: Выделить всё

Привязку удалил, запустил автоматическое сопоставление. В итоге получилось, что к товару "GL2240" из СТУС, привязались оба товара из СТИПП т.е. и "GL2240" и "GL2240M"

Другими словами, как видно на картинке, имеются 2 регулярных выражения, а результат их работы описан под картинкой, повтор которого написан в блоке кода, несколько выше, в данном сообщении.
Сейчас попробовал второй раз, удалил привязку и заново запустил сопоставление, результат отличается от предыдущего только тем, что на этот раз оба товара "GL2240" и "GL2240M" из СТИПП привязались к товару "GL2240M" из СТУС
Аватара пользователя
support
Сообщения: 10553
Зарегистрирован: 09 ноя 2008 21:37

24 фев 2012 10:10

Если удалить привязку автоматически сопоставленных товаров, и не пересопоставить их вручную, то при следующем импорте/открытии СТИПП они сопоставяться также автоматически по тому же признаку (ранее сопоставлен).
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

24 фев 2012 11:38

В СТУС есть 2 товара со следующими наименованиями:
Монитор BENQ TFT 21.5" GL2240 glossy-black 5ms 16:9 FullHD LED DVI Senseye
Монитор BENQ TFT 21.5" GL2240M glossy-black 5ms 16:9 FullHD LED DVI M/M Senseye

В СТИПП есть 2 товара со следующими наименованиями:
Монитор BENQ TFT 21.5" GL2240 LED Black 1920 x 1080(16:9),250 кд/м2,1000:1,VGA,DVI,Senseye 3
Монитор BENQ TFT 21.5" GL2240M LED Black 1920 x 1080(16:9),250 кд/м2,1000:1,VGA,DVI,M/M

Какое мне нужно прописать регулярное выражение, и каким образом, чтобы данные товары правильно сопоставились?
пробовал и так:
(\s[a-z]{1,2}[0-9]{3,4}[a-z]{1}\s) И (\s[a-z]{1,2}[0-9]{3,4}\s)
и наоборот:
(\s[a-z]{1,2}[0-9]{3,4}\s) И (\s[a-z]{1,2}[0-9]{3,4}[a-z]{1}\s)
и даже так:
10.jpg
10.jpg (28.56 КБ) 6769 просмотров
ничего не помогло.
В результате привязываются:
либо оба товара "GL2240" и "GL2240M" из СТИПП к одному товару "GL2240" из СТУС
либо оба товара "GL2240" и "GL2240M" из СТИПП к одному товару "GL2240M" из СТУС
либо товар "GL2240M" из СТИПП к товару "GL2240M" из СТУС(но в этом случае товары "GL2240" из СТУС и СТИПП остаются несвязанными)
либо товар "GL2240M" из СТИПП к товару "GL2240" из СТУС
Попробую еще вечером новую базу создать и на ней поэксперементировать, но чувствуется, что результат будет аналогичным.
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

24 фев 2012 21:32

В новой базе все четко определилось.
А в старой, все по прежнему. Товар "GL2240M" из СТУС оказался каким то заколдованным :lol:
По видимому глюк какой то
1.jpg
1.jpg (121.67 КБ) 6761 просмотр
2.jpg
2.jpg (85.86 КБ) 6761 просмотр
если не верите, могу архив базы на почту выслать, сами увидите :-) только архив большой получается - целых 15мб
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

24 фев 2012 22:40

Еще просьба огромная объяснить по нижеследующему.
На странице справочного руководства http://elbuz.com/ETradeDocs/PLI/index.html?autocorrect_items.htm в описании колонок сетки, написано следующее:
3.jpg
3.jpg (8.05 КБ) 6760 просмотров
исходя из написанного получается, что в поле "заменить на" так же можно использовать регулярные выражения, я правильно понял? Если да, то каким образом это работает?
И еще одно. На этой странице http://msdn.microsoft.com/ru-ru/library/ae5bf541.aspx описан синтаксис регулярных выражений. Все ли из описанного работает в E-Trade PLI?
Аватара пользователя
support
Сообщения: 10553
Зарегистрирован: 09 ноя 2008 21:37

25 фев 2012 10:24

Правильно понимаете. Какие конкретно проблемы или сложности у Вас возникли. Приведите примеры.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

25 фев 2012 14:26

e-special писал(а):Правильно понимаете. Какие конкретно проблемы или сложности у Вас возникли. Приведите примеры.
Если я правильно понимаю, то получается, что если в поле "Найти" имеется несколько блоков регулярных выражений в скобках, то в поле "Заменить на" можно ссылаться на найденные с помощью регулярных выражений(расположенных внутри ранее упомянутых блоков) данные.

Допустим в наименовании ноутбука, в определенной последовательности идут характеристики ноутбука.
В этом случае можно создать регулярное выражение, которое будет отбирать из начального наименования необходимую информацию, в том числе и характеристики, и изменять последовательность их следования в конечном наименовании.
Если я правильно понимаю, то каким образом ссылаться на них?
Допустим есть регулярное выражение в поле "Найти" ([a-z]{3})([0-9]{3})([а-я]{3}), состоящее из трех блоков в скобках, в этом случае что нужно написать в поле "Заменить на", чтобы изменить последовательность, например, наоборот?
Может быть так? /3 /2 /1
или так? (/3) (/2) (/1)
или даже так? (/3 /2 /1)
Помогите пожалуйста разобраться с синтаксисом и принципом работы.
Аватара пользователя
support
Сообщения: 10553
Зарегистрирован: 09 ноя 2008 21:37

25 фев 2012 16:06

Сложно ответить на данный вопрос, Вам нужно более подробно изучить возможности регулярных выражений.
C уважением, поддержка ElbuzGroup.
Документация E-Trade Jumper
Ответить

Вернуться в «Техническая поддержка программы E-Trade PriceList Importer»