当我们向现有操作添加自定义逻辑时,如何确认单击的操作是预期的操作
How to Confirm the action clicked is the expected action when we add custom logic to existing actions
这是
的延续
我正在尝试将自定义逻辑添加到申请屏幕中的现有操作按钮。我可以在批准之前(或之后)看到批准按钮我需要做一些自定义逻辑。
分析当前图表后,我得出以下解决方案
public PXAction<RQRequisition> action;
[PXUIField(DisplayName = "Actions")]
[PXButton]
protected virtual IEnumerable Action(PXAdapter adapter,
[PXInt]
[PXIntList(new int[] { 1, 2 }, new string[] { "Approve", "Reject" })]
int? actionID,
[PXBool]
bool refresh,
[PXString]
string actionName
)
{
if (actionID == 1)
{
SIApprovalInfo.updateNextApprover(this.Base);
}
return Base.action.Press(adapter);
}
当我尝试访问操作名称时,它给了我空值,所以我检查了 actionID 是否为 1,因为值是 1。我注意到在自动化屏幕中,用户可以重新排序行动。所以我的问题是:如果用户对操作重新排序,actionID 是否仍会保持为 1?如果不是,那么识别我们期望的操作的正确方法是什么?
经过几次检查,我发现批准或拒绝的 actionID 为 1。
但我可以使用 adapter.Menu 来检查名称。
if (adapter.Menu == "Approve")
{
SIApprovalInfo.updateNextApprover(this.Base);
}
这是
我正在尝试将自定义逻辑添加到申请屏幕中的现有操作按钮。我可以在批准之前(或之后)看到批准按钮我需要做一些自定义逻辑。
分析当前图表后,我得出以下解决方案
public PXAction<RQRequisition> action;
[PXUIField(DisplayName = "Actions")]
[PXButton]
protected virtual IEnumerable Action(PXAdapter adapter,
[PXInt]
[PXIntList(new int[] { 1, 2 }, new string[] { "Approve", "Reject" })]
int? actionID,
[PXBool]
bool refresh,
[PXString]
string actionName
)
{
if (actionID == 1)
{
SIApprovalInfo.updateNextApprover(this.Base);
}
return Base.action.Press(adapter);
}
当我尝试访问操作名称时,它给了我空值,所以我检查了 actionID 是否为 1,因为值是 1。我注意到在自动化屏幕中,用户可以重新排序行动。所以我的问题是:如果用户对操作重新排序,actionID 是否仍会保持为 1?如果不是,那么识别我们期望的操作的正确方法是什么?
经过几次检查,我发现批准或拒绝的 actionID 为 1。 但我可以使用 adapter.Menu 来检查名称。
if (adapter.Menu == "Approve")
{
SIApprovalInfo.updateNextApprover(this.Base);
}