Merlin Project:将基础成本报告生成为 PDF

Merlin Project 支持

我们最近收到了如下问题:

icon

我用最新版本的 Merlin Project 在 Mac 上创建了一个项目文件,我需要在其中录入各类基础成本。我知道 Merlin Project 会将它们汇总为计划、预期或实际基础成本,但我的客户需要一份详细的基础成本报告,可打印、或可在预览或 Acrobat Reader 中阅读。该报告应列出我项目的所有基础成本,并导出它们的属性。这能实现吗?

要满足上述需求,您可以使用我们开发的一套 AppleScript 解决方案。

该脚本会遍历所有项目活动、其分派、附件与资源,并提取每个元素的基础成本。在输出相应属性时,它会将一个 AsciiDoc 文本文件写入桌面。最后它会调用 Asciidoctor PDF,使用自定义样式表生成一个 PDF。

脚本的安装

  • 请下载以下 压缩包
  • 解压该 Zip 文件。
  • 在访达菜单中调用 前往 > 个人文件夹
  • 将文件夹 res-for-script 移动到个人文件夹中。
  • 在 Merlin Project 中调用 文件 > 操作 > 显示脚本文件夹
Merlin Project - 显示脚本文件夹_
  • 打开名为 net.projectwizards.merlinproject 的文件夹。
  • 将脚本文件 Create Base Costs Report.scpt 移动到 Merlin Project 的脚本文件夹中。
  • 双击脚本 Create Base Costs Report。它将在脚本编辑器中打开。
  • 找到包含 property pathToAsciidoctorPDF 的那一行。
  • 打开一个终端窗口,并调用 command -v asciidoctor-pdf
  • 如有必要,请修改 pathToAsciidoctorPDF

如果您需要安装 asciidoctor-pdf,请按照安装说明操作,并在需要时修改 pathToAsciidoctorPDF

基础成本报告的生成

打开任意一个项目。从菜单 文件 > 操作 > … 调用脚本 Create Base Costs Report

请等待脚本生成 AsciiDoc 文件,并调用 asciidoctor-pdf 进行 PDF 转换。一声提示音表示转换已完成。AsciiDoc 的 .adoc 文件以及生成的 PDF 都会出现在桌面上。

表格会输出以下基础成本属性:
Title:基础成本的名称,连同一个表示该基础成本元素类别的图标
Planned Amount 计划基础成本的金额
Actual Amount: 如已设置,此值会覆盖计划基础成本的金额
Type: 可能的取值取自项目设置中的值列表
Account: 如已设置,即该项成本所属账户的名称
Status: 可能的取值取自项目设置中的值列表
Added by: 如已设置,此处会显示某个资源的名称
Billable: 如已设置,√
Accrue: 可能的取值为按比例、在开始时、在结束时、立即

演示文档的基础成本报告

表格表头的自定义着色、字号以及交替的行背景,均通过随附的 Asciidoctor PDF YAML 样式表 进行设置。

提示: AsciiDoc 文件中表格上的 header 选项 使 Asciidoctor PDF 能够在表格跨多页分页时重复显示表头。

表格页面的换页采用横向布局。也就是说,该 PDF 以纵向的标题页开始,为满足报告需要切换为横向,并在结束页再切换回纵向。

基础成本报告:混合的页面方向

您可以打开 .adoc 文件,并在需要时进行修改,从而在第二步中使用您自己的样式表来转换 PDF。如果您希望为该 PDF 文件使用自己的样式表,只需将其放入文件夹 res-for-script 中,并相应地重命名脚本中的属性 themeName


关于 ProjectWizards 的 AppleScript 的说明:您可以不受限制地、免费地采用并使用这些 AppleScript 及其他示例。这些脚本始终仅作演示用途提供。我们乐于为您解答有关脚本的问题,但运行的最终责任完全由您承担。明确允许您修改这些脚本并免费转交给第三方。如属此种情况,请清楚说明您所作的修改,以及该脚本的基础来自 ProjectWizards。
若要修改本示例或其他 AppleScript 示例,请阅读文档 Scripting Merlin Project。其中包含您可以使用的各种示例与代码片段。该文档以英文撰写。


如果您对这篇博客文章有任何疑问或希望参与讨论,欢迎您在我们的论坛中发帖

规划项目, 让计划真正奏效。

一款管理项目计划的应用,在所有 Apple 设备上原生运行。