【发布时间】:2022-12-30 22:45:17
【问题描述】:
在联系人屏幕 (CR302000) 中,我创建了一个带有网格的选项卡,通过 SOOrder 显示与所选联系人相关的所有订单。 UsrInstitutionalContact。该视图在网格上正常工作。
我需要将订单号从网格链接到 SO。
除了一个问题,我做了所有的步骤来让它工作并且工作正常。我无法获取当前的OrdNbr。
我测试了过程硬编码 OrdNbr以确保:
PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow); 有效。
这是显示我希望正常工作的字段的网格。
这是我用于网格的视图
public SelectFrom<Contact>.
LeftJoin<SOOrder>.On<SOOrderExt.usrInstitutionalContact.IsEqual<Contact.contactID>>.
Where<Contact.contactID.IsEqual<Contact.contactID.FromCurrent>>.View ContactOrders;
这是操作代码以及我迄今为止尝试过但没有成功的方法:
1 public PXAction<Contact> ViewSalesOrder;
2
3 [PXButton]
4 protected virtual void viewSalesOrder()
5 {
6 SOOrderEntry graph = PXGraph.CreateInstance<SOOrderEntry>();
7
8 if (ContactOrders.Current != null)
9 {
10 Contact curRow = Base.ContactCurrent.Current;
11 SOOrder soorder = SelectFrom<SOOrder>.
12 Where<SOOrder.orderNbr.IsEqual<@P.AsString>>.View.Select(Base, "EMC000994");
13
14 graph.Document.Current = soorder;
15 PXRedirectHelper.TryRedirect(graph, PXRedirectHelper.WindowMode.NewWindow);
16 }
17 }
10号线不返回 OrdNbr。事实上,它不显示来自 SO 的任何字段,但它显示在网格上。我需要找回当前订单号将其传递给 SOOrder FBQL。
12号线,如您所见,我只是为了测试流程而对 OrdNbr 进行了硬编码。
【问题讨论】: