If работает не правильно, в чём проблема?

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
Здравствуйте. Сравниваю две переменных, в отладке четко вижу, что переменные равны, но If отправляет меня по пути false, хотя точно видно, что результаты переменных точь в точь одинаковые. В чём может быть подвох?
Переменные указываю '{-Variable.1-}'=='{-Variable.2-}'
вроде всё должно работать, но почему-то по false идёт и всё тут.
Версия программы 5.7.5.0 и я подозреваю что обновление до версии 5753 вряд ли поможет.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Прикладывайте семпл проекта, где-то ошибка)
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
Спасибо, в общем сам разобрался. Похоже проблема была в том, что я объединял элементы списка, запихивал их в переменную, потом из этой переменной выделял через regx то что мне нужно было и сравнивал это с другой переменной. Видимо так нельзя. Обошёл объединение элементов и оно заработало. Не совсем удобно, но работает.
 

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Не должно это влиять.
 

Sergodjan

Administrator
Команда форума
Регистрация
05.09.2012
Сообщения
20 407
Благодарностей
9 116
Баллы
113
видимо лишний символ при регексе возникал..
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
видимо лишний символ при регексе возникал..
Да вот в том то и дело, что вроде проверял, ни пробелов, ничего не было, разве что перенос строки мог быть, но опять же при отладке я смотрел переменные и там не было возможности прокрутить поле на следующую строку. Как будто символ был, но он какой-то невидимый и никак не находимый с внешней стороны.
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Прикладывайте пример если есть.
В любом ином случае я думаю что ошибка у вас где то)
 

Nick

Client
Регистрация
22.07.2014
Сообщения
1 983
Благодарностей
817
Баллы
113
Я бы эти значения ещё в шестнадцатеричных кодах сравнил... у меня бывало, что похожие визуально символы на самом деле разные. Например, слабо отличить русскую «с» от латинской «c» на глаз?
 

sof

Client
Регистрация
15.04.2013
Сообщения
831
Благодарностей
185
Баллы
43
У меня когда-то был такой галюн с PM помогло перезапуск программы. А вообще попробуй другие значения прописать в ручную в эти переменные и сравнить, если поможет значит проблема в том что лежит в этих переменных
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
Я бы эти значения ещё в шестнадцатеричных кодах сравнил... у меня бывало, что похожие визуально символы на самом деле разные. Например, слабо отличить русскую «с» от латинской «c» на глаз?
Ну тут теперь еще и фишка в том, что я получается беру значение с сайта, потом чтобы получить порядковый номер этого значения ищу его в списке увеличивая при этом счетчик. Так вот, когда приходит время для сравнения значения которое я взял с сайта и значения которое я опять же взял с сайта, они оказываются не равны. Как такое может быть вообще?
Сравниваю значения вот таким образом: (?i).*{-Variable.1-}.*
т.е. получается через regx. Потом иду и проверяю пустая ли переменная, в которую я кладу значение после выполнения regx. Так вот она пустой оказывается всегда почему-то. Хотя в конструкторе регулярок всё срабатывает без проблем.
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18

rostonix

Известная личность
Регистрация
23.12.2011
Сообщения
29 067
Благодарностей
5 715
Баллы
113
Да как удобно. Можно и к форуму приаттачить
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
В общем пробовал, пробовал и ничего не получается. Прикрепляю архив.

P.S. в общем всё понял, спасибо всем за помощь.
 
Последнее редактирование:

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
В общем проблема в том, что последнее выражение if никогда не выходит на true.
 

sof

Client
Регистрация
15.04.2013
Сообщения
831
Благодарностей
185
Баллы
43
У тебя в логике написано вот так '{-Variable.polz_rubrica1-}' == '' попробуй вот так '{-Variable.polz_rubrica1-}'=='' то есть убери пробелы (может в этом проблема)
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
У тебя в логике написано вот так '{-Variable.polz_rubrica1-}' == '' попробуй вот так '{-Variable.polz_rubrica1-}'=='' то есть убери пробелы (может в этом проблема)
Попробовал, нет, дело не в этом.
 

maxxZEN

Client
Регистрация
18.03.2012
Сообщения
596
Благодарностей
113
Баллы
43
В общем проблема в том, что последнее выражение if никогда не выходит на true.
Потому что у тебя в последнем выражении переменная {-Variable.polz_rubrica1-} содержит значение с переносом в конце, в таблице переменных это выглядит так -"Рекламные услуги▢"

И еще я не понял глубиннго смысла этого проекта с счетчиками. Ты хочешь по значению переменной найти значение value чтобы его установить для элемента? Почему не используешь гораздо более простой selecteditems? (set --> selecteditems -->Рекламные услуги, после еще можно для этого элемента применить rise-->Exchange, чтобы значение точно поменялось)
 

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
так у тебя смортри что в переменную попадает
 

Вложения

ssXXXss

Client
Регистрация
23.12.2014
Сообщения
7 379
Благодарностей
2 041
Баллы
113
с первого if cразу ошибка, predl_spros а у тебя обозначена что ты в такую хочешь положить переменую predi_spros , предлож или спрос так не прокатит , предлож||спрос , ну а почему так парсит коряво я незнаю, во какая фига ещё, выпало для сравнения железнодорожный транспорт но if проигнорил это сравнение и ушёл по false, вписал свои значения по true пошёл
 

Вложения

Последнее редактирование:

black_pariah

Client
Регистрация
08.09.2014
Сообщения
294
Благодарностей
91
Баллы
28
попробуйте перед сравнением сделать экшн проверка текста ява скриптом,а потом уже этот текст в переменной после проверки сравнивать,часто попадаются невидимые символы,как писал maxxZEN и это не только пробелы,переносы строк и тд.
 

spy107

Client
Регистрация
19.08.2012
Сообщения
192
Благодарностей
15
Баллы
18
Проблема ясна, всем спасибо за помощь и разносторонние варианты решения проблемы. Даже не ожидал что столько вариантов будет.
 

Кто просматривает тему: (Всего: 2, Пользователи: 0, Гости: 2)