Expressions
Expressions
http://abills.net.ua/wiki/doku.php?id=a ... ules:dv:ru
PARAMETER_TYPE (Костанты):
...
...
PRICE_IN - Цена за входящий трафик
PRICE_OUT - Цена за исходящий трафик
Примеры
...
...
Если суммарные трафик за учётный период больше 1000 мегабайт, то цена за 1 мб. 0.2 расчётных единицы
TRAFFIC_SUM>1000=PRICE:0.2;
Какой именно PRICE имеется в ввиду в примере (IN, OUT, SUM)?
PARAMETER_TYPE (Костанты):
...
...
PRICE_IN - Цена за входящий трафик
PRICE_OUT - Цена за исходящий трафик
Примеры
...
...
Если суммарные трафик за учётный период больше 1000 мегабайт, то цена за 1 мб. 0.2 расчётных единицы
TRAFFIC_SUM>1000=PRICE:0.2;
Какой именно PRICE имеется в ввиду в примере (IN, OUT, SUM)?
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Что-то не получается заставить их работать
Требуется: считать входящий траффик по одной цене, если он превышает определнный объем, то пересчитать по другой цене. Делаю так:
В / Система/ Dialup / VPN/ Тарифные планы/ Интервалы/ задаю
Тарифы трафика (1 Mb) IN: x (первоначальная цена)
в Expressions
TRAFFIC_IN>n=PRICE_IN:y;
TRAFFIC_IN>m=PRICE_IN:z;
Но перейдя порог в n видно, что цена начисляется по прежнему по x. Это раз. И тутже еще один вопрос: нужно чтобы весь траффик пересчитывался по цене превышения. Я так понимаю что здесь будет считаться по новой цене только только уже новый траффик, а старый пересчитываться не будет? Как это организовать правильно?

Требуется: считать входящий траффик по одной цене, если он превышает определнный объем, то пересчитать по другой цене. Делаю так:
В / Система/ Dialup / VPN/ Тарифные планы/ Интервалы/ задаю
Тарифы трафика (1 Mb) IN: x (первоначальная цена)
в Expressions
TRAFFIC_IN>n=PRICE_IN:y;
TRAFFIC_IN>m=PRICE_IN:z;
Но перейдя порог в n видно, что цена начисляется по прежнему по x. Это раз. И тутже еще один вопрос: нужно чтобы весь траффик пересчитывался по цене превышения. Я так понимаю что здесь будет считаться по новой цене только только уже новый траффик, а старый пересчитываться не будет? Как это организовать правильно?
Я просто в коде посмотрел, что во время разбора кода выражений результат записывается в хэш по ключу в левой части выражения, в вашем случае по ключу "TRAFFIC_IN". Таким образом запоминается только последнее выражение с участием TRAFFIC_IN.Turbid писал(а): Как-то это расходится с этим:Система просматривает формулы с верху до низу и заканчивает просмотр на первом неверном выражении.
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Turbid писал(а):Как-то это расходится с этим:Учитывается только последняя TRAFFIC_IN.Как сделать чтобы если пользователь в месяц накачал, например, 300 метров - цена за метр 2 рубля, 600 - 1,5, 1000 - 1?Система просматривает формулы с верху до низу и заканчивает просмотр на первом неверном выражении.
Если пользователь за учётный период накачал: 300 метров - цена за 1 мб. 2 расчётных единицы; 600 - 1.5; больше 1000 - 1
TRAFFIC_SUM>300=PRICE:2;
TRAFFIC_SUM>600=PRICE:1.5;
TRAFFIC_SUM>1000=PRICE:1;
Значит так: в тарифный план ставлю цену за входящий 3, и вот такое выражение:
Захожу в статистику IPN одного из пользователей, накачавших за этот месяц уже 128Mb. Выбираю вышеописанный тарифный план и нажимаю пересчитать. В результате пересчета с него считывается 386 рублей, а не 128 (т.к. > 30Mb).
Куда смотреть?
Код: Выделить всё
TRAFFIC_IN>10=PRICE_IN:2;
TRAFFIC_IN>20=PRICE_IN:1.5;
TRAFFIC_IN>30=PRICE_IN:1;
Куда смотреть?
-
- Site Admin
- Сообщения: 5749
- Зарегистрирован: Пт янв 28, 2005 3:11 pm
- Контактная информация:
Фак!~AsmodeuS~ писал(а):екпрешины работают пока только для ДВ

Временное решение вижу таким: например, для моего случая, можно завести 3 дополнительных тарифа и пересчитывать в зависимости от траффика по соответствующему. Надо подумать как автоматизировать еще.chtito2 писал(а): Фак!Вот лажа то мощнейшая.... Спасибо Turbid что поднял эту тему пока мы не успели запустить Абиллс в производство, в доках то ни фига не написано. Придется срочно лепить самостоятельное решение для Ipn...
Это да.chtito2 писал(а):В очередной раз огромное спасибо автору.