Zen reports only one row filled in the table
Hello. Here is
XData ReportDefinition [ XMLNamespace = "http://www.intersystems.com/zen/report/definition" ]
{
<report xmlns="http://www.intersystems.com/zen/report/definition" name='bills' runonce="true">
<attribute name='runTime' expression='$ZDT($H,3)' />
<attribute name='runBy' expression='..GetUserName()' />
<attribute name='author' expression='..ReportAuthor'/>
<group name='bills' OnCreateResultSet="CreateRS">
<parameter name="MonthDt" expression="..Month"/>
<parameter name="Company" expression="..Company"/>
<parameter name="EnterpType" expression="..EnterpType"/>
<!--<group name='bills' sql="SELECT TOP 200 PayerCod FROM zui.PayerTotalData1 WHERE MonthDt='202510' ORDER BY PayerCod">--> <group name='bill' breakOnField="PayerCod">
<!--<element name="Name" field="Name" expression='..GetName(%val)' />-->
<!--<attribute name='PayerCod' field='PayerCod' />-->
<element name="PayerCod" field="PayerCod" expression='"РАХУНОК № "_(+%val)' />
<element name="Company" field="PayerCod" expression='"Виконавець: "_..GetCompany(%val)'/>
<element name="CompanyAddress" field="PayerCod" expression='"Адреса: "_..GetCompanyAddress(%val)'/>
<element name="Name" field="PayerCod" expression='"Платник: "_..GetPayerName(%val)'/>
<element name="PayerContractInfo" field="PayerCod" expression='..GetPayerContractInfo(%val)'/>
<element name="CompanySettlementAcc" field="PayerCod" expression='..GetCompanySettlementAcc(%val)' />
<element name="CompanyMfo" field="PayerCod" expression='..GetCompanyMfo(%val)' />
<element name="CompanyEdrpou" field="PayerCod" expression='..GetCompanyEdrpou(%val)' />
<element name="CompanyAbonSettlementAcc" field="PayerCod" expression='..GetCompanyAbonBankData(%val, 1)' />
<element name="CompanyAbonMfo" field="PayerCod" expression='..GetCompanyAbonBankData(%val, 2)' />
<element name="CompanyAbonEdrpou" field="PayerCod" expression='..GetCompanyAbonBankData(%val, 3)' />
<element name="Address" field="PayerCod" expression='..GetAddress(%val)' />
<element name="SettleAccount" field="PayerCod" expression='..GetPayerSettleAccount(%val)' />
<element name="CodEdrpou" field="PayerCod" expression='..GetCodEdrpou(%val)' />
<element name="TitleDebtName" field="PayerCod" expression='..GetTitleDebtName(%val)' />
<element name="DateDebt" field="PayerCod" expression='..GetDateDebt(%val)' />
<element name="Borg1" field="PayerCod" expression='..GetBorg1(%val)' />
<element name="DateAccrual" field="PayerCod" expression='..GetDateAccrual(%val)' />
<element name="SumAccrual" field="PayerCod" expression='..GetSumAccrual(%val)' />
<element name="HeatHotwaterVAT" field="PayerCod" expression='..GetHeatHotwaterVAT(%val)' />
<element name="OpGvPay" field="PayerCod" expression='..GetOpGvPay(%val)' />
<element name="TitleDebtName2" field="PayerCod" expression='..GetTitleDebtName2(%val)' />
<element name="Borg1Abon" field="PayerCod" expression='..GetBorg1Abon(%val)' />
<element name="SumAccrualAbon" field="PayerCod" expression='..GetSumAccrualAbon(%val)' />
<element name="AbonpayVAT" field="PayerCod" expression='..GetAbonpayVAT(%val)' />
<element name="PaymentSumAbon" field="PayerCod" expression='..GetPaymentSumAbon(%val)' />
<element name="Borg2" field="PayerCod" expression='..GetBorg2(%val)' />
<element name="Borg2Abon" field="PayerCod" expression='..GetBorg2Abon(%val)' />
<element name="DateAccrual2" field="PayerCod" expression='..GetDateAccrual2(%val)' />
<element name="PayerCod2" field="PayerCod" expression='(+%val)' />
<element name="SumAccrual2" field="PayerCod" expression='..GetSumAccrual2(%val)' />
<element name="HeatHotwaterVAT2" field="PayerCod" expression='..GetHeatHotwaterVAT2(%val)' />
<element name="SumAccrualAbon2" field="PayerCod" expression='..GetSumAccrualAbon2(%val)' />
<element name="AbonpayVAT2" field="PayerCod" expression='..GetAbonpayVAT2(%val)' />
<element name="SignExecutorName" field="PayerCod" expression='..GetSignExecutorName(%val)' />
<group name="roomsCalc" sql="SELECT ID,ServiceName,PayerCod,HouseRoomCod,MeterGcal,NormGcal,MzkGcal,MinpartGcal,TotalGcal,Tariff,TotalSum,AbonpaySum FROM zui.PayerRoomTotalBillTable WHERE MonthDt = ? AND PayerCod = ? ORDER BY PayerCod" breakOnField="PayerCod">
<parameter expression="..Month"/>
<parameter field="PayerCod"/>
<!--<parameter value="000126"/>-->
<element name="ServiceName" field="ServiceName" />
<element name="RoomAddressName" fields="PayerCod,HouseRoomCod" expression='..GetRoomAddressName(%val("PayerCod"), %val("HouseRoomCod"))' />
<element name="MeterGcal" field="MeterGcal" expression='..NumVal(%val)' />
<element name="NormGcal" field="NormGcal" expression='..NumVal(%val)' />
<element name="MzkGcal" field="MzkGcal" expression='..NumVal(%val)' />
<element name="MinpartGcal" field="MinpartGcal" expression='..NumVal(%val)' />
<element name="TotalGcal" field="TotalGcal" expression='..NumVal(%val)' />
<element name="Tariff" field="Tariff" expression='..NumVal(%val)' />
<element name="TotalSum" field="TotalSum" expression='..Grnn(%val)' />
<element name="AbonpaySum" field="AbonpaySum" expression='..Grnn(%val)' /> </group>
</group>
</group> </report>
}
And here is
/// XSlT stylesheets for both HTML and XSL-FO
XData ReportDisplay [ XMLNamespace = "http://www.intersystems.com/zen/report/display" ]
{
<report xmlns="http://www.intersystems.com/zen/report/display" name='bills'
title='Title' style='standard'>
<document width="210mm" height="297mm" marginLeft="5mm"
marginRight="5mm" marginTop="5mm" marginBottom="5mm">
<class name="table.taMainFont">
<att name="font-family" value="Arial" />
</class>
<class name="table.taBoldFont">
<att name="font-weight" value="bold" />
</class>
<class name="table.taTestBorder">
<!--<att name="border-style" value="solid" />
<att name="border-width" value="1px" />
<att name="border-color" value="black" />-->
</class>
<class name="table.taFontSize">
<att name="font-size" value="6px" />
</class>
<class name="td.taBorder">
<att name="border-style" value="solid" />
<att name="border-width" value="1px" />
<att name="border-color" value="black" />
</class>
<class name="th.thBorder">
<att name="border-style" value="solid" />
<att name="border-width" value="1px" />
<att name="border-color" value="black" />
</class>
<class name="table.taMain">
<att name="border-collapse" value="collapse" />
</class>
<class name="td.tdBorderBottom">
<att name="border-bottom-style" value="solid" />
<att name="border-bottom-width" value="1px" />
<att name="border-bottom-color" value="black" />
</class>
<class name="td.tdBorderRight">
<att name="border-right-style" value="solid" />
<att name="border-right-width" value="1px" />
<att name="border-right-color" value="black" />
</class>
<class name="tr.tdValignMiddle">
<att name="vertical-align" value="middle" />
</class>
<class name="td.tdPadding">
<att name="padding-top" value="2px" />
<att name="padding-right" value="2px" />
<att name="padding-bottom" value="2px" />
<att name="padding-left" value="2px" />
</class>
<class name="th.thPadding">
<att name="padding-top" value="2px" />
<att name="padding-right" value="2px" />
<att name="padding-bottom" value="2px" />
<att name="padding-left" value="2px" />
</class>
<class name="td.txtAlignLeft">
<att name="text-align" value="left" />
</class>
<class name="td.txtAlignCenter">
<att name="text-align" value="center" />
</class>
<class name="td.txtAlignRight">
<att name="text-align" value="right" />
</class>
<class name="th.thTxtCenter">
<att name="text-align" value="center" />
<att name="vertical-align" value="middle" />
</class>
<class name="div.divMainFont">
<att name="font-family" value="Arial" />
</class>
<class name="div.divBoldFont">
<att name="font-weight" value="bold" />
</class>
<class name="div.divFontSize">
<att name="font-size" value="7px" />
</class>
<class name="div.divBorder">
<att name="border-style" value="solid" />
<att name="border-width" value="1px" />
<att name="border-color" value="black" />
</class>
</document>
<body>
<!-- COMBINED REPORT HEADER -->
<!--<header>
<p class="banner1">HelpDesk Combined Sales Report </p>
<fo> <line pattern="empty"/> <line pattern="empty"/> </fo>
<table orient="row" width="3.45in" class='table1'>
<item value="Combined Sales" width="2in">
<caption value="Title:" width="1.35in"/>
</item>
<item field="@author" caption="Author:"/>
<item field="@runBy" caption="Prepared By:"/>
<item field="@runTime" caption="Time:"/>
</table>
</header>-->
<group name='bills'>
<group name='bill' pagebreak="true" >
<table orient="col" class="taMainFont taBoldFont taTestBorder" style="font-size:7px;">
<!--<p>#("The current user is " _ ..GetTitle1())#</p>-->
<item field="PayerCod" width="50mm" literalSpaces="true" />
<item value="ПРО НАДАННЯ ПОСЛУГИ З ПОСТАЧАННЯ ТЕПЛОВОЇ ЕНЕРГІЇ ВІД #(..FileDate)#" literalSpaces="true" />
</table>
<table orient="row" class="taMainFont taFontSize taTestBorder" style="margin-top:6px;" >
<item field="Company" literalSpaces="true" />
</table>
<table orient="col" class="taMainFont taFontSize taTestBorder" style="margin-top:3px;" >
<item field="CompanyAddress" literalSpaces="true" />
<item field="Name" literalSpaces="true" too-long-text="wrap" breakOnLineFeed="true" style="padding-left: 30px;" />
</table>
<table orient="col" class="taMainFont taFontSize taTestBorder" style="margin-top:3px;" >
<table class="taBoldFont" align="center">
<item value="реквізити для розрахунку за надану послугу" literalSpaces="true" />
</table>
<item field="PayerContractInfo" literalSpaces="true" too-long-text="wrap" breakOnLineFeed="true" style="padding-left: 65px;" />
</table>
<!--**********-->
<table orient="col" class="taMainFont taFontSize">
<table orient="row" width="58mm" style="margin-top:3px;">
<table orient="col" class="taBoldFont taBorder" align="center">
<item value="Теплова енергія (теплопостачання та ГВП)" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="р/р:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanySettlementAcc" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="МФО:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanyMfo" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="Код ЄДРПОУ:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanyEdrpou" class="tdPadding" />
</table>
</table>
<line pattern="empty" lineHeight="1cm" />
<table orient="row" width="58mm" style="margin-top:3px; padding-left:10px;">
<table orient="col" class="taBoldFont taBorder" align="center">
<item value="Абонентське обслуговування" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="р/р:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanyAbonSettlementAcc" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="МФО:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanyAbonMfo" class="tdPadding" />
</table>
<table orient="col" class="taBorder">
<item value="Код ЄДРПОУ:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CompanyAbonEdrpou" class="tdPadding" />
</table>
</table>
<line pattern="empty" lineHeight="1cm" />
<table orient="row" width="80mm" style="padding-left:14px; margin-top:1px;">
<table orient="col">
<item value="Адреса:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="Address" class="tdPadding" />
</table>
<table orient="col">
<item value="р/р:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="SettleAccount" class="tdPadding" />
</table>
<table orient="col">
<item value="МФО:" class="tdPadding" width="15mm" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
<table orient="col">
<item value="Код ЄДРПОУ:" class="tdPadding" width="15mm" literalSpaces="true" />
<item field="CodEdrpou" class="tdPadding" />
</table>
</table>
</table>
<!--**********-->
<table orient="col" class="taMainFont taFontSize" style="margin-top:10px;">
<table orient="row" width="58mm" style="margin-top:3px;">
<table orient="col" class="taBorder">
<item field="TitleDebtName" class="tdPadding" />
<item field="DateDebt" class="tdPadding" />
<item field="Borg1" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value="Нараховано" class="tdPadding" />
<item field="DateAccrual" class="tdPadding" />
<item field="SumAccrual" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value="в т.ч.ПДВ" class="tdPadding" />
<item field="HeatHotwaterVAT" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value="Оплачено:" class="tdPadding" literalSpaces="true" />
<item field="DateAccrual" class="tdPadding" />
<item field="OpGvPay" class="tdPadding txtAlignRight" />
</table>
</table>
<line pattern="empty" lineHeight="1cm" />
<table orient="row" width="58mm" style="margin-top:3px; padding-left:10px;">
<table orient="col" class="taBorder">
<item field="TitleDebtName2" class="tdPadding" />
<item field="DateDebt" class="tdPadding" />
<item field="Borg1Abon" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value="Нараховано" class="tdPadding" />
<item field="DateAccrual" class="tdPadding" />
<item field="SumAccrualAbon" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value="в т.ч.ПДВ" class="tdPadding" />
<item field="AbonpayVAT" class="tdPadding txtAlignRight" />
</table>
<table orient="col" class="taBorder">
<item value="Оплачено:" class="tdPadding" literalSpaces="true" />
<item field="DateAccrual" class="tdPadding" />
<item field="PaymentSumAbon" class="tdPadding txtAlignRight" />
</table>
</table>
<line pattern="empty" lineHeight="1cm" />
<table orient="row" width="80mm" style="padding-left:14px; margin-top:1px;">
<table orient="col">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
<table orient="col">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
<table orient="col">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
<table orient="col">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
</table>
</table>
<!--**********-->
<table orient="col" class="taMainFont taFontSize" style="margin-top:8px;">
<table orient="row" width="58mm" style="margin-top:3px;">
<table orient="col" class="taBoldFont">
<item value="Сума до оплати за теплопостачання" class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" literalSpaces="true" />
<item field="Borg2" class="tdPadding txtAlignRight" />
</table>
</table>
<table orient="row" width="58mm" style="margin-top:3px; padding-left:16px;">
<table orient="col" class="taBoldFont">
<item value="Сума до оплати за абон. обслуговування" class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" literalSpaces="true" />
<item field="Borg2Abon" class="tdPadding txtAlignRight" />
</table>
</table>
<table orient="row" style="margin-top:1px;">
<table orient="col">
<item value=" " class="tdPadding" literalSpaces="true" />
<item value=" " class="tdPadding" />
</table>
</table>
</table>
<!--**********-->
<table orient="row" layout="fixed" class="taMainFont taFontSize" style="margin-left:10px; margin-top:5px;">
<table orient="col" class="taBoldFont">
<item value="Нарахування по об’ємах до рахунку № " width="45mm" class="tdPadding" literalSpaces="true" />
<item field="PayerCod2" width="8mm" class="tdPadding" />
<item field="DateAccrual2" width="25mm" class="tdPadding" />
</table>
</table>
<!--**********-->
<table group="roomsCalc" class="taMain taMainFont taFontSize taBorder" style="margin-top:5px;">
<thead class="thTxtCenter thBorder thPadding" >
<tr>
<th rowspan="2"><item value="Назва послуги" width="25mm"/></th>
<th rowspan="2"><item value="Адреса приміщення" width="70mm"/></th>
<th colspan="4"><item value="Спожито Гкал" width="13mm"/></th>
<!--<th><item value=""/></th>
<th><item value=""/></th>
<th><item value=""/></th> -->
<th rowspan="2"><item value="Всього" width="17mm"/></th>
<th rowspan="2"><item value="Тариф(з ПДВ)" width="13mm"/></th>
<th rowspan="2"><item value="Сума грн." width="13mm"/></th>
<th rowspan="2"><item value="Абон.плата" width="13mm"/></th>
</tr>
<tr>
<!---->
<!---->
<th><item value="по ліч." width="13mm"/></th>
<th><item value="по нормі" width="13mm"/></th>
<th><item value="МЗК" width="13mm"/></th>
<th><item value="мін. частка" width="13mm"/></th>
<!---->
<!---->
<!---->
<!---->
</tr>
</thead>
<item field="ServiceName" width="25mm" class="tdPadding taBorder" />
<item field="RoomAddressName" width="70mm" class="tdPadding taBorder" />
<item field="MeterGcal" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="NormGcal" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="MzkGcal" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="MinpartGcal" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="TotalGcal" width="17mm" class="tdPadding taBorder txtAlignRight" />
<item field="Tariff" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="TotalSum" width="13mm" class="tdPadding taBorder txtAlignRight" />
<item field="AbonpaySum" width="13mm" class="tdPadding taBorder txtAlignRight" />
</table>
<table orient="row" class="taMain taMainFont taFontSize" style="margin-top:5px;">
<table orient="col">
<item value="Всього нараховано" width="25mm" class="tdPadding" />
<item value=" " width="70mm" class="tdPadding" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="17mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item field="SumAccrual2" width="13mm" class="tdPadding txtAlignRight" />
<item field="SumAccrualAbon2" width="13mm" class="tdPadding txtAlignRight" />
</table>
<!---->
<table orient="col">
<item value="В т.ч. ПДВ" width="25mm" class="tdPadding" />
<item value=" " width="70mm" class="tdPadding" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item value=" " width="17mm" class="tdPadding txtAlignRight" />
<item value=" " width="13mm" class="tdPadding txtAlignRight" />
<item field="HeatHotwaterVAT2" width="13mm" class="tdPadding txtAlignRight" />
<item field="AbonpayVAT2" width="13mm" class="tdPadding txtAlignRight" />
</table>
</table>
<table orient="col" class="taMain taMainFont taFontSize" style="margin-top:40px;">
<item field="SignExecutorName" width="50mm"/>
</table>
</group>
</group>
</body>
</report>
} /// Create result set for a report
ClassMethod CreateRS(ByRef pSC As %Status, ByRef tParams) As %ResultSet
{
set statement=##class(%SQL.Statement).%New()
if '$isobject(statement) set pSC=%objlasterror Quit ""
//set sql="SELECT PayerCod,CompanyName,CompanyAddress FROM zui.PayerTotalBillData WHERE MonthDt=?"
s sql = "SELECT PayerCod"
s sql = sql_" FROM zui.PayerTotalData1"
if (tParams(3) '= "") {
// ..EnterpType '= ""
s sql = sql_" WHERE MonthDt = ? AND Company = ? AND EnterpType = ?"
} else {
s sql = sql_" WHERE MonthDt = ? AND Company = ?"
}
set pSC=statement.%Prepare(sql)
if $$$ISERR(pSC) Quit ""
set statement.%SelectMode=2
if (tParams(3) '= "") {
// ..EnterpType '= ""
set rs=statement.%Execute(tParams(1), tParams(2), tParams(3))
} else {
set rs=statement.%Execute(tParams(1), tParams(2))
}
quit rs
}
Why do table with group="roomsCalc"
outputs only one row in the table despite that the result set has many rows ?