я докладываю;два подотчета с одинаковым выражением источника данных;2-й никогда не печатает, когда 1-й оценивается - PullRequest
0 голосов
/ 22 мая 2019

У меня есть Основной отчет и два отдельных подчиненных отчета.

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

Второй элемент размещается в заголовке страницы, где также размещаются все остальные видимые элементы.Этот вложенный отчет должен что-то печатать, но не возвращать никаких значений в основной отчет.

В обоих вложенных отчетах настроен один и тот же источник данных, так как это необходимо.Причина, по которой я использую 2 отдельных подотчета, заключается в том, что мне нужны результаты 1-го подотчета для управления «печатью при выражении» некоторых других полей в основном отчете, и они мне нужны до печати 2-го подотчета.

Это с iReports 0.5.6, и я не смог получить оценку возвращенного значения, установленного в переменной в основном отчете во время выполнения в пределах той же полосы.Единственным надежным способом для меня было создать отдельный подотчет и поместить его в полосу, которая оценивается раньше той, где мне нужны данные.


Проблема сейчас в том, что момент, когда я позволяю1-й подотчет оценивается в полосе заголовка (возвращаемые значения в основном отчете установлены правильно, в заголовочной полосе ничего не печатается, так как нечего печатать) - но затем 2-й подотчет больше не отображается в результирующем рендеринге.

Отсутствует печать при выражении во втором подотчете - ни в одном из полей в нем.

Я могу переключить это поведение, просто установив для печати, когда выражение в 1-м подотчете значение falseили правда.

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


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

Соответствующая часть основного отчета:

    <title>
        <band height="2" splitType="Stretch">
            <subreport isUsingCache="false">
                <reportElement key="subreport_promotions_Calc" positionType="Float" mode="Opaque" x="0" y="0" width="469" height="1" isRemoveLineWhenBlank="true" isPrintInFirstWholeBand="true" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="7b5b61a8-55a8-48e9-a8f1-c6f3108eed70">
                    <printWhenExpression><![CDATA[true]]>    </printWhenExpression>
                </reportElement>
                <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
                <subreportParameter name="text_VAT">
                    <subreportParameterExpression><![CDATA[$V{text_VAT}]]></subreportParameterExpression>
                </subreportParameter>
                <subreportParameter name="currency">
                    <subreportParameterExpression><![CDATA[$V{currency}]]></subreportParameterExpression>
                </subreportParameter>
                <dataSourceExpression><![CDATA[$P{promotionsSubReportData}]]></dataSourceExpression>
                <returnValue subreportVariable="Total_Promotions" toVariable="Total_Promotions"/>
                <returnValue subreportVariable="hasPromotions" toVariable="hasPromotions"/>
                <subreportExpression><![CDATA[$P{reportPath}+"\\0contractAbo_promotions_Calc.jasper"]]>   </subreportExpression>
        </subreport>
        </band>
    </title>

<pageHeader>
    <band height="694">
        <subreport isUsingCache="false">
            <reportElement key="subreport_promotions" positionType="Float" mode="Opaque" x="0" y="475" width="469" height="4" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="b8575d48-af92-465d-9848-ded3c010d679"/>
            <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
            <subreportParameter name="text_VAT">
                <subreportParameterExpression><![CDATA[$V{text_VAT}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="currency">
                <subreportParameterExpression><![CDATA[$V{currency}]]></subreportParameterExpression>
            </subreportParameter>
            <dataSourceExpression><![CDATA[$P{promotionsSubReportData}]]></dataSourceExpression>
            <subreportExpression><![CDATA[$P{promotionsSubReport}]]></subreportExpression>
        </subreport>
<pageHeader>
    <band height="694">
        <subreport isUsingCache="false">
            <reportElement key="subreport_promotions" positionType="Float" mode="Opaque" x="0" y="475" width="469" height="4" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="b8575d48-af92-465d-9848-ded3c010d679"/>
            <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
            <subreportParameter name="text_VAT">
                <subreportParameterExpression><![CDATA[$V{text_VAT}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="currency">
                <subreportParameterExpression><![CDATA[$V{currency}]]></subreportParameterExpression>
            </subreportParameter>
            <dataSourceExpression><![CDATA[$P{promotionsSubReportData}]]></dataSourceExpression>
            <subreportExpression><![CDATA[$P{promotionsSubReport}]]></subreportExpression>
        </subreport>
<pageHeader>
    <band height="694">
        <subreport isUsingCache="false">
            <reportElement key="subreport_promotions" positionType="Float" mode="Opaque" x="0" y="475" width="469" height="4" isPrintWhenDetailOverflows="true" forecolor="#000000" backcolor="#FFFFFF" uuid="b8575d48-af92-465d-9848-ded3c010d679"/>
            <parametersMapExpression><![CDATA[$P{REPORT_PARAMETERS_MAP}]]></parametersMapExpression>
            <subreportParameter name="text_VAT">
                <subreportParameterExpression><![CDATA[$V{text_VAT}]]></subreportParameterExpression>
            </subreportParameter>
            <subreportParameter name="currency">
                <subreportParameterExpression><![CDATA[$V{currency}]]></subreportParameterExpression>
            </subreportParameter>
            <dataSourceExpression><![CDATA[$P{promotionsSubReportData}]]></dataSourceExpression>
            <subreportExpression><![CDATA[$P{promotionsSubReport}]]></subreportExpression>
        </subreport>

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...