我在销售订单屏幕上修改了DAC,以生成当前正在运行的BackOrder通用查询。但是我想知道是否有办法将GI打开到另一个窗口而不是替换我目前的当前屏幕?
以下是我用来创建GI链接的代码
public PXAction<SOOrder> ShowBackOrder;
[PXUIField(DisplayName = "Show Back Orders")]
[PXButton]
protected virtual void showBackOrder()
{
SOOrder current = Base.Document.Current;
if (current.OrderNbr!= null)
{
string sURL = String.Format( "~/GenericInquiry/GenericInquiry.aspx?Name=BackOrders&Customer={0}", current.CustomerID);
throw new PXRedirectToUrlException(sURL, null);
}
}
public override void Initialize()
{
Base.report.AddMenuAction(ShowBackOrder);
}
protected void SOOrder_RowSelected(PXCache sender, PXRowSelectedEventArgs e)
{
ShowBackOrder.SetEnabled(e.Row != null);
}
我认为答案可能在于“PXRedirectToURLException”,它当前设置为null。但是我无法找到在这个领域可以输入的其他任何东西。我知道任何外部网站都会在另一个窗口中自动打开,第二个参数的值仍为空。
因此,我可以输入一些东西让我的通用查询出现在新窗口中吗?
答案 0 :(得分:2)
我看到PXRedirectToUrlException的重载格式如下所示
public PXRedirectToUrlException(string url, PXBaseRedirectException.WindowMode newWindow,string message);
所以你可以试试这个
throw new PXRedirectToUrlException(sURL ,PXBaseRedirectException.WindowMode.New,null)