事件

在 ALM Web 客户端 用户会话中,当用户启动各种操作时,Web 客户端 将触发事件。可以在这些事件中放置代码,以自定义相关用户操作的执行。

下表描述了每个事件的触发时间以及通过编辑事件可获得的效果:

事件 描述
New

将实体添加到 Web 客户端 时触发此事件。

可以将代码添加到此事件,以便在添加新对象时执行操作。

语法: <实体>_New

有关示例,请参见示例:将模板添加到备注字段

MoveTo

用户将焦点从一个对象更改到另一个时,触发此事件。

可以将代码添加到此事件,以便在用户更改焦点时执行操作。

语法: <实体>_MoveTo

有关示例,请参见示例:呈现动态字段列表

FieldCanChange

Web 客户端 更改字段值之前触发此事件,以确定可否更改字段。它返回 true 或 false。

可以将代码添加到此事件以禁止字段在特定情况下更改。

语法: <实体>_FieldCanChange(fieldName, newValue)

其中 fieldName 是字段的名称。

newValue 是字段的新值。

有关示例,请参见示例:验证字段

FieldChange

指定字段的值更改时,触发此事件。

字段失去焦点时,值的每次更改都触发 FieldChange 事件。

可以将代码添加到此事件,以便在特定字段的值更改时执行操作。

语法: <实体>_FieldChange(fieldName)

其中 fieldName 是字段的名称。

有关示例,请参见示例:根据另一个字段来更改一个字段

CanPost

Web 客户端 更新实体之前触发此事件,以检查是否可以更新该实体。它返回 true 或 false。

可以将代码添加到此事件以禁止实体在特定情况下更新。

语法: <实体>_CanPost

有关示例,请参见示例:验证在特定情况下实体是否可以更新

CanDelete

Web 客户端 删除实体之前触发此事件,以检查是否可以删除该实体。它返回 true 或 false。

语法: <实体>_CanDelete(entity)

AfterPost

Web 客户端 中更新实体后会触发此事件。

在发布项目字段之后,不应当更改它们,否则数据库中就不会储存新值。

语法: <实体>_AfterPost

CanAddTests

Web 客户端 将测试添加到测试集之前触发此事件,以检查指定测试可否添加。它返回 true 或 false。

语法: TestSet_CanAddTests(tests)

其中 Tests 是测试 ID 数组。

CanRemoveTests

Web 客户端 从测试集中删除测试之前触发此事件,以检查是否可以删除指定的测试。它返回 true 或 false。

语法: TestSet_CanRemoveTests(tests)

其中 Tests 是测试 ID 数组。

RunTestsManually

用户单击“使用手动运行器运行”按钮以在“测试实验室”模块中运行测试时,触发此事件。

语法: RunTestsManually(tests)

其中 tests 是一个测试实例 ID 数组。

可用于: 仅限“测试实验室”模块脚本 (从 24.1 P1 开始)

DefaultResult

此事件用于确定 ALM 事件 (如 FieldCanChange) 的默认返回值。

所有 ALM 事件均可调用此事件 (除非用户明确省略) 以确定默认返回值。DefaultResult 可用于快速替换所有 ALM 事件的默认返回值。

可用于:公用脚本节点

语法: DefaultResult

CanLogin

触发此事件以检查指定用户可否登录指定项目。它返回 true 或 false。

语法: CanLogin(domainName, projectName, userName)

其中 domainName 是域名。

projectName 是项目名称。

userName 是用户名。

可用于:“公用脚本”节点

CanLogout

触发此事件以检查当前用户可否从当前项目注销。它返回 true 或 false。

语法: CanLogout

可用于:“公用脚本”节点 (从 24.1 P1 开始)

ActionCanExecute

Web 客户端 执行用户启动的操作之前触发此事件,以检查操作可否执行。

可以将代码添加到此事件,以便在用户启动特定操作时执行操作,或在特定情况下禁止执行操作。

可用于:“公用脚本”节点

语法: ActionCanExecute(actionName)

其中 actionName 是用户已启动的操作。

系统操作名称的格式为 <实体>.<操作名称>。例如,Defect.DeleteDefect。有关支持的系统操作名称的详细信息,请参阅支持的系统操作

由用户定义按钮触发的用户定义操作的格式为 UserDefinedActions.<操作名称>。例如,UserDefinedActions.Calculator

有关示例,请参见示例:阻止用户执行操作

CanEnterModule

在用户进入或切换到 Web 客户端中的模块之前触发此事件。它返回 true 或 false。

语法: CanEnterModule(moduleName)

其中 moduleName 是 ALM 模块名称。

可用于:“公用脚本”节点

EnterModule

在用户进入或切换到 Web 客户端 中的模块时,触发此事件。用户登录到 Web 客户端时也触发此事件。

语法: EnterModule

可用于:“公用脚本”节点

ExitModule

当用户退出 Web 客户端 中的模块时触发此事件。

语法: ExitModule

可用于:“公用脚本”节点

DialogBox

对话框打开或关闭时触发此事件。

语法: DialogBox(dialogBoxName, isOpen)

其中 dialogBoxName 是字段的名称。

isOpen 指示对话框是否打开。

可用于:“公用脚本”节点

CanCustomize

用户试图打开“工作流”窗口时触发此事件,以检查指定用户可否自定义项目的工作流脚本。它返回 true 或 false。

语法: CanCustomize(domainName, projectName, userName)

其中 domainName 是域名。

projectName 是项目名称。

userName 是用户的用户名。

可用于:“公用脚本”节点

Attachment_New

在将附件添加到 Web 客户端 之前触发此事件,以检查该附件可否打开。它返回 true 或 false。

语法: Attachment_New(attachment)

可用于:“公用脚本”节点

Attachment_CanPost

在 Web 客户端更新附件之前触发此事件,以检查是否可以更新该附件。它返回 true 或 false。

语法: Attachment_CanPost(attachment)

可用于:“公用脚本”节点

Attachment_CanDelete

在 Web 客户端删除附件之前触发此事件,以检查是否可以删除该附件。它返回 true 或 false。

语法: Attachment_CanDelete(attachment)

可用于:“公用脚本”节点

GetDetailsPageName

此事件由 Web 客户端 触发,在以下对话框中检索 PageNum 中所指定索引号的页面 (选项卡) 的名称:

  • 实体的“详细信息”对话框

  • 实体的“新建 <实体>”对话框

可以将代码添加到此事件,为“详细信息”对话框自定义选项卡名称。

语法: GetDetailsPageName(pageName, pageNum)

其中 pageName 是默认页面 (选项卡) 名称 (例如 Page 1)。

pageNum 是页面 (选项卡) 编号。

可用于:“公用脚本”节点

有关示例,请参见示例:更改实体详细信息对话框的选项卡名称

SharedFunction

您可以在 SharedFunction 事件中定义全局变量或函数。

  • <模块>_SharedFunction 事件中包含的脚本可供同一模块中的任何其他事件使用。

  • 公用脚本节点 > SharedFunction 事件中包含的脚本可供任何模块中的事件使用。

如果脚本调用 SharedFunction 事件,并对该事件的常量或变量进行更改,则更改仅在此脚本和当前执行中生效。

有关示例,请参见示例:自定义新建缺陷对话框中的字段