在销售订单输入操作下的电子邮件销售订单流程中设置字段值

Set Field Value during Email Sales Order process under Slaes Order Entry Actions

我创建了一个新字段 UsrAcknowledged,布尔值,复选框,并将其放在 SOLine 详细信息网格中。当电子邮件销售 Order/Quote 流程在 SOOrder 的操作下 运行 时,我希望检查详细信息网格上的每一行。 SOOrderEntry_Extension:PXGraphExtension下我的代码如下

  public CRActivityList<SOOrder>    Activity;
  public PXAction<SOOrder> notification;
  [PXUIField(DisplayName = "Notifications", Visible = false)]
  [PXButton(ImageKey = PX.Web.UI.Sprite.Main.DataEntryF)]
  protected virtual IEnumerable Notification(PXAdapter adapter,
  [PXString]
  string notificationCD
  )
  {
    foreach (SOOrder order in adapter.Get<SOOrder>())
    {

      var parameters = new Dictionary<string, string>();
      parameters["SOOrder.OrderType"] = order.OrderType;
      parameters["SOOrder.OrderNbr"] = order.OrderNbr;
     Activity.SendNotification(ARNotificationSource.Customer,          notificationCD, order.BranchID, parameters);
//order.OrderDesc = "Desc";
  foreach (SOLine line in PXSelect<SOLine>.Select(Base, order.OrderNbr))
  {
       SOLineExt rowExt = line.GetExtension<SOLineExt>();
       rowExt.UsrAcknowledged = true;
           line.OrderQty = 5;
  }
  yield return order;
}

}

//order.Desc = "Desc" 是一个初始的简单测试,只是为了查看我的代码是否达到了预期的结果,以及产品描述是否按计划进行了更改。 我的代码编译和电子邮件处理 运行s 按计划进行,绿色检查成功,但确认复选框和订单数量均未更改。我真的不在乎订单数量,这只是另一个测试。 任何关于我可以更改以更新“已确认”复选框以在“SO 订单输入”屏幕上的“操作”下的“电子邮件销售”Order/Quote 期间选中的任何建议都将不胜感激

我会说你需要在更新 foreach 中的行值后调用 Base.Transactions.Update(line)。