【问题标题】:Acumatica: Update Service Order from AppointmentAcumatica:从预约更新服务订单
【发布时间】:2020-04-23 09:50:01
【问题描述】:

我需要自定义约会屏幕,这样如果用户在约会上选择了可计费复选框,它将更新原始服务订单。我能够让它与 PXUpdate 一起工作,但这并没有执行任何更新文档总计和税金的服务订单图逻辑。我需要更新服务订单上的 IsBillable 复选框,但还要让它运行 ServiceOrderEntry 事件。我有以下代码贯穿但不更新服务订单。我不知所措。任何帮助表示赞赏!

    protected void FSAppointmentDetPart_RowPersisted(PXCache cache, PXRowPersistedEventArgs e)
    {
        var aptRow = e.Row as FSAppointmentDetPart;
        if (aptRow == null) return;

        var soGraph = PXGraph.CreateInstance<ServiceOrderEntry>();

        FSSODet soDetRow = PXSelect<FSSODet, Where<FSSODet.sODetID, Equal<Required<FSSODet.sODetID>>>>.Select(soGraph, aptRow.SODetID);
        if (soDetRow == null) return;
        soGraph.Caches<FSSODet>().Current = soDetRow;

        FSServiceOrder serviceOrderRow = soGraph.ServiceOrderRecords.Current = soGraph.ServiceOrderRecords
                    .Search<FSServiceOrder.refNbr>(soDetRow.RefNbr, soDetRow.SrvOrdType);
        if (serviceOrderRow == null) return;

        if (soDetRow is FSSODetPart)
        {
            if (e.Operation == PXDBOperation.Delete)
            {
                soGraph.ServiceOrderDetParts.Delete(soDetRow as FSSODetPart);
            }
            else if (e.Operation == PXDBOperation.Update)
            {
                bool? isBillable = aptRow.IsBillable;
                soDetRow.IsBillable = aptRow.IsBillable;
                soGraph.Caches<FSSODet>().SetValueExt<FSSODet.isBillable>(soGraph, isBillable);

                decimal? estimatedQty = aptRow.EstimatedQty;
                soDetRow.EstimatedQty = aptRow.EstimatedQty;
                soGraph.Caches<FSSODet>().SetValueExt<FSSODet.estimatedQty>(soGraph, estimatedQty);

                soGraph.ServiceOrderDetParts.Cache.Update(soDetRow);
                soGraph.ServiceOrderRecords.Cache.Update(serviceOrderRow);

                soGraph.Actions.PressSave();
            }
        }
    }

【问题讨论】:

    标签: acumatica


    【解决方案1】:

    我能够使用 soGraph.ServiceOrderRecords.Cache.RaiseFieldUpdated(soDetRow, null);

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2015-09-13
      • 1970-01-01
      相关资源
      最近更新 更多