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

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

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

PS СТИПП предварительно очищал через "настройки и операции"

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

Добавлено: 07 фев 2013 18:11
TechAdmin
Попробуйте удалить это условие
global_regexp_disable.png
global_regexp_disable.png (14.74 КБ) 4488 просмотров

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

Добавлено: 07 фев 2013 18:43
sveekey
Да, действительно помогло...

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

PS Справа в настройках РВ установлен фильтр по производителю, т.е. для dlinka работает только второе РВ в списке

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

Добавлено: 07 фев 2013 19:24
Ixenon
Получилось, что первое регулярное выражение не сработало, и вернулась вся исходная строка целиком. Но в случае несрабатывания должна возвращаться пустая строка для любого регулярного выражения с первого по пятое.

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

Добавлено: 07 фев 2013 19:26
sveekey
Ixenon писал(а):Получилось, что первое регулярное выражение не сработало, и вернулась вся исходная строка целиком. Но в случае несрабатывания должна возвращаться пустая строка для любого регулярного выражения с первого по пятое.
Да, и добавился "хвост"

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

Добавлено: 07 фев 2013 19:49
TechAdmin
Этот недочёт исправим.
Но если рассматривать более правильный вариант срабатывания заданных рег. выражений с логическими условиями между ними "И",
тогда замена наименования товара вообще не возможна, т.к. отсутствуют результаты некоторых рег. выражений (№1 и №3).

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

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

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

Добавлено: 07 фев 2013 20:32
TechAdmin
Недочёт исправили, доступна новая версия программы ПЛИ.
Так же в сетку добавлен новый столбец "УУ" (строго учитывать условия И / ИЛИ при замене), при активации которого будут проверяться все результаты регулярных выражений (№1,2,3,4,5), если заданы формулы расчёта для них и будут учитываться логические условия "И/ИЛИ" между ними. Возможно будет полезным использовать данный режим, если необходимо точное срабатывание всех заданных формул регулярных выражений.

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

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

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

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

Но на самом деле все работало по другой не совсем понятной логике, которая, стоит заметить ни где не была описана достаточно для понимания того, как она работает.

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

Добавлено: 08 фев 2013 11:36
sveekey
Разработчикам огромное спасибо! Теперь условия "И" и "ИЛИ" между подРВ действительно работают и можно гибко настроить генерацию названий и прочего