我知道通常会调用操作名称和Press()函数,但是POCreate页面上“处理”按钮的代码中没有操作对象或PXButton函数。我试图访问可能执行该操作的功能,但是我也无法访问它们。
是否有一种特殊的方法可以通过代码在此页面上激活“处理”操作?
答案 0 :(得分:1)
我们从另一个屏幕调用该过程,仅在POCreate中调用CreatePOOrders。流程委托连接到CreateProc,后者调用CreatePOOrders。如果您调用与之连接的静态调用,则无需为流程调用操作。
它是静态的,是公共的,并获取您要处理的条目列表。
public static PXRedirectRequiredException CreatePOOrders(List<POFixedDemand> list, DateTime? PurchDate, bool extSort)
请记住,您可能需要设置POFixedDemand对象的VendorID才能正确创建采购订单。您需要在“创建采购订单”屏幕中输入的相同字段才能正常运行。
如果您确实要使用该图的实例,则可以通过调用Actions [“ myactionname”]。Press()来调用该过程,例如以下示例:
var pograph = PXGraph.CreateInstance<POCreate>();
// set pograph.FixedDemand
pograph.Actions["Process"].Press();
对于所有进程,请使用“ ProcessAll”代替“ Process”。在调试过程中,您可以查看您的图形实例Actions集合,以获取您在上面的示例中应使用的操作的名称。