我正在尝试根据当前状态更新WFStageID . 这适用于Acumatica(SD300100)的服务订单屏幕 . 这是我的代码:

protected void FSServiceOrder_Status_FieldUpdated(PXCache cache, PXFieldUpdatedEventArgs e)
                {
                    var SO = (FSServiceOrder)e.Row;
                    if (SO == null) return;
                    if (SO != null){
                    var s = SO.Status;

                    if(s == "C")
                      {
                        cache.SetValueExt<FSServiceOrder.wFStageID>(SO, 9);
                      }

                    throw new PXException(s);
                    }
                }

现在我没有收到错误,它只是不更新字段 . 状态字段(而不是WFStageID)仅在单击“完成订单”操作时才会更改 . 如果操作在自动化步骤中运行但没有成功,我也尝试更新此字段 . 所以现在我从编程的角度来看这个问题 . 我想自动更新的WFStageID是9或WFStageCD它已完成 . 当Status等于“C”时,需要进行更改,“C”是“状态”字段上“已完成”的字符数据库字段 .