Dmitry_Zolotar писал(а):
Такі операції краще робити в коді шаблона, але можна обходитись і виразами.
[GETV(1,Param(58))] - перший елемент, вважаємо що хоч одна агрогрупа має бути
[IIF(GETV(2,Param(58))='-','',', '+GETV(2,Param(58)))] -другий елемент
[IIF(GETV(3,Param(58))='-','',', '+GETV(3,Param(58)))] -третій елемент
і т.д.
Функція IIF (вираз, значення_вірно, значення_невірно) повертає значення_вірно якщо вірний вираз, інакше повертає значення_невірно.
У прикладі вище:
Якщо друга частина параметра 58 дорівнює '-', то повертаємо пусту строку, інакще повертаємо кому, пробіл та значення другої частини параметра 58.
[GETV(1,Param(58))][IIF(GETV(2,Param(58))='-','',', '+GETV(2,Param(58)))][IIF(GETV(3,Param(58))='-','',', '+GETV(3,Param(58)))][IIF(GETV(4,Param(58))='-','',', '+GETV(4,Param(58)))][IIF(GETV(5,Param(58))='-','',', '+GETV(5,Param(58)))][IIF(GETV(6,Param(58))='-','',', '+GETV(6,Param(58)))][IIF(GETV(7,Param(58))='-','',', '+GETV(7,Param(58)))][IIF(GETV(8,Param(58))='-','',', '+GETV(8,Param(58)))][IIF(GETV(9,Param(58))='-','',', '+GETV(9,Param(58)))][IIF(GETV(10,Param(58))='-','',', '+GETV(10,Param(58)))]
P.S. У вкладенні є більш елегантний варіант