问题场景:安徽滁州、天长、合肥等地的金蝶云·星辰用户在设计打印模板时,常常发现单据上有的字段显示为空、有的显示为「0」——销售出库单上的「单价」明明没填却打了「/」,价税合计打了「0」,客户名称在备注里有时出现有时消失。这是 0值 与 空值 在打印表现上的差异。新手用户往往不知道如何让模板按业务需求正确显示:哪些字段需要打印为0、哪些字段空着就空着、哪些字段用「/」占位。本文以金蝶云星辰3.1(金蝶AI星辰 V3.1)为例,详细说明打印模板中0值和空值的显示逻辑与设计方法。

一、空值与0值到底有什么区别?
1. 空值(null):用户在单据上根本没有录入该字段,数据库里也无值;
2. 0值:用户主动录入了数字0,或者系统默认值就是0(如已审核通过的数值字段)。
两者在打印时按字段类型分3种逻辑:
- 系统自带标准数值字段(如单价、税率、价税合计):默认不显示为空(也就是空值时不显示任何字符),但如果用户录了0,则会显示为「0」;
- 用户新增的数值型自定义字段:默认不显示为空(空值不显示),录入0则打印为「0」;
- 文本字段/自定义文本字段(商品编码、商品行备注等):空值不显示,录入字符则按字符显示。
二、3种业务场景下的设计建议
1. 单据上有就显示,没有就不显示(最常见):用模板默认行为即可,无需额外公式。比如销售出库单的「备注」,没填就不打;
2. 空值显示为「/」占位:用模板自带的「空值占位符」配置。例如商品行打印时,没填的数量列统一打「/」,方便业务核对;
3. 0值也要显示成「0」(财务、统计场景):使用数据源公式 `iff(字段 = 0.0, "0", 字段)`,强制让0也打印。如设计一张「研发领用(勿初始化)」打印模板时,业务员希望单价为0也明确打印为0,便于后续核算;

三、具体操作步骤(以打印模板中单价字段为例)
步骤1:进入【系统设置→打印模板】,找到要修改的销售出库单模板,点「设计」;
步骤2:双击「单价」单元格,打开「数据源」设置;
步骤3:选择「公式」tab,输入 `iff( 单价 = 0.0, "0", 单价 )`,点「公式校验」确保语法正确;
步骤4:保存模板 → 重新打开销售出库单 → 点「打印预览」→ 验证空值与0值的不同表现。

四、常见问题与处理方法
1. Q:设置后字段全显示为「0」:A:公式中0值判断错误,应改为 `iff( 字段 = 0.0, "0", 字段 )` 而非 `iff( 字段 == 0, "0", 字段 )`;
2. Q:自定义文本字段空值时打印为空但希望能打「-」:A:用 `iff( len(字段) = 0, "-", 字段 )` 或 `iff( 字段 = "", "-", 字段 )`;
3. Q:模板设计完单据没变:A:清缓存后重新打开单据(路径:runtime/cache、runtime/compile、runtime/complile),或重启浏览器;
4. Q:公式太长太复杂提示语法错误:A:拆成多个中间变量或使用模板自带的「辅助列」功能分段处理。
五、安徽企业打印模板设计经验
1. 制造业(安徽天长机械加工、合肥家电):单价空值时打「/」+ 0值打「0」,便于车间统计;
2. 商贸流通(安徽合肥百货、芜湖批发):客户备注、批次字段保留空值不显示,减少冗余;
3. 服务业(滁州、宣城):价税合计0值必须打「0」,财务对账需要明确数字。
如果遇到复杂的打印模板设计或多账套批量配置需求,欢迎联系安徽宇辰软件(电话 15855000501)获取一对一技术支持。
请填写您的需求,我们将尽快与您联系