Frappe 允许您使用 Google 的 Gsuite 文档作为模板,并从中生成一个新的 Gsuite 文档,该文档将放置在您选择的文件夹中。变量可以使用标准的 Jinja2 格式填充到 Gsuite 文档的正文和名称中。生成后,Gsuite 文档将作为附件与 DocType 保持关联。
Gsuite 文档是通过调用任何 DocType 的“附加文件”功能生成的。
此功能的一个常见用例是根据客户/员工/供应商数据填充合同。
1. 启用与 Google Gsuite 的集成
1.1 发布 Google Apps 脚本
如果您将使用默认脚本,可以直接跳到 1.2 节
- 前往 https://script.google.com
- 创建一个新项目。点击 文件 > 新建 > 项目
- 将 工作台 > 探索 > 集成 > GSuite 设置 > Google Apps 脚本 中的代码复制到剪贴板,然后粘贴到 script.google.com 中空的 Code.gs 文件中
- 保存项目。点击 文件 > 保存 > 输入新项目名称
- 部署应用。点击 发布 > 部署为网络应用
- 将“当前网络应用 URL”复制到 工作台 > 探索 > 集成 > GSuite 设置 > 脚本 URL
- 点击确定,但不要关闭脚本
1.2
1.2 获取 Google 访问权限
- 前往您的 Google 项目控制台并选择您的项目或创建一个新项目。https://console.developers.google.com
- 在库中点击 Google Drive API 并 启用
- 点击 凭据 > 创建凭据 > OAuth 客户端 ID
- 填写表单:
- 网络应用
- 授权重定向 URI 为
http://{{ yoursite }}/?cmd=frappe.integrations.doctype.gsuite_settings.gsuite_settings.gsuite_callback
- 将客户端 ID 和客户端密钥复制到 工作台 > 探索 > 集成 > GSuite 设置 > 客户端 ID 和客户端密钥
- 保存 GSuite 设置
1.3 测试脚本
- 点击 允许 GSuite 访问,您将被重定向以选择用户并授予访问权限。如果出现任何错误,请验证您使用的授权重定向 URI 是否正确。
您可以在错误页面 URL 的最后部分找到 Gsuite 重定向的完整 URI。检查协议http://或https://是否与您使用的一致。 - 点击 运行脚本测试。系统应提示您授予权限。
2. GSuite 模板
2.1 将 Google 文档用作模板
- 创建一个新文档或使用您已有的文档。根据需要设置变量。变量使用
{{VARIABLE}}定义,其中 变量 是您 DocType 的字段
例如,
如果此文档将用于员工,且 DocType 具有 name 字段,则您可以在 Google 文档中使用它,如 {{name}}
-
从文档的 URL 中获取该文档的 ID。
例如:在此文档 URLhttps://docs.google.com/document/d/1Y2_btbwSqPIILLcJstHnSm1u5dgYE0QJspcZBImZQso/edit中,文档 ID 为1Y2_btbwSqPIILLcJstHnSm1u5dgYE0QJspcZBImZQso -
获取您希望放置生成文档的文件夹的 ID。(如果您希望将生成的文档放置在 Google Drive 根目录中,可以跳过此步骤。)
例如:在此文件夹 URL https://drive.google.com/drive/u/0/folders/0BxmFzZZUHbgyQzVJNzY5eG5jbmc 中,文件夹 ID 为 0BxmFzZZUHbgyQzVJNzY5eG5jbmc
2.2 将模板关联到 DocType
- 前往 工作台 > 探索 > 集成 > GSuite 模板 > 新建
- 填写表单:
- 模板名称(例如:
Employee Contract) - 关联 DocType(例如:
Employee) - 模板 ID 是您从 Google 文档中获取的文档 ID(例如:
1Y2_btbwSqPIILLcJstHnSm1u5dgYE0QJspcZBImZQso) - 文档名称是新文件的名称。您可以使用 DocType 中的字段(例如:
Employee Contract of {name}) - 目标 ID 是您从此模板创建的文件的文件夹 ID。(例如:
0BxmFzZZUHbgyQzVJNzY5eG5jbmc)
3. 创建文档
- 前往一个您已有模板的文档(例如:员工 > 张三)
- 点击 附加文件
- 在 GSuite 文档 部分选择模板,然后点击 附加
- 您应该会看到生成的文档已创建并附加
- 点击附加的文档将在 Gsuite 中打开它