在我的报告中,数据被插入到我的临时表中。问题是报告中没有显示数据。我也删除了所有隐藏和可见性表达式。
这是 ProjInvoiceReport。我添加了第二个数据集,它需要为一个字段插入多个值。数据被插入到表中,但是当我将字段放在报表上的表控件(正确的数据集)中时......什么也没有出现!
在 ProjInvoiceDP 类中,我添加了一个 get 方法
[
SRSReportDataSetAttribute(tableStr(ProjInvoiceServiceOrderTmp))
]
public ProjInvoiceServiceOrderTmp getProjInvoiceServiceOrderTmp()
{
select * from projInvoiceServiceOrderTmp;
return projInvoiceServiceOrderTmp;
}
和一个 initTempTable 方法
public void initTempTableFromSMAServiceOrder(ProjTable _projTable, ProjInvoiceId
_projInvoiceId)
{
SMAServiceOrderLine serviceOrderLine;
ProjEmplTrans projEmplTrans;
ProjItemTrans projItemTrans;
iProjInvoiceId = _projInvoiceId;
ttsBegin;
delete_from projInvoiceServiceOrderTmp where projInvoiceServiceOrderTmp.ProjInvoiceId ==
iProjInvoiceId;
ttsCommit;
while select serviceOrderLine
join projEmplTrans
where serviceOrderLine.ProjTransId == projEmplTrans.TransId
&& serviceOrderLine.ProjId == _projTable.ProjId
{
if(projEmplTrans.invoiceId() == iProjInvoiceId)
{
projInvoiceServiceOrderTmp.clear();
projInvoiceServiceOrderTmp.ServiceOrderId = serviceOrderLine.ServiceOrderId;
// projInvoiceServiceOrderTmp.ShowFieldTicketInfo = #True;
projInvoiceServiceOrderTmp.ProjInvoiceId = iProjInvoiceId;
projInvoiceServiceOrderTmp.insert();
}
}
while select serviceOrderLine
join projItemTrans
where serviceOrderLine.ProjTransId == projItemTrans.ProjTransId
&& serviceOrderLine.ProjId == _projTable.ProjId
{
if(projItemTrans.invoiceId() == iProjInvoiceId)
{
projInvoiceServiceOrderTmp.clear();
projInvoiceServiceOrderTmp.ServiceOrderId = serviceOrderLine.ServiceOrderId;
// projInvoiceServiceOrderTmp.ShowFieldTicketInfo = #True;
projInvoiceServiceOrderTmp.ProjInvoiceId = iProjInvoiceId;
projInvoiceServiceOrderTmp.insert();
}
}
}
initTempTable 方法在 projInvoiceTmp.insert() 之前最后的 insertIntoProjInvoiceTmp 中调用。一位曾在此报告中工作过的人在同一区域调用了他们的 initTempTableFromProjTable。
insertIntoProjInvoiceTmp 在 fetch 方法中被调用。processReport 调用 fetch 方法。
知道问题是什么吗?