以编程方式创建文档
前面已经学习了如何通过软件的菜单和工具栏创建和操作 CCH Tagetik Supply Chain Planning Studio 文档。本章介绍如何使用 DScripttm 以编程方式创建和修改文档。
以编程方式创建文档而非通过标准菜单和工具栏有许多原因。例如,可能需要:
- 在数据处理例程结束时动态创建和/或操作图形;
- 编写函数来为树的节点着色或根据节点值设置节点属性;
- 创建具有标准菜单无法提供的属性组合的自定义图形或表格;或
- 创建自己的加载项,自动创建/修改 Studio 文档。
本节介绍如何以编程方式创建和操作以下 CCH Tagetik Supply Chain Planning Studio 文档:
- 工作表(树工作表、文本工作表、数据表、报表、图表);
- 图表(演示表、图形(2-D)、曲面图(3-D));以及
- 节点
创建和操作文档¶
以下代码片段将创建一个名为 MyTable 的新演示表,并指定其数据、垂直图例和水平图例:
var x=inserttable("MyTable"); document[x].data="[[1,2,3],[4,5,6]]"; document[x].vlegend="['Row 1','Row 2','Row 3']"; document[x].hlegend="['Col 1','Col 2']";
上面示例中的 inserttable 函数创建一个新的演示表并返回新工作表的名称(示例中为 "MyTable")。
以下是用于创建其他 CCH Tagetik Supply Chain Planning Studio 文档的函数:
用于创建 SCP Studio 文档的函数
| 函数 | 创建新 |
|---|---|
| insertdatasheet | 数据表 |
| insertdiagramsheet | 图表 |
| insertgraphsheet | 图形 |
| insertgraph3 | 曲面图 |
| insertreportsheet | 报表 |
| inserttable | 演示表 |
| inserttextsheet | 文本工作表 |
| inserttreesheet | 树工作表 |
可以通过以下任一方式引用现有和之前创建的文档:
或
可以像引用工作表一样以编程方式引用和修改节点。但是,创建新节点的过程略有不同。
通过在适当的命名空间中定义节点来创建新节点。例如,以下代码创建一个包含简单净资产收益率(ROE)模型的新树工作表。
BuildTree:=( var x=inserttreesheet("MyTree"); document[x].rootnode="ROE"; ROE:=Profit/Equity; Profit:=PBT-Tax; PBT:=100000; Tax:=PBT*34%; Equity:=Assets-Liabilities; Assets:=700000; Liabilities:=250000; )
注意:上面的 BuildTree 定义在圆括号内而非花括号({ })内。如果代码放在花括号内,它会创建一个新块,当函数完成时,新节点将不再存在于模型作用域中。