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

Главная категория => Nodeny 50 => Тема начата: NTE от 03 Марта 2015, 11:40:18



Название: Поис по лицевому счету
Отправлено: NTE от 03 Марта 2015, 11:40:18
Здравствуйте!

NoDeny ver. 50.32
Абоненты платят через терминалы, в качестве идентификатора используем лицевой счет.
Подскажите плз. как можно отыскать абонента по лицевому счету?
или хотя бы по id

Спасибо!


Название: Re: Поис по лицевому счету
Отправлено: Cell от 03 Марта 2015, 13:38:42
Здравствуйте!

NoDeny ver. 50.32
Абоненты платят через терминалы, в качестве идентификатора используем лицевой счет.
Подскажите плз. как можно отыскать абонента по лицевому счету?
или хотя бы по id

Спасибо!
А 4то именно вы в терминах биллинга называете лицевым с4етом? Поиск по номеру контракта или по id допступен после нажатия на кнопку "ОПЕРАЦИИ" и нужно быть слепым, 4тобы этого не заметить.


Название: Re: Поис по лицевому счету
Отправлено: Belos от 03 Марта 2015, 14:22:40
ваши настройки
Название поля     Вид 1       Вид 2       Вид 3
id                         x                      x                    x

и будет виден id(у каждого клиента) при нажатии в меню на "Клиенты"


Название: Re: Поис по лицевому счету
Отправлено: NTE от 03 Марта 2015, 14:35:56
В "Клиентская статистика" - "Квитанции" -  "Лицевой счет"
(http://f6.s.qip.ru/rg8it0QE.png)


Название: Re: Поис по лицевому счету
Отправлено: Cell от 03 Марта 2015, 16:06:44
Ну это ППК. Из него легко найти id клиента отбросив и не у4итывая последнюю цифру. Проверьте ))) вам понравится!


Название: Re: Поис по лицевому счету
Отправлено: 0xbad0c0d3 от 04 Марта 2015, 10:28:39
Ну это ППК. Из него легко найти id клиента отбросив и не у4итывая последнюю цифру. Проверьте ))) вам понравится!
Вот ты жулик! Опередил меня )))
Цитата: nodeny_docs
Справка.

Персональный платежный код - это уникальный код клиента, который обладает небольшими средствами защиты. Дело в том, что клиенты нередко ошибаются и вместо идентификатора вводят сумму пополнения либо номер договора, либо просто ошибаются при вводе. Автор системы решил реализовать защиту аналогично как она реализована в банковских счетах. Идентификатор защищается контрольной суммой так, что при ошибке ввода, с довольно большой вероятностью идентификатор становится недействительным.

В системе NoDeny идентификатор формируется таким образом: берется id клиента по биллингу, все цифры этого id складываются, после чего последняя цифра от полученной суммы приписывается к первоначальному id. (Технически эта операция называется «сложение по модулю 10»)

Например. У клиента id=5907. Складываем все цифры его идентификатора: 5 + 9 + 0 + 7 = 21. Берем последнюю цифру полученной суммы: 1, приписываем к id и получаем персональный платежный код клиента: 59071.

Если при вводе клиент ошибется в одной из цифр, например, введет 58071, то при проверке 5 + 8 + 0 + 7 = 20, 0 не равен 1, поэтому клиенту будет сообщено об ошибке. Так же, если клиент ошибется и вместо номера платежного кода попытается ввести сумму пополнения, то она с большой вероятностью не попадет под описанный шаблон, например, 100, 50, 25, 120 и т.д. сформируют ошибку. А 550 грн - нет. Тем не менее, данный алгоритм позволяет отсеять подавляющее большинство ошибок.

Если возникнет необходимость выяснить идентификатор клиента по платежному коду, то это не составит труда - достаточно отбросить последнюю цифру, так если ППК = 1236, то id клиента = 123.


Название: Re: Поис по лицевому счету
Отправлено: cjayho от 24 Ноября 2023, 15:37:49
Пошук власне у білінгу (у поле пошуку набираємо =платіжнийкод)

/usr/local/nodeny/web/listuser.pl

шукаємо рядок

Код:
     ($f_name ne $FnameSql) && &Check_Sql('fio',"%$f_name%",$tr_name,'ФИО с транслитерацией','fio') && last;
   }

вставляємо нижче

Код:
	if( $Fname =~ m/=\d+/ )
{
my($l_id) = $Fname;
$l_id =~ s/=//;
$l_id=~s/^0+//;
my ($l_id,$csum) = ($l_id=~/^(\d+)(\d)/);
my $ppc=0;
$ppc += $_ foreach(split //,$l_id);

if( $ppc%10==$csum )
{
&Check_Sql('id',$l_id,$l_id,'платежный код','id') && last;
}
}