套打实体动态字段,函数引擎原创
金蝶云社区-_Tmp
_Tmp
15人赞赏了该文章 5721次浏览 未经作者许可,禁止转载编辑于2021年05月07日 16:03:16

<0>20210513新版套打功能:套打支持单据实体动态字段(基于Python表达式进行配置)

套打实体动态字段,常用表达式

不知道功能的先看这个帖子,目前只支持单据。

后续这个帖子直接提问或者补充,考虑根据函数述求规划开发或放开函数二开实现

小tips:

1.如果要文本和非文本一起显示(如数字、日期),那么应该将非文本转换为文本,其中str()为python函数,.ToString()为C#函数,看情况使用


为什么会有这个实现方案?

a.控件、单元格GetValue作为占位符,在处理多个子项合并处理不友好;

b.多语言输出处理不友好

c.针对客户更多的自定义需求,在老版本的实现下需要增加更多的固定类型自定义字段,但是仅能解决部分需求,而后还需要做大量的维护工作

d.历史的输出逻辑无法使用这个值做持续的后续计算;


<1>单据套打函数:弹性域字段格式化函数FlexFormat(flexKey,formatString,separator)

快捷使用:设计器针对凭证增加FDetailIDNotePrintFormat,拖入后保存模板自动增加表达式(其他业务对象需要通过手动配置表达式实现)

image.png


函数解析:三个参数FlexFormat(flexKey,formatString,separator)flexKey——代表弹性域字段标识/或者弹性域子字段标识;formatString——单个维度的格式化显示规则;separator——各维度值间的分隔符;

格式化显示规则的占位词:Type——类型(核算维度用);Code——编码;Name——名称;


示例一:显示弹性域总值之核算维度

FlexFormat('FDetailID','Type:Code,Name','/')

显示格式 类型1:编码1,名称1/类型2:编码2,名称2/...

image.png


示例二:显示弹性域核算维度的单个维度值进行格式化

FlexFormat('FDetailID.FFlex5','Type——Name(Code)','/')

image.png


示例三:显示弹性域仓位的格式化

FlexFormat('FStockLocId','Name(Code)',';')

image.png


赞 15