Word 单证模板
Word 单证模板与 Excel 单证模板 平行:上传带占位符的 Word 文件,业务详情页一键导出并填入单据数据。
入口
管理 → Bring外贸 → Word单证模板
详情页按钮:打印到 Word(该实体至少有一个 启用 的模板时显示)。
预装模板
安装或升级扩展后会写入下列通用样例(不是某家客户的品牌稿)。已有同名模板时升级不会覆盖你改过的文件。
| 名称 | 实体类型 | 典型用途 |
|---|---|---|
| 销售合同 | 销售订单 CSalesOrder | 中英对照 Sales Contract:明细、付款、保险/检验/不可抗力/仲裁等条款、银行账户、双方签字。导出后再改条款最常见。 |
| 形式发票 | 销售订单 CSalesOrder | Word 版 Proforma Invoice,方便改付款、银行信息和备注后再发给客户或开证。 |
| 报价单 | 报价单 CQuote | Word 版报价,带有效期与买方确认栏。 |
装箱单、报关单、商业发票更常走 Excel / PDF;订舱、提单、装船通知一般由货代出具,系统不预装。华科东尼等客户定制稿请单独上传,不要当默认模板。
条款、仲裁地、保险比例等请导出后按公司法务要求修改。也可在 管理 → Bring外贸 → Word单证模板 打开记录、下载文件改版式后重新上传。
新建模板
- 创建 Word单证模板
- 填写名称、实体类型、状态(须 启用)
- 上传
.docx或.doc - 从「可用占位符」复制到 Word 对应位置后重新上传
导出格式与上传文件一致:传 .docx 就下 .docx,传 .doc 就下 .doc。默认文件名为 模板名称-单号。
占位符
与 Excel 同一套:
{{name}}
{{account.name}}
{{today}}
{{productsData[name]}}
{{productsData[quantity]}}
{{productsData[unitPrice]}}
- 单据级字段用
{{字段}}或{{关联.字段}} - 汇总表明细(一行一条):占位符写在同一表格行各单元格,例如
{{productsData[name]}}。导出时按产品条数复制该行,不用#each;每行填对应产品,不会重复第一行 - 产品图片:
{{productsData[productImageId]}}、{{productsData[cImage2Id]}}等同段可写多个;有图则各占一行,无图则跳过(不插图,表格格内仍保留空段落以免 Word 报错)。可与文字混排,例如先图再写「技术参数:」+{{productsData[cTechParams]}} - 多行文本(规格、描述、技术参数等):CRM 里用 回车 分行;富文本
<div>/<p>/<br>也会还原为多段。导出时一行一段 Word 段落(不是 Shift+Enter 软换行)。若行距偏大,把该段的「段后间距」设为 0 - 产品参数 / 图文介绍(表格外、多段一块):必须用下面这对标记圈住整块,且各单独成段(不要跟正文写在同一段里):
{{#each productsData}}
(这里是一条产品的标题、图片、简介、技术参数……)
{{/each}}
导出时整块按产品条数复制;标记本身不会出现在成品里。漏写则参数只会填第一条。
- 上面汇总表、下面参数介绍可以同时用:表循环行,#each 循环块
- 占位符一次敲完,少改中途字体,避免 Word 把 {{name}} 拆开
只收 .docx 与 Word 97–2003 .doc,不收 .docm。
.doc 与 LibreOffice
填值引擎只处理 .docx。上传 .doc 时,系统用本机 LibreOffice(soffice)转成 .docx 再填值,导出时再转回 .doc。
.docx不依赖 LibreOffice- 没有 LibreOffice 时,请改传
.docx;或在配置中设置foreignTradeLibreOfficePath指向soffice - 转换可能轻微影响版式,建议优先用
.docx做模板
业务端:导出 Word
- 打开已保存的报价单 / 销售单 / 出运单等 详情
- 点击 打印到 Word
- 选择模板
- 浏览器下载
{模板名称}-{单号}.docx或.doc(不会在网页里打开)
Word / Excel 不能在浏览器里预览,也不能从网页直接唤起本机 Word / WPS。点导出就是下载;下载完成后用本机软件打开。PDF 仍可在新标签预览。
常见问题
Q:详情没有「打印到 Word」?
- 管理 → Bring外贸 → Word单证模板 中该实体至少有一个 启用 的模板
- 当前用户对该实体有读权限,并对 Word 模板有读权限
- 管理 → 清除缓存 后刷新浏览器
Q:上传 .doc 报找不到 LibreOffice?
- 在运行 PHP 的环境安装 LibreOffice,或改传
.docx
Q:产品参数只填了第一条?
- 表格外的参数/图文块必须用
{{#each productsData}}和{{/each}}各单独成段包住 - 汇总表那一行不用
#each,只把{{productsData[…]}}写在同一表格行里 - 修改模板后须重新上传;然后 管理 → 清除缓存 再导出
Q:表格循环每行都是第一个产品?
已按行填各产品。若仍不对,确认占位符在同一表格行,且重新上传了模板。
Q:产品图片格子只出现一串 ID?
占位符须写完整 {{productsData[productImageId]}}(两个 })。产品须已有图片。可与「技术参数」等文字写在同一格。
Q:占位符没替换?
- 与帮助列表完全一致,不要有多余空格
- 关联字段须用点号写法,如
{{account.name}}、{{contact.name}}(不是手写「客户名称」) {{contact.name}}取报价单上选的联系人;客户上的主联系人字段是{{account.contactName}}{{account.address}}取客户自定义「详细地址」;若数据在标准地址字段,改用占位符列表里对应项- 重新上传修改后的文件;升级扩展后 清除缓存 再导出