Acumatica 图表中视图的记录计数

Acumatica 图表中视图的记录计数,acumatica,Acumatica,我有一个简单的主/详细维护屏幕的图表。主数据显示在顶部表格中,详细信息显示在底部网格中。可以删除详细信息行 我想写一些代码在删除最后一条详细记录时删除主记录。在删除每一行时,我还需要进行其他处理,但我可以处理。我计划在RowHandler中执行此操作 我的问题是:我可以访问视图中活动行的计数,而不必运行循环来计数它们吗?我无法从数据库中进行选择,因为它们尚未保存。我有下面图表的摘录。检测最后一个细节行已被删除的最简单方法是什么 public PXSelect<EDASN> A

我有一个简单的主/详细维护屏幕的图表。主数据显示在顶部表格中,详细信息显示在底部网格中。可以删除详细信息行

我想写一些代码在删除最后一条详细记录时删除主记录。在删除每一行时,我还需要进行其他处理,但我可以处理。我计划在RowHandler中执行此操作

我的问题是:我可以访问视图中活动行的计数,而不必运行循环来计数它们吗?我无法从数据库中进行选择,因为它们尚未保存。我有下面图表的摘录。检测最后一个细节行已被删除的最简单方法是什么

    public PXSelect<EDASN> ASN;

    public PXSelectJoin<EDASNShipment,
        LeftJoin<SOShipment, On<SOShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
        LeftJoin<SOOrderShipment, On<SOOrderShipment.shipmentNbr, Equal<EDASNShipment.shipmentNbr>>,
        LeftJoin<SOOrder, On<SOOrder.orderNbr, Equal<SOOrderShipment.orderNbr>>>>>,
        Where<EDASNShipment.aSNNbr, Equal<Current<EDASN.aSNNbr>>>> ASNShipment;

        protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
    {
        EDASNShipment row = ASNShipment.Current;
        EDASN asn = this.ASN.Current;
        // need to determine if any shipments left on ASN
        // can I access a "count" of active rows from the ASNShipment view cache
    }
public选择ASN;
公共部门选择加入为企业;
受保护的虚拟无效EDASNshipping_行已删除(PXCache发件人,PXRowDeletedEventArgs e)
{
EDASN发货行=ASN设备当前;
EDASN asn=此asn电流;
//需要确定是否有任何装运留在ASN上
//我可以从ASN设备视图缓存访问活动行的“计数”吗
}

我已经解决了这个问题。我只是搜索了一下缓存,如果它返回空值,最后一批货就被删除了

    protected virtual void EDASNShipment_RowDeleted(PXCache sender, PXRowDeletedEventArgs e)
    {
        EDASNShipment row = ASNShipment.Current;
        EDASNShipment asnShipments = this.ASNShipment.Search<EDASNShipment.aSNNbr>(row.ASNNbr);
        // Remove ASN record if no more shipments
        if (asnShipments == null)
        {
            EDASN asn = this.ASN.Current;
            this.ASN.Delete(asn);
            this.Persist();
        }
protected virtual void EDASNShipment\u row已删除(PXCache发送方,PXRowDeletedEventArgs e)
{
EDASN发货行=ASN设备当前;
edasnshipments=this.ASNShipment.Search(row.ASNNbr);
//如果没有更多装运,请删除ASN记录
if(asnShipments==null)
{
EDASN asn=此asn电流;
本.ASN.Delete(ASN);
这个。Persist();
}