我创建了一个新字段,UsrAcknowledged,boolean,checkbox,并将其放在SOLine详细信息网格上。我想在电子邮件销售订单/报价流程在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 =&#34; Desc&#34;是一个初步的简单测试,只是为了看看我的代码是否达到了预期的结果,并且按计划改变了现有的解释。 我的代码编译并且电子邮件流程按计划运行,绿色检查成功,但未确认复选框和订单数量都未更改。我不太关心ord数量,这只是另一个测试。 任何有关我可以更改以更新已确认复选框以在SO订单输入屏幕上的操作下的电子邮件销售订单/报价中检查的建议将不胜感激
答案 0 :(得分:0)
我会说你需要在更新foreach中的行值后调用Base.Transactions.Update(行)。