套打.动态字段.根据条件打印组合值

栏目:云星空知识作者:金蝶来源:金蝶云社区发布:2024-09-23浏览:1

套打.动态字段.根据条件打印组合值

# 【应用场景】 套打时,根据单据体满足条件的数据进行数据拼接。 # 【案例演示】 以生产发料通知单为例,演示通过套打动态字段配置实现数据的过滤和数据拼接。 当仓库表体中对应数据勾选,打印对应的仓库数据(当多个时进行拼接)。 # 【动态字段配置】 ### <1>配置表达式需要使用的动态字段 直接绑定,用作获取数据(当套打模板上没有绑定该字段时不会获取数据,此时可用配置表达式获取数据;当控件模板绑定了对应字段时,可不需要此步处理) 本案例中使用了“选择”字段(FCheck)和“仓库.名称”字段(FStockId01.FName) 其中针对“仓库.名称”字段,由于仓库可能为空,建议使用以下表达式绑定(所有基础资料型都应该这样处理,针对基础资料的特殊用法参考 [套打.动态字段.基础资料使用指南](https://vip.kingdee.com/article/179905871957849088)) ```python FStockId01.FName if FStockId01 != null else '' ``` ![image.webp](/download/01002a7241b8b29a42bfb1a1ab81e59c99b9.webp) ### <2>配置聚合动态字段表达式 进行数据过滤、数据获取以及数据拼接。 ![image.webp](/download/0100c2a19ae5615d4b09b7f13f808a3a09d4.webp) ```python ';'.join(map(lambda x:x.FStockId01.FName, filter(lambda x:x.FCheck == True and x.FStockId01 != null, ActiveObject))) ``` 表达式解析: 1 )对仓库表体所有数据进行过滤,保留勾选和仓库非空的数据 ```python filter(lambda x:x.FCheck == True and x.FStockId01 != null, ActiveObject) ``` 2 )将对应满足条件的数据行,获取对应的字段值 ```python map(lambda x:x.FStockId01.FName, filter(lambda x:x.FCheck == True and x.FStockId01 != null, ActiveObject)) ``` 3 )将集合数据进行内容拼接,使用了python的string.join ### <3>使用控件绑定自定义的动态字段标识 特别是在文本绑定跨实体动态字段目前需要使用GetDataSourcaValue()进行绑定。 (参考[套打.文本控件.打印动态字段](https://vip.kingdee.com/article/137611800287477504)) 最终的动态字段标识与聚合字段设置的标识一致(本案例中为MergeStock) ![image.webp](/download/0100a818855a81ac4eeb97c377ec81a5a013.webp) # 【演示效果】 ![image.webp](/download/0100205be99a06e149da94505d1a8741e9b1.webp)

套打.动态字段.根据条件打印组合值

# 【应用场景】套打时,根据单据体满足条件的数据进行数据拼接。# 【案例演示】以生产发料通知单为例,演示通过套打动态字段配置实现数据...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息