Перенос суммы расхода в наработку RSCM модуля - История изменений http://wiki.bitel.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D1%81%D1%83%D0%BC%D0%BC%D1%8B_%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%BD%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83_RSCM_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F&action=history История изменений этой страницы в вики ru MediaWiki 1.15.1 Fri, 29 Mar 2024 07:39:09 GMT Admin:&#32;Новая страница: «Разработано для 5.0 версии. Функция скрипта поведения обрабатывает событие ядра '''Занесен…» http://wiki.bitel.ru/index.php?title=%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D1%81%D1%83%D0%BC%D0%BC%D1%8B_%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%BD%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83_RSCM_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F&diff=1437&oldid=prev <p>Новая страница: «Разработано для 5.0 версии. Функция скрипта поведения обрабатывает событие ядра &#39;&#39;&#39;Занесен…»</p> <p><b>Новая страница</b></p><div>Разработано для 5.0 версии.<br /> <br /> Функция скрипта поведения обрабатывает событие ядра '''Занесение расхода'''. При поступлении расхода определённого типа он преобразуется в наработку по услуге RSCM модуля из расчёта 1 единица услуги = 1 рубль.<br /> В тарифном плане договора цена данной услуги отражена. Преобразование расхода в услугу происходит только если цена в тарифе найдена. Наработка в договоре появляется после выполения задачи планировщика <br /> '''Начисление RSCM'''.<br /> <br /> &lt;source lang=&quot;java&quot;&gt;<br /> import bitel.billing.server.contract.bean.ChargeManager;<br /> import bitel.billing.server.contract.bean.ContractManager;<br /> import bitel.billing.server.contract.bean.BalanceUtils;<br /> import bitel.billing.server.rscm.bean.*;<br /> import bitel.billing.common.*;<br /> import ru.bitel.common.*;<br /> import bitel.billing.server.tariff.*;<br /> import java.math.*;<br /> <br /> CHARGE_TYPE_ID = 39;<br /> RSCM_MID = 60;<br /> RSCM_SID = 133;<br /> <br /> public void onEvent( event, setup, con, conSlave ) <br /> {<br /> charge = event.getCharge();<br /> cid = event.getContractID();<br /> <br /> if( charge.getChargeTypeID() != CHARGE_TYPE_ID )<br /> {<br /> print( &quot;Skipping process&quot; );<br /> return;<br /> }<br /> <br /> contractManager = new ContractManager( conSlave );<br /> csm = new ContractServiceManager( con, RSCM_MID );<br /> chm = new ChargeManager( con );<br /> bu = new BalanceUtils( con );<br /> <br /> date = TimeUtils.convertDateToCalendar( charge.getChargeDate() );<br /> tts = contractManager.getRealtimeTariffTreeSet( cid, date, &quot;rscm&quot;, RSCM_MID, true );<br /> <br /> tree = tts.getTree( date );<br /> if( tree == null )<br /> {<br /> error( &quot;Not found RSCM tariff&quot; );<br /> return;<br /> }<br /> <br /> req = new TariffRequest();<br /> req.setRequestParam( &quot;sid&quot;, RSCM_SID );<br /> req.setRequestParam( &quot;time&quot;, date );<br /> <br /> tree.processRequest( req );<br /> <br /> cost = req.getResponseParam( &quot;cost&quot; );<br /> divisor = req.getResponseParam( &quot;divisor&quot; );<br /> if( !req.wasAccepted() || cost == null || divisor == null || divisor &lt;= 0 )<br /> {<br /> error( &quot;Incorrect result tariff RSCM request. cost: &quot; + cost + &quot;; devisor: &quot; + devisor );<br /> return;<br /> }<br /> <br /> cs = new ContractService();<br /> cs.setContractId( event.getContractID() );<br /> cs.setDate( date );<br /> cs.setServiceId( RSCM_SID );<br /> cs.setAmount( Utils.parseLong( charge.getSumma().setScale( 0, BigDecimal.ROUND_HALF_UP ).toPlainString() ) );<br /> cs.setComment( &quot;Перенос расхода&quot; );<br /> <br /> csm.updateContractService( cs ); <br /> <br /> charge.setSumma( BigDecimal.ZERO );<br /> chm.updateCharge( charge );<br /> <br /> bu.updateBalance( charge.getChargeDate(), cid );<br /> }<br /> &lt;/source&gt;</div> Tue, 20 Apr 2010 09:38:36 GMT Admin http://wiki.bitel.ru/index.php/%D0%9E%D0%B1%D1%81%D1%83%D0%B6%D0%B4%D0%B5%D0%BD%D0%B8%D0%B5:%D0%9F%D0%B5%D1%80%D0%B5%D0%BD%D0%BE%D1%81_%D1%81%D1%83%D0%BC%D0%BC%D1%8B_%D1%80%D0%B0%D1%81%D1%85%D0%BE%D0%B4%D0%B0_%D0%B2_%D0%BD%D0%B0%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D1%83_RSCM_%D0%BC%D0%BE%D0%B4%D1%83%D0%BB%D1%8F