【问题标题】:I want to refresh a view in siebel on a button click我想通过单击按钮刷新 siebel 中的视图
【发布时间】:2013-03-14 16:05:52
【问题描述】:

我使用的是 siebel v 8.0。

我想在单击小程序中的按钮时刷新视图。

单击按钮时,我需要浏览器脚本中的一些代码来刷新视图。

我试过了

1. this.BusComp().InvokeMethod("RefreshRecord");
2. this.BusComp().InvokeMethod("RefreshBusComp");
3. theApplication().InvokeMethod("RefreshBusComp"); 
4. theApplication().GetService("FINS Teller UI Navigation").InvokeMethod ("RefreshCurrentApplet", theApplication(). NewPropertySet(), theApplication().NewPropertySet());

但他们都没有工作。但我需要刷新整个视图而不是当前的小程序。请帮忙。 .

【问题讨论】:

    标签: siebel escript


    【解决方案1】:

    在使用 BS:FINS Teller UI Navigation 时,尝试将参数“Refresh All”传递为 true。

    var svcUI = TheApplication().GetService("FINS Teller UI Navigation");
    var psIn = TheApplication().NewPropertySet();
    var psOut = TheApplication().NewPropertySet();
    psIn.SetProperty("Refresh All","Y");
    svcUI.InvokeMethod("RefreshCurrentApplet",psIn,psOut);
    

    如果这仍然不适合您,您可以尝试使用 javascript 来刷新视图,假设您的应用程序处于高交互性状态。在 javascript 中使用 window.location.reload() 刷新整个视图。

    【讨论】:

    • 谢谢兰吉斯。 FINS Teller UI Navigation 在服务器脚本中工作。但是,在浏览器脚本中这不起作用。我在 theApplication() 而不是 TheApplication() 中使用相同的代码。
    • 我迟到了 3 年,但为了未来读者的利益:为了从浏览器脚本调用业务服务,您必须先注册 BS,in the CFG file (Siebel 7.8 and earlier)in Siebel Tools (Siebel 8.0+)
    【解决方案2】:

    拦截Applet浏览器端脚本的按钮点击事件,并从浏览器端脚本调用自定义业务服务。在业务服务的服务器端脚本使用

    TheApplication().GoToView("Name Of View to Refresh");
    

    将“视图名称”和其他参数从浏览器传递到服务器端以维护上下文,这将使其具有通用性和可重用性。最后,您将刷新视图。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2016-12-14
      • 2016-03-12
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多