Биллинговая система Nodeny

Главная категория => Nodeny 50 => Тема начата: Inzevision от 24 Апреля 2012, 07:54:59



Название: Не начислять скидку на доп. услуги. Как?
Отправлено: Inzevision от 24 Апреля 2012, 07:54:59
Есть несколько доп услуг. Антивирус, реальный ИП, ИП-ТВ. Всё это стоит не дорого, но стоит. Дело в том, что когда начисляется скидка, она начисляется на полную абонплату, включая доп. услуги. Можно ли как-то сделать, что бы на доп услуги скидка не начислялась, а начислялась только на основную услугу?


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: Efendy от 24 Апреля 2012, 08:20:28
можно, но геморно: надо код nomoney.pl хорошо поправить


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: ser970 от 01 Мая 2012, 10:38:05
Есть несколько доп услуг. Антивирус, реальный ИП, ИП-ТВ. Всё это стоит не дорого, но стоит. Дело в том, что когда начисляется скидка, она начисляется на полную абонплату, включая доп. услуги. Можно ли как-то сделать, что бы на доп услуги скидка не начислялась, а начислялась только на основную услугу?

nomoney.pl

Код:
if( $service )
{  # по крайней мере 1 услуга активирована
   for ($i=1;$i<32;$i++,$service>>=1)
   {
      next unless $service & 1;
      $m=$srv_p[$i];
      $money+=$m;
к  виду
Код:
if( $service )
{  # по крайней мере 1 услуга активирована
   for ($i=1;$i<32;$i++,$service>>=1)
   {
      next unless $service & 1;
      $m=$srv_p[$i];
      $money2+=$m;

Код:
 
if ($mode_report)
{
   if ($discount)
   {

      $ret->{report}.=sprintf("<tr class=".&prow($r1,$r2)."><td colspan=4>Итоговая стоимость тарифного плана, $gr</td><$td><span class=data2>%.2f</span></td></tr>",$m).
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, %</span></td><$td><span class=data1>$discount</span></td></tr>".
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, $gr</span></td><$td><span class=data1>$i</span></td></tr>";
   }
   $ret->{report}.="<tr class=".&prow($r1,$r2)."><td colspan=4><b>Итого к оплате</b>, $gr</td><$td><span class=data2>$money</span></td></tr>";
к виду
Код:
if ($mode_report)
{
   if ($discount)
   {

      $ret->{report}.=sprintf("<tr class=".&prow($r1,$r2)."><td colspan=4>Итоговая стоимость тарифного плана, $gr</td><$td><span class=data2>%.2f</span></td></tr>",$m).
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, %</span></td><$td><span class=data1>$discount</span></td></tr>".
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, $gr</span></td><$td><span class=data1>$i</span></td></tr>";
   }
   $money3=$money+$money2;
   $ret->{report}.="<tr class=".&prow($r1,$r2)."><td colspan=4><b>Итого к оплате</b>, $gr</td><$td><span class=data2>$money3</span></td></tr>";

Код:
$ret->{money}=$money;
$ret->{money_over}=$money_over;
return $ret;
к виду
Код:
$ret->{money}=$money+$money2;
$ret->{money_over}=$money_over;
return $ret;

переход не проверялся - но пологике должно работать. на услуги скидку не начисляем так хотел?


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: PHOENIX от 21 Февраля 2013, 12:55:05
как раз пригодилось ...
но ...
Итоговая стоимость тарифного плана, отражает только стоимость тарифа ($m)
правильней $m+$money2
 
Код:
if ($mode_report)
{
   if ($discount)
   {

      $ret->{report}.=sprintf("<tr class=".&prow($r1,$r2)."><td colspan=4>Итоговая стоимость тарифного плана, $gr</td><$td><span class=data2>%.2f</span></td></tr>",$m).
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, %</span></td><$td><span class=data1>$discount</span></td></tr>".
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, $gr</span></td><$td><span class=data1>$i</span></td></tr>";
   }
   $ret->{report}.="<tr class=".&prow($r1,$r2)."><td colspan=4><b>Итого к оплате</b>, $gr</td><$td><span class=data2>$money</span></td></tr>";

к виду
Код:
if ($mode_report)
{
   if ($discount)
   {

      $ret->{report}.=sprintf("<tr class=".&prow($r1,$r2)."><td colspan=4>Итоговая стоимость тарифного плана, $gr</td><$td><span class=data2>%.2f</span></td></tr>",$m+$money2).
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, %</span></td><$td><span class=data1>$discount</span></td></tr>".
        "<tr class=".&prow($r1,$r2)."><td colspan=4><span class=data1>Скидка, $gr</span></td><$td><span class=data1>$i</span></td></tr>";
   }
   $money3=$money+$money2;
   $ret->{report}.="<tr class=".&prow($r1,$r2)."><td colspan=4><b>Итого к оплате</b>, $gr</td><$td><span class=data2>$money3</span></td></tr>";


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: PHOENIX от 30 Апреля 2013, 23:37:57
В прошлом месяце проверил на "живых" абонентах  :-\
Хорошо что 1е Апреля и абоненты восприняли балансы в "минус несколько тысяч" как шутку.
А оказалось-то в начале не хватает:

Код:
my ($k,$money,$money_over,$price,$m,$p,$i,$preset,$p_price,$real_start_day)=(1,0,0,0,0,0,0,0,0,0);
на
Код:
my ($k,$money,$money2,$money_over,$price,$m,$p,$i,$preset,$p_price,$real_start_day)=(1,0,0,0,0,0,0,0,0,0,0);

и

Код:
my $ret={
 money => 0,
 money_over => 0,
на
Код:
my $ret={
 money => 0,
 money2 => 0,
 money_over => 0,


... проверено только-что. Май запустился прелестно !
тариф со скидкой + доп.услуга без скидки

з.ы.
кстати в правке вверху я бы использовал не $m+$money2, а $money
тогда "Итоговая стоимость тарифного плана" будет показывать стоимость тарифа со скидкой,
ниже будет расшифровка скидки
ниже будет "Сумма к оплате" (тариф со скидкой + доп. услуга)
так вроде корректней.


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: ser970 от 01 Мая 2013, 10:02:12
В прошлом месяце проверил на "живых" абонентах  :-\
Хорошо что 1е Апреля и абоненты восприняли балансы в "минус несколько тысяч" как шутку.

я же написал что не проверялось....


Название: Re: Не начислять скидку на доп. услуги. Как?
Отправлено: goletsa от 31 Мая 2016, 08:03:07
Спасибо за диффы, сегодня вот тоже попробую проверить это у себя.