Расширенные счета модуля бухгалтерии

Материал из BiTel WiKi

Перейти к: навигация, поиск

С версии 4.4 возможно использование в качестве шаблона счета формата jasperreports (аналогично модулю отчетов) вместо xsl. Для его редактирования рекомендуется использовать приложение iReport (версии >= 2.0).

Так же как и xsl шаблон, jrxml шаблон необходимо скопировать в webroot/xsl и указать его имя в типе документа.

Создание шаблона

Документация:Создание шаблонов отчетов

Редактирование_отчетов_в_iReport

Пример счета за телефонию

Пример счета за телефонию

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 - наработка, т.е сумма позиций, исключая позиции долг и оплачено (Calculation Type: Sum) -
( $F{position_id}!=5 && $F{position_id}!=6 ? $F{summ} : new Float(0) )

А также в зоне detail шаблона - указать какие позиции счета не отображать (это должны быть позиции счета долг и платежи, 5 и 6 для данного примера): Print When Expression:

$F{position_id}!=5 && $F{position_id}!=6
Личные инструменты