Изменения

Перейти к: навигация, поиск

Дополнительные возможности

2576 байт добавлено, Вчера в 07:50
Скрипты
'''OnBeforeSendSMS''' - выполняется перед рассылкой шаблона СМС. Содержит в себе %MessageText% - текст сообщения отправляемого по шаблону, %Phone% - номер телефона. Если возвращает значение -1, отправка стандартными средствами не происходит.
 
 
'''TariffCalculatorTotal''' - функция для настройки простой формы тарификатора. Работает в двух режимах: sql - запрос для построения грида. В режиме доступны теги: %ClientCode%' - код клиента, '%PriceCode%' - код прайса клиента. Столбцы SQL запроса строго фиксированы: code - код поля, fieldname - название поля, costparams - варианты цен через запятую (для отображения комбобокса), modlist - список названий для разных цен через запятую, modvalue - выбраный элемент. Второй режим это формула расчета строки, в этом режиме доступен dataset со всеми ранее рассчитанными строками и теги '%FieldCode%', '%Cost%', '%Quantity%', '%ClientCode%', '%PriceCode%', '%DefaultTotal%'.
 
<source lang="sql">
<?>
<?>
if('%code%'='sql',
'(SELECT s.statecode AS code, -- код поля
s.name AS fieldname, -- название поля
IFNULL(uf.varvalue, "") AS costparams, -- варианты цен через запятую (для отображения комбобокса)
IFNULL(unquotedstr(getparam(s2.advansed, 3)), "") AS modlist, -- список названий для разных цен через запятую
IFNULL(mods.`varValue`, '''') AS modvalue -- выбраный элемент
FROM states s
LEFT JOIN userfields uf ON uf.sourcetable=11 AND uf.sourcecode=%PriceCode% AND uf.varcode=s.statecode
LEFT JOIN userfields AS mods ON mods.`sourceCode`=%ClientCode%
AND mods.sourcetable=2 AND mods.varcode = CAST(uf.varcode AS SIGNED) - 20 AND mods.`varCode` IN (10,11)
LEFT JOIN states s2 ON s2.statetype=35 AND s2.`StateCode`=mods.`varCode`
WHERE s.statetype=45
AND IFNULL(s.hidden,"F")="F"
AND getparam(s.advansed, 1) <> "0"
ORDER BY s.statecode)
union (SELECT 1000,"ПОДДЕРЖКА", "1,2,3", "Поддержка 1, Поддержка 2, Поддержка 3","" )
'
,
if(%FieldCode%=1000,
case(
when(%Cost%=1,
100
);
when(%Cost%=2,
200
);
when(%Cost%=3,
300
);
)
,
%cost%*%Quantity%
)
)
</source>
539
правок

Навигация