代码之家  ›  专栏  ›  技术社区  ›  nang

Siebel-如何使用eScript获取员工的所有帐户?

  •  0
  • nang  · 技术社区  · 15 年前

    在“Siebel Object Interaces Reference”中,我找到了一个示例,即如何获取一个帐户的所有行业:

    var myAccountBO = TheApplication().GetBusObject("Account");
    var myAccountBC = myAccountBO.GetBusComp("Account");
    var myAssocBC = myAccountBC.GetMVGBusComp("Industry");
    

    所以我想做一些类似的事情:

    var myEmployeeBO = TheApplication().GetBusObject("Employee");
    var myEmployeeBC = myAccountBO.GetBusComp("Employee");
    var myAssocBC = myAccountBC.GetMVGBusComp("Account");
    

    但我犯了个错误

    第23行的语义警告:BusComp[Employee].MVGFields类中没有此类预定义的属性帐户。

    我可以在工具中看到,业务组件“Employee”中没有名为“Account”的多值链接,因此我实际上可以理解错误消息。

    所以我想知道怎样才能得到一个雇员的所有账户。

    我找到了业务组件“User”,它有一个到“organization”的多值链接和另一个链接“User/Account”。

    • 我怎么知道?告诉我链接语义的文档在哪里(这在“Siebel数据模型参考”中有描述吗?我无法下载此文档,尽管我已登录…)此链接还可以将用户链接到它所属的组织。

    有很多关于西贝尔的问题…谢谢你的耐心。

    1 回复  |  直到 15 年前
        1
  •  1
  •   Mike M. Lin    15 年前

    当你说“获取某个员工的所有账户”时,你真的是指获取某个特定员工在客户团队中的所有账户吗?在UI中,可以通过转到:Accounts>跨组织的所有帐户,并在“帐户组”多值字段中查询该特定用户。

    从同样的角度来看,请转到“帮助”>关于应用程序菜单中的视图。您将在弹出窗口中看到视图使用Account业务对象和Account业务组件。快速检查您所查询的applet将显示applet上的“Account Team”字段实际上是Account business组件上的“Sales Rep”字段。下面是如何在脚本中模仿我们在UI中所做的操作:

    var boAccount = TheApplication().GetBusObject("Account");
    var bcAccount = boAccount.GetBusComp("Account");
    bcAccount.SetViewMode(AllView); // like All .. Across Orgs
    bcAccount.ClearToQuery();
    bcAccount.SetSearchSpec("Sales Rep", "NANG");
    bcAccount.ExecuteQuery();
    

    // for each account
    for (var bIsRowActive = bcAccount.FirstRecord();
        bIsRowActive; b = bcAccount.NextRecord())
    {
        // do something here
    }