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

Помощь пользователям в работе с программой E-Trade PriceList Importer
sveekey
Сообщения: 129
Зарегистрирован: 23 янв 2012 11:24

У меня ничего не изменилось ((
regexp_new.png
regexp_new.png (171.26 КБ) 4480 просмотров
Как видно:
1) Тест показывает желаемый результат - ОК
2) А при импорте в СТИПП получаем РВ1*2

PS СТИПП предварительно очищал через "настройки и операции"
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Попробуйте удалить это условие
global_regexp_disable.png
global_regexp_disable.png (14.74 КБ) 4479 просмотров
С уважением, поддержка ElbuzGroup.
sveekey
Сообщения: 129
Зарегистрирован: 23 янв 2012 11:24

Да, действительно помогло...

Настраиваем дальше, добавляем еще одно условие:
regexp_test_new.png
regexp_test_new.png (132.67 КБ) 4478 просмотров
Часть обработалась как задумано, а часть получила ненужный "хвост" (прокрутите картинку вправо), хотя тест показал то, что нужно...

PS Справа в настройках РВ установлен фильтр по производителю, т.е. для dlinka работает только второе РВ в списке
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

Получилось, что первое регулярное выражение не сработало, и вернулась вся исходная строка целиком. Но в случае несрабатывания должна возвращаться пустая строка для любого регулярного выражения с первого по пятое.
sveekey
Сообщения: 129
Зарегистрирован: 23 янв 2012 11:24

Ixenon писал(а):Получилось, что первое регулярное выражение не сработало, и вернулась вся исходная строка целиком. Но в случае несрабатывания должна возвращаться пустая строка для любого регулярного выражения с первого по пятое.
Да, и добавился "хвост"
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Этот недочёт исправим.
Но если рассматривать более правильный вариант срабатывания заданных рег. выражений с логическими условиями между ними "И",
тогда замена наименования товара вообще не возможна, т.к. отсутствуют результаты некоторых рег. выражений (№1 и №3).
С уважением, поддержка ElbuzGroup.
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

TechAdmin писал(а):Этот недочёт исправим.
Но если рассматривать более правильный вариант срабатывания заданных рег. выражений с логическими условиями между ними "И",
тогда замена наименования товара вообще не возможна, т.к. отсутствуют результаты некоторых рег. выражений (№1 и №3).
Все зависит от точки зрения. Например, с некоторой точки зрения в логическом условие "ИЛИ" нет необходимости, т.к. эта конструкция присутствует с самом механизме регулярных выражений в виде знака вертикальной черты "|", в связи с этим имеющееся условие "И" воспринимается всего лишь как знак конкатенации(соединения), т.е. соединяем результат_выполнения_регулярного_выражения1 и результат_выполнения_регулярного_выражения2 и результат_выполнения_регулярного_выражения3, берем получившуюся строку и используем ее в качестве наименования. При таком использовании получается очень гибкий инструмент формирования конечного значения, которое в данном случае является наименованием.
В случае, когда "И" является логическим условием, получается совсем непонятно для каких целей нужная конструкция.
Аватара пользователя
TechAdmin
Администратор
Сообщения: 4286
Зарегистрирован: 27 авг 2008 14:30

Недочёт исправили, доступна новая версия программы ПЛИ.
Так же в сетку добавлен новый столбец "УУ" (строго учитывать условия И / ИЛИ при замене), при активации которого будут проверяться все результаты регулярных выражений (№1,2,3,4,5), если заданы формулы расчёта для них и будут учитываться логические условия "И/ИЛИ" между ними. Возможно будет полезным использовать данный режим, если необходимо точное срабатывание всех заданных формул регулярных выражений.
С уважением, поддержка ElbuzGroup.
Ixenon
Сообщения: 743
Зарегистрирован: 19 ноя 2011 09:03

TechAdmin писал(а):Возможно будет полезным использовать данный режим, если необходимо точное срабатывание всех заданных формул регулярных выражений.
Данный режим будет полезным в случае его правильной работы, которой ранее не наблюдалось. Объясню на примере.
Допустим следующее правило:
Если регулярное выражение не срабатывает, то возвращается пустая строка и логический ответ "False", если регулярное выражение сработало, то возвращается результат срабатывания и логический ответ "True"

Например, есть 2 регулярных выражения РВ1, РВ2
В этом случае логика получается следующая:
Если условие такое РВ1 и РВ2, то в случае, если РВ1 или РВ2 возвращает "False", конечное значение НЕ ИЗМЕНЯЕТСЯ.
Если условие такое РВ1 или РВ2, то в случае, если РВ1 возвращает "True" РВ2 возвращает "False", конечное значение ИЗМЕНЯЕТСЯ и в итоге должна получиться строка состоящая из конкатенации результатов работы 2-х выражений. В этом случае у первого выражения результат > 0 а у второго результат = пустая строка!

В итоге получается, что конечное значение изменяется, если получен логический ответ "True" от всей строки регулярных выражений. а в результат состоит из конкатенации всех результатов работы 5 регулярных выражений.

Но на самом деле все работало по другой не совсем понятной логике, которая, стоит заметить ни где не была описана достаточно для понимания того, как она работает.
sveekey
Сообщения: 129
Зарегистрирован: 23 янв 2012 11:24

Разработчикам огромное спасибо! Теперь условия "И" и "ИЛИ" между подРВ действительно работают и можно гибко настроить генерацию названий и прочего
Закрыто

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