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

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

Карма: 0
Offline Offline

Сообщений: 113


Просмотр профиля Email
« : 03 Марта 2015, 11:40:18 »

Здравствуйте!

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

Спасибо!
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1443



Просмотр профиля
« Ответ #1 : 03 Марта 2015, 13:38:42 »

Здравствуйте!

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

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

Карма: 0
Offline Offline

Сообщений: 128


Просмотр профиля Email
« Ответ #2 : 03 Марта 2015, 14:22:40 »

ваши настройки
Название поля     Вид 1       Вид 2       Вид 3
id                         x                      x                    x

и будет виден id(у каждого клиента) при нажатии в меню на "Клиенты"
Записан
NTE
NoDeny
Постоялец
*

Карма: 0
Offline Offline

Сообщений: 113


Просмотр профиля Email
« Ответ #3 : 03 Марта 2015, 14:35:56 »

В "Клиентская статистика" - "Квитанции" -  "Лицевой счет"
Записан
Cell
NoDeny
Спец
*

Карма: 52
Offline Offline

Сообщений: 1443



Просмотр профиля
« Ответ #4 : 03 Марта 2015, 16:06:44 »

Ну это ППК. Из него легко найти id клиента отбросив и не у4итывая последнюю цифру. Проверьте ))) вам понравится!
Записан
0xbad0c0d3
гуру nodeny )
NoDeny
Спец
*

Карма: 116
Offline Offline

Сообщений: 1059



Просмотр профиля
« Ответ #5 : 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.
Записан
cjayho
Новичок
*

Карма: 0
Offline Offline

Сообщений: 4


Просмотр профиля Email
« Ответ #6 : 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;
}
}
Записан
Страниц: [1]
  Печать  
 
Перейти в:  

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