2013-12-23 3 views
0

Я пишу код в @Formula, который будет отображать разные сообщения на основе текущего этапа системы. Этап определяется по значению в поле чисел currStage, его значение изменяется по сценарию лотоса и имеет диапазон от 1 до 10. Все работает, за исключением случаев, когда оно получает значение 10, оно отображает неправильный текст «текст 1» и после этого отображает номер 0. Что с этим не так?@ReplaceSubstring не отображает правильное значение

value1:="text 1 "; 
value2:="text 2 "; 
value3:="text 3 "; 
value4:="text 4 "; 
value5:="text 5 "; 
value6:="text 6 "; 
value7:="text 7 "; 
value10:="text"; 

optionList := value1:value2:value3:value4:value5:value6:value7:value10; 
aliasList := "1":"2":"3":"4":"5":"6":"7":"10"; 
@ReplaceSubstring(@Text(currStage); aliasList; optionList) 

ответ

3

Используйте вместо этого @Replace, и оно будет работать.

@ReplaceSubstring заменяет каждую подстроку. В случае «10» он начинает искать все элементы в списке псевдонимов и находит «1». Он заменяет «текст 1» и «0», поэтому вы получаете результат «текст 1 0».

@Replace заменяет текст только в том случае, если целая строка равна элементу списка псевдонимов.

+0

Большое спасибо, ваше решение идеально! – Anatoly

+0

@KnutHermann Не могли бы вы посмотреть эту тему http://stackoverflow.com/questions/23122306/replacesubstring-doesnt-display-value-as-expected thanks –