Расширенные счета модуля бухгалтерии
Материал из BiTel WiKi
Magic (Обсуждение | вклад) |
Magic (Обсуждение | вклад) |
||
Строка 10: | Строка 10: | ||
Оба файла должны лежать в webroot/xsl, в типе документа указывается bill.jrxml. bill_subreport0.jrxml - это подотчет используемый bill.jrxml, именно в нем выводится список МГ/МН звонков, посредством запросов в базу. | Оба файла должны лежать в webroot/xsl, в типе документа указывается bill.jrxml. bill_subreport0.jrxml - это подотчет используемый bill.jrxml, именно в нем выводится список МГ/МН звонков, посредством запросов в базу. | ||
+ | |||
+ | В типе документа должны присутствовать позиции долг за предыдущий и оплачено за текущий месяцы. | ||
+ | В данном примере коды этих позиций 5 и 6: | ||
+ | bill.pos.5.title=Долг | ||
+ | bill.pos.5.name=Долг на $month | ||
+ | bill.pos.5.summ=DEBT($prevmonth) | ||
+ | bill.pos.5.quantity=1 | ||
+ | bill.pos.5.unit= | ||
+ | bill.pos.6.title=Оплачено | ||
+ | bill.pos.6.name=Оплачено за $month | ||
+ | bill.pos.6.summ=-PAYMENT($month) | ||
+ | bill.pos.6.quantity=1 | ||
+ | bill.pos.6.unit= | ||
Для корректной работы необходимо скорректировать переменные (variables) в bill.jrxml: | Для корректной работы необходимо скорректировать переменные (variables) в bill.jrxml: | ||
Строка 15: | Строка 28: | ||
* localService - код услуги местной телефонии, для вывода кол-ва минут по местной связи, целое число, new Integer( $localService ); | * localService - код услуги местной телефонии, для вывода кол-ва минут по местной связи, целое число, new Integer( $localService ); | ||
* mgmnServices - коды услуг МГ/МН связи, через запятую, звонки с этими услугами будут в расшифровке, строка. | * mgmnServices - коды услуг МГ/МН связи, через запятую, звонки с этими услугами будут в расшифровке, строка. | ||
- | * outSaldo - | + | * outSaldo - сальдо на начало текущего месяца, т.е значении позиции долг * (-1) - '''-(java.lang.Float)$P{_xpath}.selectObject("/data/bill/pos[@position_id='6']/@summ", java.lang.Float.class)''' |
- | * account - | + | * account - наработка, т.е сумма позиций, исключая позиции долг и оплачено - '''( $F{position_id}!=5 && $F{position_id}!=6 ? $F{summ} : new Float(0) )''' |
- | А также в зоне detail шаблона - указать какие позиции счета не отображать (это должны быть позиции счета долг | + | А также в зоне detail шаблона - указать какие позиции счета не отображать (это должны быть позиции счета долг и платежи, 5 и 6 для данного примера) |
Версия 07:28, 17 апреля 2008
С версии 4.4 возможно использование в качестве шаблона счета формата jasperreports (аналогично модулю отчетов) вместо xsl. Для его редактирования рекомендуется использовать приложение iReport (версии >= 2.0).
Так же как и xsl шаблон, jrxml шаблон необходимо скопировать в webroot/xsl и указать его имя в типе документа.
Пример счета за телефонию
http://bgbilling.ru/reports/bill.jrxml
http://bgbilling.ru/reports/bill_subreport0.jrxml
Оба файла должны лежать в webroot/xsl, в типе документа указывается bill.jrxml. bill_subreport0.jrxml - это подотчет используемый bill.jrxml, именно в нем выводится список МГ/МН звонков, посредством запросов в базу.
В типе документа должны присутствовать позиции долг за предыдущий и оплачено за текущий месяцы. В данном примере коды этих позиций 5 и 6: bill.pos.5.title=Долг bill.pos.5.name=Долг на $month bill.pos.5.summ=DEBT($prevmonth) bill.pos.5.quantity=1 bill.pos.5.unit= bill.pos.6.title=Оплачено bill.pos.6.name=Оплачено за $month bill.pos.6.summ=-PAYMENT($month) bill.pos.6.quantity=1 bill.pos.6.unit=
Для корректной работы необходимо скорректировать переменные (variables) в bill.jrxml:
- mid - код модуля телефонии, целое число, new Integer( $mid );
- localService - код услуги местной телефонии, для вывода кол-ва минут по местной связи, целое число, new Integer( $localService );
- mgmnServices - коды услуг МГ/МН связи, через запятую, звонки с этими услугами будут в расшифровке, строка.
- outSaldo - сальдо на начало текущего месяца, т.е значении позиции долг * (-1) - -(java.lang.Float)$P{_xpath}.selectObject("/data/bill/pos[@position_id='6']/@summ", java.lang.Float.class)
- account - наработка, т.е сумма позиций, исключая позиции долг и оплачено - ( $F{position_id}!=5 && $F{position_id}!=6 ? $F{summ} : new Float(0) )
А также в зоне detail шаблона - указать какие позиции счета не отображать (это должны быть позиции счета долг и платежи, 5 и 6 для данного примера)