forum.bitel.ru
http://forum.bitel.ru/

Кредитный договор, абонентка в конце мес. 5.1
http://forum.bitel.ru/viewtopic.php?f=16&t=7404
Страница 1 из 1

Автор:  AlekseyM [ 08 ноя 2012, 15:04 ]
Заголовок сообщения:  Кредитный договор, абонентка в конце мес. 5.1

Добрый день.
Вроде бы примитивный вопрос, но ответа нигде не нашел. Везде много и четко расписано про авансовую схему.
Собсно есть кредитные клиенты которые платят в следующем месяца за предыдущий, и абонентка у них должна сниматься 1го числа за предыдущий месяц. Условий типа когда первый раз вошел, подневный и т.п не трубется - только конкретная сумма за календарный месяц.
Как реализовать?

Автор:  Phricker [ 08 ноя 2012, 15:10 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

http://bgbilling.ru/v5.2/doc/ch21s06.html
Читать про наборы услуг, автоматический режим и конфигурацию задачи.

Автор:  Phricker [ 08 ноя 2012, 15:12 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Хотя нет. Лучше читать полностью :D Проникнетесь духом так сказать

Автор:  Phricker [ 08 ноя 2012, 15:15 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

А да.
http://bgbilling.ru/v5.1/doc/ch18s06.html
Хотя они обе одинаковые, даже картинка одна и та же. Так оформление сменили :D

Автор:  Phricker [ 08 ноя 2012, 15:16 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

И да я набиваю посты О.О Настроение что-то такое посты понабивать. Весело

Автор:  Cromeshnic [ 08 ноя 2012, 15:19 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Абонентка всегда снимается сразу, только в кредитной схемой клиент в течение месяца работает в минусовом балансе, а потом оплачивает.
Установите кредитовым клиентам отрицательные лимиты и всё ок.

Автор:  Phricker [ 08 ноя 2012, 15:21 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Cromeshnic писал(а):
Абонентка всегда снимается сразу, только в кредитной схемой клиент в течение месяца работает в минусовом балансе, а потом оплачивает.
Установите кредитовым клиентам отрицательные лимиты и всё ок.

Придется постоянно париться если клиенты сменили тариф, а лимит не поменялся.
В этом случае конечно можно повесить скрипт который будет менять лимит автоматически согласно сумме тарифа, но что то еще ни одного нормального корректного решения вычисления суммы абонплаты на договоре я не встречал

Автор:  skyb [ 08 ноя 2012, 15:25 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Phricker писал(а):
Cromeshnic писал(а):
Абонентка всегда снимается сразу, только в кредитной схемой клиент в течение месяца работает в минусовом балансе, а потом оплачивает.
Установите кредитовым клиентам отрицательные лимиты и всё ок.

Придется постоянно париться если клиенты сменили тариф, а лимит не поменялся.
В этом случае конечно можно повесить скрипт который будет менять лимит автоматически согласно сумме тарифа, но что то еще ни одного нормального корректного решения вычисления суммы абонплаты на договоре я не встречал

по одной абонке есть =)
Код:
import java.math.*;
import bitel.billing.server.contract.bean.*;
import bitel.billing.server.tariff.bean.*;
import bitel.billing.server.script.event.*;
import bitel.billing.server.ipn.bean.*;
import bitel.billing.common.KernelConst;
import java.util.*;
import java.text.*;
import java.math.BigDecimal;
import java.math.RoundingMode;
import bitel.billing.server.util.*;
import ru.bitel.bgbilling.server.util.*;
import java.sql.*;
import bitel.billing.server.admin.eventbus.*;
import bitel.billing.server.dialup.bean.busevent.*;
import java.math.*;
import bitel.billing.server.npay.Calculator;
import bitel.billing.common.TimeUtils;
 
private double getCost(int cid)
{
      Calendar dt = new GregorianCalendar();
     dt.add(Calendar.MONTH,1);
      dt.set(Calendar.DAY_OF_MONTH ,dt.getActualMaximum(Calendar.DAY_OF_MONTH));
      Calculator calculator = new Calculator();
      print(TimeUtils.convertCalendarToDateString(dt));
      calculator.setExecutingTime(dt);
      calculator.setPreCalc();
      calculator.setActiveFromDate( dt );
      setup = ru.bitel.bgbilling.server.util.Setup.getSetup();
      calculator.initTask(setup, 0, "mid=4");
      calculator.setCids(""+cid);
      print(""+cid);
      calculator.startTask();
      print (calculator.isCalcErrors());
      BigDecimal planAccount = BigDecimal.ZERO;
       if (!calculator.isCalcErrors())
        {
              Map planAccountMap = calculator.getCostCache().getContractAccounts();
              planAccount = ru.bitel.common.Utils.maskNull((BigDecimal)planAccountMap.get(cid));
       
      }
   res =planAccount.doubleValue()*(dt.getActualMaximum(Calendar.DAY_OF_MONTH)-1);
   return  res;
}

public void onEvent( event, setup, con, conSlave )
{
   print("cost =" +getCost(event.getContractId()));
    event.setSumma(  new BigDecimal( getCost(event.getContractId()) )  );
}

Автор:  AlekseyM [ 08 ноя 2012, 15:29 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Cromeshnic писал(а):
Абонентка всегда снимается сразу, только в кредитной схемой клиент в течение месяца работает в минусовом балансе, а потом оплачивает.
Установите кредитовым клиентам отрицательные лимиты и всё ок.

ВОТ! Может не правильно сформулировал. Именно то и не правильно, что абонентка снимается сразу.
Лимит отрицательный, абонент, по сути, не страдает от абонентки в начале месяца, но хотелось бы чтобы абонентка снималась в конце месяца, за предыдущий дабы не путаться а авансовыми.

Про http://bgbilling.ru/v5.2/doc/ch21s06.html читал, думалось будут варианты попроще, автоматические.
Вопрос то по идее тривиальный.

Автор:  Cromeshnic [ 08 ноя 2012, 15:30 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

У нас лимиты устанавливаются раз в месяц = средней наработке клиента за последние 3 месяца * 10
Кому-то руками выставляют лимит и не меняют.

Автор:  Phricker [ 08 ноя 2012, 15:38 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Cromeshnic писал(а):
У нас лимиты устанавливаются раз в месяц = средней наработке клиента за последние 3 месяца * 10
Кому-то руками выставляют лимит и не меняют.

Т.е. практически на 10 месяцев? Если допустим у него тариф не менялся за последние 3 месяца.

Автор:  Phricker [ 08 ноя 2012, 15:40 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

AlekseyM писал(а):
варианты попроще, автоматические.

<сарказм>установить задачу начисления абонплат в последнее число месяца</сарказм>

Автор:  AlekseyM [ 08 ноя 2012, 16:01 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Phricker писал(а):
AlekseyM писал(а):
варианты попроще, автоматические.

<сарказм>установить задачу начисления абонплат в последнее число месяца</сарказм>

Но тогда ВСЕ абонплаты будут последним числом.
Авансовые в том числе.

Автор:  Phricker [ 08 ноя 2012, 16:10 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Вариантов на самом деле несколько
- Тот, что предложил Кромешник. Какая по сути разница когда начисляется абонплата если абонента не выключило?
- Тот, что предложил я. Завести отдельные абонплаты, отдельные тарифы в которых участвуют эти абонплаты (либо же добавлять вручную абонплаты на договор и их занести в один тариф. я просто сужу из того, что у меня абонплаты синхронизируются скриптом из вики), и начислять за различные абонплаты в разное время
- Обратиться в хелпдеск, и заказать доработку. За деньги делается все :) Что при каком-нибудь пункте аля
Код:
#режим начисления абонплат кредитным договорам. 1 = в конце месяца; 0 = согласно задаче начисления абонплат
charge.npay.for.credit.contracts=0

вам начислялось когда вы хотите.

Автор:  Cromeshnic [ 08 ноя 2012, 18:13 ]
Заголовок сообщения:  Re: Кредитный договор, абонентка в конце мес. 5.1

Да лимит можно вообще ставить -10000000 и не париться. Отключаются кредитовые всё равно какой-нибудь собственной логикой обычно.

Страница 1 из 1 Часовой пояс: UTC + 5 часов [ Летнее время ]
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/