Acumatica确定单击了哪个按钮(保存或完成)
如何在活动屏幕(CR306010)上确定Acumatica中单击了哪个按钮 我需要在Acumatica活动屏幕上确定单击了哪个按钮:保存按钮、保存和关闭或完成 我尝试使用Acumatica PXContext.Session.SetString 我在内部重写了CractivityMain BLC和markAsCompleted(),以便为“完成”按钮设置buttonclicked值:Acumatica确定单击了哪个按钮(保存或完成),acumatica,Acumatica,如何在活动屏幕(CR306010)上确定Acumatica中单击了哪个按钮 我需要在Acumatica活动屏幕上确定单击了哪个按钮:保存按钮、保存和关闭或完成 我尝试使用Acumatica PXContext.Session.SetString 我在内部重写了CractivityMain BLC和markAsCompleted(),以便为“完成”按钮设置buttonclicked值: public delegate void markAsCompletedDelegate(); [PXOverr
public delegate void markAsCompletedDelegate();
[PXOverride]
public void markAsCompleted(markAsCompletedDelegate baseMethod)
{
baseMethod();
PXContext.Session.SetString("buttonclicked", "Complete");
}
但是我找不到一种方法来设置相同的键(buttonclicked)值“Save”(当单击Save按钮时)和值“Save&Close”(当单击Save&Close按钮时)
我需要找到一种方法来设置:
PXContext.Session.SetString(“按钮单击”、“保存”);-用于保存按钮;
PXContext.Session.SetString(“按钮单击”、“保存并关闭”)-用于保存和关闭按钮
在Acumatica中,是否可以将其设置在某些过度考虑的方法中,如:
**Pseudocode:**
public delegate void needToFindSaveDelegate();
[PXOverride]
public void needToFindSave()
{
baseMethod();
PXContext.Session.SetString("buttonclicked", "Save");
}
and:
**Pseudocode:**
public delegate void needToFindSave&CloseDelegate();
[PXOverride]
public void needToFindSave&Close()
{
baseMethod();
PXContext.Session.SetString("buttonclicked", "Save&Close");
}
我将非常感谢任何能帮助我实现这一目标的人
提前谢谢
祝您愉快。我发现Acumatica将动作名称添加到\u CALLBACKPARAM参数中的
HttpRequest
参数中。因此,您可以通过检查来获取调用了哪个操作。您需要将System.Web
添加到解决方案中,以便能够使用HttpContext
string actionName =HttpContext.Current.Request.Params["__CALLBACKPARAM"].Split('|')[0]
以下是按“销售订单”页面上的“保存”按钮时值的屏幕截图:
以下是保存并关闭的情况
按:
为什么需要确定?您好,Samvel,因为我在PMTimeActivity DAC(用于活动屏幕)中为字段TimeBillable设置了自定义属性。当我单击“另存为”“完成”按钮时,该属性的代码正在调用。我需要知道调用属性体中代码的操作(保存或完成)。您对如何实现它有什么想法吗?您是否尝试在属性中编写rowspersisted
事件处理程序?当然。我在那里有rowspersistend(public virtual void rowspersistend(PXCache sender,pxrowspersistenedeventargs e)),但正如我们都知道的那样,当您单击“保存”按钮时,此事件将引发为当您单击“完成”按钮时。你还有别的想法吗?谢谢,谢谢,桑维尔。这个答案给了我特别是我期待的答案。祝您有个美好的一天!!!根据Acumatica框架,如果您有类似问题,请随时询问我,我将很乐意提供帮助。请注意,此解决方案取决于实现细节,因为没有记录u CALLBACKPARAM。如果产品更新了该功能,或者在寻求Acumatica解决方案的认证时,这可能是一个问题。@HB_Acumatica是的,这不是一个好的解决方案,但另一方面,没有记录在案的方法。