Биллинговая система Nodeny
21 Ноября 2024, 19:54:21 *
Добро пожаловать, Гость. Пожалуйста, войдите или зарегистрируйтесь.
Вам не пришло письмо с кодом активации?

Войти
Новости: Прекращена поддержка версии Nodeny 49
 
   Начало   Помощь Поиск Войти Регистрация  
Страниц: 1 2 [3]
  Печать  
Автор Тема: Не верно снимаются средства  (Прочитано 22402 раз)
elite
Начальник планеты
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1226

In LAN we trust!

358714596
Просмотр профиля
« Ответ #30 : 04 Мая 2020, 16:51:30 »

даже не с 5го числа, а сделать опцию "до хх%% не производить перерасчет"
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #31 : 06 Мая 2020, 15:59:17 »

Сделал. Фича будет в next (пока не обновлял, собираю фичи и вылью скопом). Если кому горит:

В services.pm после:

Код:
$mode =~ /^(2|4)$/ or last;
добавить:
Код:
 last if $mode == 2 && (localtime())[3] <= int($cfg::end_month_srv_nochange_day);
или
Код:
 last if $mode == 2 && (localtime())[3] <= день_до_котого_не_делать_перерасчет;

если день_до_котого_не_делать_перерасчет = 2, то первого и второго числа перерасчет не будет
Записан
relikts
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 30


Просмотр профиля Email
« Ответ #32 : 07 Мая 2020, 14:18:20 »

Спасибо огромное!  Смеющийся Этот механизм будет работать и когда оператор пополняет счет и происходит активация услуги (скажем 2 числа) и 1 числа месяца когда в 0.00 произойдет нормальное списание? То есть спишется полная сумма указанная в тарифе?

С днем связи!!!!  
Записан
sanya-antr
Новичок
*

Карма: 0
Offline Offline

Сообщений: 4


Просмотр профиля
« Ответ #33 : 11 Мая 2020, 10:08:39 »

День добрый. Подскажите что подправить. Услуга должна завершаться в 0.00 и переходить в статус заморожена, а она завершается в разное время.
Записан
relikts
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 30


Просмотр профиля Email
« Ответ #34 : 23 Мая 2020, 12:42:28 »

Здравствуйте в нодени плюс не нахожу такого кода. Находил 2 файла, ни в одном из них нет, поиск файла с текстом внутри тоже ничего не дал.

Да ради бога, если не боитесь, что клиенты подадут в общество защиты потребителей за то, что денег списали в разы больше использованных услуг, то просто в файле services.pm замените фрагмент:

Код:
                $p->{mode} =~ /^(2|4)$/ or last;
на
Код:
                $p->{mode} =~ /^(4)$/ or last;


Записан
relikts
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 30


Просмотр профиля Email
« Ответ #35 : 23 Мая 2020, 12:48:41 »

Этого тоже не нахожу.


Сделал. Фича будет в next (пока не обновлял, собираю фичи и вылью скопом). Если кому горит:

В services.pm после:

Код:
$mode =~ /^(2|4)$/ or last;
добавить:
Код:
 last if $mode == 2 && (localtime())[3] <= int($cfg::end_month_srv_nochange_day);
или
Код:
 last if $mode == 2 && (localtime())[3] <= день_до_котого_не_делать_перерасчет;

если день_до_котого_не_делать_перерасчет = 2, то первого и второго числа перерасчет не будет
Записан
Efendy
Администратор
Спец
*****

Карма: 138
Offline Offline

Сообщений: 4790



Просмотр профиля
« Ответ #36 : 25 Мая 2020, 22:14:19 »

Блин, я же не могу поддерживать все устаревшие ревизии.  В N+ такой код есть. Если у вас не обновленный бил, тогда ищите фрагмент
Код:
(2|4)
например он есть в
Код:
if( ref $actions->{set_service} && $actions->{set_service}{mode} =~ /^(2|4)$/ && !$const_price )
Еще есть такие фрагменты:
Код:
$p->{mode} == 2
их можно заменить на
Код:
0
Записан
relikts
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 30


Просмотр профиля Email
« Ответ #37 : 26 Мая 2020, 12:01:35 »

Спасибо, что уже стоит биллинг обновить?
Записан
relikts
Пользователь
**

Карма: 0
Offline Offline

Сообщений: 30


Просмотр профиля Email
« Ответ #38 : 26 Мая 2020, 14:30:30 »

У меня вот такой код есть только, код (2|4) или {2|4}  не находится нигде. Хелп.  Непонимающий
Код:
# Режим уменьшения длительности услуги до X числа следующего месяца
            if( ref $actions->{set_service} && $actions->{set_service}{mode} == 2 && !$const_price )
            {
                my %p = %{$actions->{set_service}};
                $p{tm1} == $p{tm2} && last; # защита
                my $k = sprintf '%.2f', ($p{tm_end} - $p{tm_start}) / ($p{tm2} - $p{tm1});
                $k = 0.01 if $k < 0.01;
                # Неполный месяц, коэффициент $k может быть > 1 кстати
                $reason->{last_day_k} = $k;
                $cash = sprintf '%.2f', $k * $cash;

Блин, я же не могу поддерживать все устаревшие ревизии.  В N+ такой код есть. Если у вас не обновленный бил, тогда ищите фрагмент
Код:
(2|4)
например он есть в
Код:
if( ref $actions->{set_service} && $actions->{set_service}{mode} =~ /^(2|4)$/ && !$const_price )
Еще есть такие фрагменты:
Код:
$p->{mode} == 2
их можно заменить на
Код:
0

Записан
Страниц: 1 2 [3]
  Печать  
 
Перейти в:  

Powered by MySQL Powered by PHP Powered by SMF 1.1.20 | SMF © 2006-2009, Simple Machines Valid XHTML 1.0! Valid CSS!