BiTel

Форум BiTel
bgbilling.ru     docs.bitel.ru     wiki.bitel.ru     dbinfo.bitel.ru     bgcrm.ru     billing.bitel.ru     bitel.ru    
Текущее время: 23 июн 2025, 02:26

Часовой пояс: UTC + 5 часов [ Летнее время ]




Начать новую тему Ответить на тему  [ Сообщений: 9 ] 
Автор Сообщение
 Заголовок сообщения: Баланс абонента
СообщениеДобавлено: 13 окт 2010, 14:17 
Не в сети

Зарегистрирован: 16 сен 2009, 13:40
Сообщения: 30
Карма: 0
У меня вопрос по балансу абонентов.
Дело в том, что записи в таблице contract_balance в текущем месяце появляются только после того как баланс абонента изменился, например, поступил платеж. А мне нужно, наоборот, вычислить тех, кто не платил.
Я делаю примерно такой запрос:
SELECT summa1+summa2-summa3-summa4 FROM contract_balance WHERE yy=2010 AND mm=10
и получаю незначительное на сегодняшний день кол-во договоров.
Вопрос в том, как получить полный список договоров с их балансом.
Версия биллинга 4.6


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 13 окт 2010, 14:20 
Не в сети
Аватара пользователя

Зарегистрирован: 30 май 2008, 15:51
Сообщения: 6055
Карма: 244
Ну так смотрите за прошлый, исходящий остаток. Что значит "вычислить тех, кто не платил".

_________________
I'm clever. I've got a computer.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 13 окт 2010, 14:54 
Не в сети
Разработчик

Зарегистрирован: 07 апр 2007, 23:51
Сообщения: 4494
Откуда: Уфа, Россия
Карма: 187
"кто не платил" - это те кто не платил в этом месяце? если да то тогда смотрите таблицу с платежами


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 13 окт 2010, 15:07 
Не в сети

Зарегистрирован: 16 сен 2009, 13:40
Сообщения: 30
Карма: 0
"Вычислить тех, кто не платит" означает определить абонентов с отрицательным балансом.
Например менее -10 руб.


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 13 окт 2010, 15:12 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 03 авг 2009, 18:42
Сообщения: 7166
Откуда: Благовещенск
Карма: 241
может это?

_________________
Код:
  Клиент: вер. 6.2.714 / 25.05.2015 17:27:15
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
  Сервер: вер. 6.2.881 / 22.05.2015 17:56:55
    os: Linux; java: Java HotSpot(TM) 64-Bit Server VM, v.1.8.0_45
Помощь по администрированию bgbilling в jabber конференции или Группа в telegram
Стиль программирования - пьяный мастерстер
Разработка мобильных приложений


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 14 окт 2010, 10:13 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
CREATE FUNCTION `get_balance`(contract int(10) unsigned) RETURNS decimal(10,2)
READS SQL DATA
COMMENT 'returns current balance by cid'
BEGIN DECLARE balance decimal(10,2); SELECT summa1+summa2-summa3-summa4 INTO balance FROM contract_balance where cid=contract and (yy<<4)+mm<=(year(now())<<4)+month(now()) ORDER BY yy desc, mm desc LIMIT 0,1; RETURN balance; END


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 14 окт 2010, 12:08 
Не в сети

Зарегистрирован: 16 сен 2009, 13:40
Сообщения: 30
Карма: 0
Можно немного подробнее.
Что это, и как им воспользоваться?


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 14 окт 2010, 13:46 
Не в сети
Клиент
Аватара пользователя

Зарегистрирован: 20 апр 2009, 12:03
Сообщения: 3092
Откуда: Иркутск
Карма: 338
Это SQL-запрос на создание сохранённой функции с именем get_balance(cid), которая возвращает текущий баланс договора. Удобно потом писать в запросах.

Например:
Код:
select c.id, c.title, get_balance(c.id) from contract c;


Вернуться к началу
 Профиль  
 
 Заголовок сообщения: Re: Баланс абонента
СообщениеДобавлено: 14 окт 2010, 15:56 
Не в сети

Зарегистрирован: 16 сен 2009, 13:40
Сообщения: 30
Карма: 0
Большое спасибо за консультацию, запрос работает.


Вернуться к началу
 Профиль  
 
Показать сообщения за:  Поле сортировки  
Начать новую тему Ответить на тему  [ Сообщений: 9 ] 

Часовой пояс: UTC + 5 часов [ Летнее время ]


Кто сейчас на конференции

Сейчас этот форум просматривают: Bing [Bot] и гости: 1


Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете добавлять вложения

Найти:
Перейти:  
cron
POWERED_BY
Русская поддержка phpBB
[ Time : 0.041s | 35 Queries | GZIP : On ]