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

Отчеты "Пользовательские" [6.2]
http://forum.bitel.ru/viewtopic.php?f=12&t=10628
Страница 1 из 1

Автор:  borin [ 18 июн 2015, 16:31 ]
Заголовок сообщения:  Отчеты "Пользовательские" [6.2]

В отчетах появилась категория отчетов "Пользовательские", я так понимаю это для того чтоб свои отчеты не мешать с теми что идут в поставке с модулем. Но в документации не сказано, как добавлять свои отчеты в категорию "Пользовательские"
Вложение:
reports.png
reports.png [ 8.06 КБ | Просмотров: 10477 ]

Автор:  Phricker [ 18 июн 2015, 16:37 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Как пример
custom_agent_account.rep.xml

Автор:  borin [ 18 июн 2015, 16:39 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Phricker писал(а):
Как пример
custom_agent_account.rep.xml

Спасибо! Шикарно то что надо :)

Автор:  Lionela [ 28 июл 2015, 01:40 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Ну а все-таки как добавить или создать свой?

Автор:  skn [ 28 июл 2015, 02:01 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Lionela писал(а):
Ну а все-таки как добавить или создать свой?


как?
1) посмотрите сущестствующие файлики *.rep.xml
2) создайте свой и разметите его рядом в каталоге с другими, в названии указав префикс custom_*.rep.xml

Автор:  Phricker [ 28 июл 2015, 12:20 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

...
3) Посмотрите примеры на wiki

Автор:  dimOn [ 28 июл 2015, 12:31 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

в 6.2 можно писать сразу в редакторе дин.кода и rep.xml и java-файлы

Автор:  borisk [ 21 янв 2016, 14:24 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Есть еще одна голубая мечта :) Для упрощения жизни всем известных силовых структур я написал свои отчеты для быстрого поиска нужной им информации. В меню зафильтровал все что возможно, остался вызов только модуля "отчеты". Но вот если бы еще внутри модуля "отчеты" можно было бы как-то фильтровать какие очеты показывать пользователю, а какие нет - ну просто песня :)

Автор:  Phricker [ 21 янв 2016, 14:38 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Думаю самым простым вариантом было бы создание еще одного экземпляра модуля, и просьба к разрабам вынести в конфиг модуля Reports параметр
Код:
File folder = new File("reports/");

И создать отдельную папку для органов, куда засовывать только необходимые отчеты.

Ну или же вы можете запретить запуск отчетов, и вынести в разрешенные только те которые нужно дать органам.
Я на вики в свое время даже выкладывал

Автор:  dimOn [ 21 янв 2016, 18:59 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

от этой папки в планах так-то избавиться, половину уже в дин.код перенесли

Автор:  Dmitry7634524 [ 15 фев 2017, 14:55 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Приветствую! Появилась необходимость изменить получаемы данные на выходе из класса bitel.billing.server.reports.Report_AccountDetail который используется в стандартном отчете по детальной наработке в модуле отчеты, это файл kernel_contract_account_detail.rep.xml, его содержимое:
Код:
<?xml version="1.0" encoding="UTF-8"?>
   <report title="Детализированный отчет по наработке"    
      params_class="bitel.billing.module.services.reports.ReportParams_AccountDetail"       
      report_class="bitel.billing.server.reports.Report_AccountDetail"
/>


Собственно копирую содержимое bitel.billing.server.reports.Report_AccountDetail по адресу ru.provider.reports.Report_AccountDetail компилирую класс, создаю в директории reports:
Код:
reports]# cat custom_provider.rep.xml
<?xml version="1.0" encoding="UTF-8"?>
   <report title="Детализированный отчет Provider"    
      params_class="bitel.billing.module.services.reports.ReportParams_AccountDetail"       
      report_class="ru.provider.reports.Report_AccountDetail"
/>

Файл kernel_contract_account_detail.jrxml копирую соответственно как custom_provider.jrxml.
При генерации отчета получаю:
Код:
02-15/11:25:05 ERROR [http-bio-0.0.0.0-8080-exec-9] ActionBase - error get report
java.lang.NullPointerException


Вопрос, можно ли так делать, увидит ли отчет динкласс? Если да, то что не так? К сожалению из тем на форуме я этого так и не понял. В конечном итоге в этом классе нужно поправить слегка sql запрос, в этом и загвоздка, как правильно сделать?

Автор:  dimOn [ 16 фев 2017, 11:24 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

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

Автор:  Dmitry7634524 [ 25 фев 2017, 19:26 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Сделал аналог стандартного отчета "Детальный отчет по наработке" на BGBS, авось кому пригодится.

Вложение:
Выделение_084.png
Выделение_084.png [ 61.36 КБ | Просмотров: 10116 ]


Код:
<?xml version="1.0" encoding="UTF-8"?>
<report title="Отчет по наработке">
   <month name="month_from" title="Месяц с"/>
</report>



Код:
<?xml version="1.0" encoding="UTF-8"  ?>
<!-- Created with iReport - A designer for JasperReports -->
<!DOCTYPE jasperReport PUBLIC "//JasperReports//DTD Report Design//EN" "http://jasperreports.sourceforge.net/dtds/jasperreport.dtd">
<jasperReport
       name="contract_account_detail"
       columnCount="1"
       printOrder="Vertical"
       orientation="Landscape"
       pageWidth="841"
       pageHeight="593"
       columnWidth="481"
       columnSpacing="0"
       leftMargin="30"
       rightMargin="30"
       topMargin="20"
       bottomMargin="20"
       whenNoDataType="NoPages"
       isTitleNewPage="false"
       isSummaryNewPage="false">
   <property name="ireport.scriptlethandling" value="0" />
   <property name="ireport.encoding" value="UTF-8" />
   <import value="java.util.*" />
   <import value="net.sf.jasperreports.engine.*" />
   <import value="net.sf.jasperreports.engine.data.*" />

   <parameter name="accountSummMap" isForPrompting="false" class="java.util.Map"/>

   <parameter name="addInfo" isForPrompting="false" class="java.lang.String">
      <defaultValueExpression ><![CDATA[""]]></defaultValueExpression>
   </parameter>

   <parameter name="total" isForPrompting="false" class="java.lang.String"/>

   <queryString language="bgbs"><![CDATA[

import java.sql.*;
import java.text.DecimalFormat;
import java.util.*;
import java.util.regex.*;
import java.math.*;
import bitel.billing.common.*;
import bitel.billing.server.util.*;
import bitel.billing.server.contract.bean.*;
import ru.bitel.bgbilling.server.util.*;
import ru.bitel.common.*;

interface RR {
    Map getAccountSummMap();
}

    public void fillReport( con, filter, result ) {

        RR rr = new RR() {
            public Map getAccountSummMap() {
                HashMap result = new HashMap();
                result.put("total", 0);
                StringBuffer query = new StringBuffer();
                DecimalFormat df = new DecimalFormat("###,###,###,###,##0.00");
                query.append("SELECT contract.title, SUM(summa) ");
                query.append("FROM contract_account AS account ");
                query.append("LEFT JOIN contract ON account.cid=contract.id ");
                query.append("WHERE ");
                query.append(filterString);
                query.append(" GROUP BY account.cid");
                PreparedStatement ps = this.con.prepareStatement(query.toString());
                ResultSet rs = ps.executeQuery();

                while(rs.next()) {
                    result.put(rs.getString(1), df.format(rs.getDouble(2)));
                    int n1 = rs.getDouble(2);
                    int n2 = result.get("total");
                    result.put("total", n1+n2);
                }

                rs.close();
                ps.close();
                return result;
            }
        };

        month_from = filter.getCalendarParam( "month_from" );
        month = month_from.get(Calendar.MONTH);
        year = month_from.get(Calendar.YEAR);

        StringBuffer query = new StringBuffer();
        query.append("SELECT contract.title, service.title, account.summa, contract.comment ");
        query.append("FROM contract_account AS account ");
        query.append("LEFT JOIN service ON account.sid=service.id ");
        query.append("LEFT JOIN contract ON account.cid=contract.id ");
        query.append("WHERE ");
        StringBuffer filterString = new StringBuffer(); // Get Filter Params
        filterString.append("account.yy=");
        filterString.append(year);
        filterString.append(" AND account.mm=");
        filterString.append(month+1);
        query.append(filterString); // Add filter to main query

        HashMap params = new HashMap();
        params.put("addInfo", " год: " + year + " месяц: " + TimeUtils.monthNames[month]);

        PreparedStatement ps = this.con.prepareStatement(query.toString());
        ResultSet rs = ps.executeQuery();
        double sum = 0.0D;
        double val = 0.0D;

        DecimalFormat df = new DecimalFormat("###,###,###,###,##0.00");

        List DataSource;

        for(DataSource = new ArrayList(); rs.next(); sum += val) {
            val = rs.getDouble(3);
            HashMap row = new HashMap();
            row.put("contract", rs.getString(1));
            row.put("service", rs.getString(2));
            row.put("summ", df.format(val));
            row.put("comment", rs.getString(4));
            DataSource.add(row);
        }

        params.put("accountSummMap", rr.getAccountSummMap());

        rs.close();
        ps.close();

        result.setParams( params );
        result.setDataSource( DataSource);

    }

]]></queryString>

   <field name="contract" class="java.lang.String"/>
   <field name="service" class="java.lang.String"/>
   <field name="summ" class="java.lang.String"/>
   <field name="comment" class="java.lang.String"/>
   <field name="accountSummMap" class="java.lang.String"/>

      <group  name="group" >
         <groupExpression><![CDATA[$F{contract}]]></groupExpression>
         <groupHeader>
         <band height="51"  isSplitAllowed="true" >
            <rectangle radius="0" >
               <reportElement
                  mode="Opaque"
                  x="2"
                  y="35"
                  width="775"
                  height="13"
                  forecolor="#33FF00"
                  backcolor="#33FF00"
                  key="element-151"
                  positionType="FixRelativeToBottom"/>
               <graphicElement stretchType="NoStretch" fill="Solid" />
            </rectangle>
            <staticText>
               <reportElement
                  mode="Transparent"
                  x="7"
                  y="35"
                  width="472"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-94"
                  positionType="FixRelativeToBottom"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <text><![CDATA[Услуга]]></text>
            </staticText>
            <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Transparent"
                  x="2"
                  y="13"
                  width="775"
                  height="20"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-81"
                  stretchType="RelativeToTallestObject"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="12" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <!-- Произведем проверку -->
            <textFieldExpression   class="java.lang.String"><![CDATA[" Договор: " + $F{contract} + " (" + $F{comment} + ")"]]></textFieldExpression>
            </textField>
            <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Transparent"
                  x="479"
                  y="35"
                  width="298"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-81"
                  positionType="FixRelativeToBottom"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA["Наработки"]]></textFieldExpression>
            </textField>
         </band>
         </groupHeader>
         <groupFooter>
         <band height="18"  isSplitAllowed="true" >
            <rectangle radius="0" >
               <reportElement
                  mode="Opaque"
                  x="3"
                  y="5"
                  width="775"
                  height="13"
                  forecolor="#33FF00"
                  backcolor="#33FF00"
                  key="element-151"/>
               <graphicElement stretchType="NoStretch" fill="Solid" />
            </rectangle>
            <staticText>
               <reportElement
                  mode="Transparent"
                  x="7"
                  y="5"
                  width="91"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-94"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <text><![CDATA[ Итого:]]></text>
            </staticText>
            <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Transparent"
                  x="479"
                  y="5"
                  width="298"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-68"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA[" " + $P{accountSummMap}.get( $F{contract} )]]></textFieldExpression>
            </textField>
         </band>
         </groupFooter>
      </group>
      <background>
         <band height="0"  isSplitAllowed="true" >
         </band>
      </background>
      <title>
         <band height="46"  isSplitAllowed="true" >
            <staticText>
               <reportElement
                  mode="Opaque"
                  x="242"
                  y="2"
                  width="297"
                  height="20"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-80"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Center" verticalAlignment="Top" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="14" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <text><![CDATA[Отчет по наработке]]></text>
            </staticText>
            <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Opaque"
                  x="242"
                  y="24"
                  width="297"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-74"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Center" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA[$P{addInfo}]]></textFieldExpression>
            </textField>
         </band>
      </title>
      <pageHeader>
         <band height="0"  isSplitAllowed="true" >
         </band>
      </pageHeader>
      <columnHeader>
         <band height="0"  isSplitAllowed="true" >
         </band>
      </columnHeader>
      <detail>
         <band height="16"  isSplitAllowed="true" >
            <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Opaque"
                  x="7"
                  y="0"
                  width="472"
                  height="14"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-81"
                  stretchType="RelativeToTallestObject"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="false" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA[" " + $F{service}]]></textFieldExpression>
            </textField>
            <textField isStretchWithOverflow="true" pattern="" isBlankWhenNull="true" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Opaque"
                  x="479"
                  y="0"
                  width="298"
                  height="14"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-81"
                  stretchType="RelativeToTallestObject"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="false" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA[" " + $F{summ}]]></textFieldExpression>
            </textField>
            <line direction="TopDown">
               <reportElement
                  mode="Opaque"
                  x="2"
                  y="15"
                  width="775"
                  height="1"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-93"
                  positionType="FixRelativeToBottom"/>
               <graphicElement stretchType="NoStretch" fill="Solid" />
            </line>
         </band>
      </detail>
      <columnFooter>
         <band height="0"  isSplitAllowed="true" >
         </band>
      </columnFooter>
      <pageFooter>
         <band height="13"  isSplitAllowed="true" >
            <staticText>
               <reportElement
                  mode="Opaque"
                  x="3"
                  y="3"
                  width="243"
                  height="8"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-50"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="Arial"  size="6" isBold="false" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <text><![CDATA[Документ подготовлен системой "BGBilling" © ООО "Бител" http://www.bgbilling.ru ]]></text>
            </staticText>
            <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Opaque"
                  x="728"
                  y="3"
                  width="49"
                  height="7"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-55"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Right" verticalAlignment="Top" rotation="None" lineSpacing="Single">
                  <font fontName="Arial"  size="6" isBold="false" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA["Страница: " + $V{PAGE_NUMBER}.toString()]]></textFieldExpression>
            </textField>
         </band>
      </pageFooter>
      <summary>
         <band height="30"  isSplitAllowed="true" >
            <rectangle radius="0" >
               <reportElement
                  mode="Opaque"
                  x="3"
                  y="16"
                  width="775"
                  height="13"
                  forecolor="#33FF00"
                  backcolor="#33FF00"
                  key="element-151"/>
               <graphicElement stretchType="NoStretch" fill="Solid" />
            </rectangle>
            <staticText>
               <reportElement
                  mode="Transparent"
                  x="7"
                  y="16"
                  width="135"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-94"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <text><![CDATA[ Итого по договорам:]]></text>
            </staticText>
            <textField isStretchWithOverflow="false" pattern="" isBlankWhenNull="false" evaluationTime="Now" hyperlinkType="None"  hyperlinkTarget="Self" >
               <reportElement
                  mode="Transparent"
                  x="479"
                  y="16"
                  width="298"
                  height="13"
                  forecolor="#000000"
                  backcolor="#FFFFFF"
                  key="element-68"/>
               <box topBorder="None" topBorderColor="#000000" leftBorder="None" leftBorderColor="#000000" rightBorder="None" rightBorderColor="#000000" bottomBorder="None" bottomBorderColor="#000000"/>
               <textElement textAlignment="Left" verticalAlignment="Middle" rotation="None" lineSpacing="Single">
                  <font fontName="SansSerif"  size="10" isBold="true" isItalic="false" isUnderline="false"   isStrikeThrough="false" />
               </textElement>
            <textFieldExpression   class="java.lang.String"><![CDATA[" " + $P{accountSummMap}.get("total") + "р."]]></textFieldExpression>
            </textField>
         </band>
      </summary>
</jasperReport>


Автор:  Phricker [ 25 фев 2017, 19:45 ]
Заголовок сообщения:  Re: Отчеты "Пользовательские" [6.2]

Dmitry7634524 писал(а):
Сделал аналог стандартного отчета "Детальный отчет по наработке"

ИМХО неудобные эти стандартные отчеты.
Табличные отчеты - наше все.
И в excel выгрузить, и подсчитать и как угодно извратиться можно.

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