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

发布于 2024-09-11 03:04:59 字数 937 浏览 10 评论 0原文

我怎样才能获得员工的所有账户? 在“Siebel对象接口参考”中,我找到了一个示例,如何获取帐户的所有行业:

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 类中没有此类预定义属性 Account。

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

所以我想知道如何才能获得员工的所有帐户。

我发现业务组件“用户”具有指向“组织”的多值链接和另一个链接“用户/帐户”。

  • 这就是我要找的吗?
  • 我怎么知道?告诉我链接语义的文档在哪里? (“Siebel 数据模型参考”中对此进行了描述吗?尽管我已登录,但我无法下载此文档...)此链接还可以将用户链接到其所属的组织。
  • 如果这些链接之一是我正在寻找的内容,那么如何获取相应“员工”业务组件的“用户”业务组件?

Siebel 新手的许多问题...感谢您的耐心等待。

how can I get all accounts of am employee?
In the "Siebel Object Interaces Reference" I found an example, how to get all industries of an account:

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

So I would like to do something like:

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

But I get an error

Semantic Warning around line 23:No such predefined property Account in class BusComp[Employee].MVGFields.

I can see in Tools that there is no Multi Value Link called "Account" in Business Component "Employee", so I can actually understand the error message.

So I wonder how I can get all accounts of an employee.

I found the Business Component "User" which has a Multi Value Link to "Organisation" and another link "User/Account".

  • Is this what I am looking for?
  • How can I know? Where is documentation which tells me about the semantics of links? (Is this described in "Siebel data model reference"? I cannot download this document, although I have signed in...) This link could also link a user to the organization it belongs to.
  • If one of these links IS what I am looking for, what would be the way to go to get the "User" Business Component of a corresponding "Employee" Business Component?

Many questions of a Siebel newb...Thanks for your patience.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

平定天下 2024-09-18 03:04:59

馕。解决这个问题(并学习它)的一个简单方法是弄清楚如何在 UI 中做到这一点。然后继续研究如何在脚本中做同样的事情。

当您说“获取员工的所有帐户”时,您真的是指获取客户团队中特定员工所在的所有帐户吗?在用户界面中,可以通过以下方式完成:帐户 >跨组织的所有帐户,并在“帐户团队”多值字段中查询该特定用户。

从同一视图,转到“帮助”>“关于应用程序菜单中的“查看”。您将在弹出窗口中看到该视图使用“帐户”业务对象和“帐户”业务组件。快速检查您查询的小程序将显示小程序上的“客户团队”字段实际上是客户业务组件上的“销售代表”字段。以下是如何在脚本中模仿我们在 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
}

我希望您喜欢 Siebel。

Nang. An easy way to approach this (and to learn it) is to figure out how you'd do it in the UI. Then move onto figuring out how to do the same thing in script.

When you say, "get all account of an employee," do you really mean get all accounts where a particular employee is on the account team? In the UI, that would be done by going to: Accounts > All Accounts Across Organizations, and querying for that specific user in the "Account Team" multi-value field.

From that same view, go to Help > About View in the application menu. You'll see in the popup that the view uses the Account business object and the Account business component. A quick examination of the applet you queried on will show you that the "Account Team" field on the applet is really the "Sales Rep" field on the Account business component. Here's how to mimic what we did in the UI, in script:

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();

Then you can walk through the list of accounts and do something with each one like this:

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

I hope you're enjoying Siebel.

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文