Имя: Пароль:
1C
1С v8
СтрЗаменить с точным вхождением
0 SinglCOOLer
 
18.11.11
22:19
Всем привет, помогите с функцией подобной СтрЗаменить но с точным вхождением подстроки замены.

Пример:

Есть строка: "Сумма * (СкидкаЗС/100) - СкидкаЗССумма", необходимо заменить СкидкаЗС на 5, а СкидкаЗССумма на 1000

Если использовать функцию СтрЗаменить() и попробовать заменить СкидкаЗС на значение "5" то получается примерно следующее "Сумма * (5/100) - 5Сумма" что делает формулу не рабочей. Никак не могу найти более менее простые методы.
1 Азат
 
18.11.11
22:21
ну блин, заменяй тогда СкидкаЗС+, СкидкаЗС-, СкидкаЗС*, СкидкаЗС/
2 Рэйв
 
18.11.11
22:21
ты не поверишь, но все заменяет правильно.
Начни с кансерваториев..Что-то там не то
3 Живой Ископаемый
 
18.11.11
22:29
2(0) а если сначала заменить СкидкаЗССумма, а потом СкидкаЗС?
4 vmv
 
18.11.11
22:33
f,fkltnm
5 Axel2009
 
19.11.11
00:25
вообще нормальные формулы рисуют в квадратных скобках, чтобы было понятно что откуда и насколько точно.
6 Total Commander
 
19.11.11
03:56
СтрЗаменить(СтрЗаменить("Сумма * (СкидкаЗС/100) - СкидкаЗССумма", "Скидка3ССумма", "1000"), "Скидка3С", 5);
7 SinglCOOLer
 
19.11.11
08:47
так то оно так, формулы динамические, видимо придется делать сортировку, сначала заменять самые длинные слова
8 andrewks
 
19.11.11
08:55
идентификаторы переменных обрамляй спецсимволами, например, <СкидкаЗС>