如何在 Siebel 中以新记录模式打开弹出小程序?

How can I open a popup applet in new record mode in Siebel?

我正在使用 Siebel 7.8。我有一个带有按钮的列表小程序,该按钮基于相同的 BC 打开弹出窗体小程序。有 a few ways of doing this,在我的例子中,我只是将迷你按钮 MethodInvoked 属性 设置为 ShowPopup

当我按下按钮时,弹出窗口会显示列表小程序中当前所选记录的相同数据。相反,我需要的是创建一条新记录并将所有字段显示为空。就像用户在打开弹出窗口后按下 "new record" 一样。

我已将小程序网页模板 Type 属性 从 Edit 更改为 New(并且我相应地设置了 Mode 用户 属性 在按钮上)。我还在弹出小程序中添加了以下代码:

function WebApplet_Load ()
{
  this.BusComp().NewRecord();
}

但是 none 的变化产生了任何不同,弹出小程序仍然像以前一样工作(我觉得有点奇怪,至少 NewRecord() 调用应该是做某事...)。

还有什么我需要改变的吗?或者通过其他方式实现此要求?

我知道我可以为弹出小程序创建一个虚拟业务组件,并在按下 OK 按钮时将数据插入实际的 BC。但我认为这种做法有点大材小用。必须有更简单的方法来做到这一点,而不必创建 VBC+BS。对吗?

您是否处于高互动状态?你可以试试浏览器脚本。尝试将此浏览器脚本代码放在 Applet_InvokeMethod

if (name == "ShowPopup")
  {
    this.InvokeMethod("NewRecord");
    return("ContinueOperation");
  }

根据 Siebel 的事件序列,这甚至应该最后触发。所以它应该在那里创建一个新记录。

您可以在浏览器脚本的 Applet_Load 事件中尝试同样的操作。