设置窗口计算

设置动态窗口分为两个阶段:

  • 创建能够根据“对象设计器”中的属性返回“窗口函数”的计算。
  • 使用“窗口管理器”设计窗口以运行计算。

下面的两个程序演示了如何在已经填写紧急度字段的情况下将“事件”窗口上的影响字段设为必填。您可以对其他“窗口函数”使用类似的方法。稍后将给出其他示例计算。

要创建计算:
  1. 启动对象设计器,打开窗口的对象。
    在我们的示例中,这是事件管理/事件
  2. 新建最大长度设置为 -1 的字符串属性来存储计算。

我们建议计算属性的名称以 DynamicWindow 开头,以便更轻松地在设计器中进行查找。

  1. 将新属性的计算类型设置为窗口计算
    出现“编辑公式”对话框。
  2. 清除自动检测依赖性复选框。
    我们将自行设置依赖性。
  3. 创建将设置为 ":SetMandatory(attribute, True)" 的计算。
    在我们的示例中,要使影响属性成为必填,可键入以下计算:
复制
import System
static def GetAttributeValue(Incident):
    Value = ":SetMandatory(_Impact, True);"
    return Value

该示例计算并非您将在实际系统中使用的计算。尽管如果紧急度字段已经填写将使影响字段成为必填,但如果稍后再次更改紧急度字段,却不会重置该字段。此示例将仅作为其中的一部分,来展示设置动态窗口的程序。稍后将介绍更完整的计算。

上面示例中以 Valuereturn 开头的这些行使用单格缩进。如果您从此处复制示例,请确保将它们粘贴到计算编辑器中时保持正确的缩进。

:SetMandatory 仅使用属性的名称。请勿包含对象名称(例如,不要使用 Incident._Impact)。请记住,如果属性不是系统属性,将以下划线开头(例如 _Impact)

您可以使用分号分隔多个目标属性从而对它们进行更新。例如:
Value = “:SetMandatory(attribute1,True);:SetMandatory(attribute2,False);”

  1. 拖动触发待运行计算的属性,将其从属性树移动到依赖性窗格。
    对于我们的示例,请拖动事件紧急度。请注意属性的内部数据库名称 – _IncidentUrgency – 将显示在“依赖性”窗格中。
  2. 单击确定
    关闭“编辑公式”对话框。
  3. 单击
    随即保存对对象所做的更改。

现在您已经创建了将字段设置为必填的计算,然后可以设置窗口以使用该计算。

要设置窗口:
  1. 在窗口管理器中,打开所需窗口。
    在我们的示例中,这是“事件”窗口。
  2. 将您在上面所创建的计算属性添加到窗口。

此属性必须添加到窗口,但可以通过将 ShowOnWindow 属性设置为来隐藏它。我们建议您在设计和测试计算时,将 ShowOnWindow 设置为

  1. 选择要用于触发计算的控件。
    这是在计算中被添加到依赖性窗格的属性。在我们的示例中,这是紧急度
  2. 在控件的属性网格中,将变更时计算设置为
  3. 保存对窗口所做的更改。

当用户在“事件”窗口上选择紧急度时,将触发计算,并且所计算属性的值将设置为 :SetMandatory(_Impact, True);。这随后可以使影响字段成为必填字段。