今天学到新一个新知识,分享一下,
需求描述:打印想要显示打印范围记1-100,怎么设置
操作步骤:表达式max(字段)
编号设置为GetDataSourceValue("FBillHead","FVOUCHERGROUPID.FName")GetDataSourceValue("FBillHead","ZX")-GetDataSourceValue("FBillHead","FVOUCHERGROUPID.FName")GetDataSourceValue("FBillHead","ZD")
打印效果
由于目前凭证号是获取到最大的,但是凭证字无法根据凭证号去获取,故显示的时候可能不是很准确,目前建议如果有多个凭证字,建议方案按凭证字过滤再去打印。已经问过研发了,如果一定要根据凭证号去获取对应凭证字,bos配置不了,只能二开。
相关知识贴:https://vip.kingdee.com/article/137611800287477504?productLineId=1&isKnowledge=2;https://vip.kingdee.com/knowledge/specialDetail/363025883948262656?category=363048037708301568&id=314352310908440576&productLineId=1。
经过测试发现一个问题,直接这样设置有个缺陷,凭证号是文本字段,直接用max和min做判断的时候会显示1000比900小,就会出现这种情况
所以还需要做个操作将字段转换为整数。
把要转换的那个字段拖一个到模板上,可以选择设置不打印
再设置聚合字段表达式max(map(lambda x:int(x.字段),ActiveObject)),
例如:
max(map(lambda x:int(x.FVOUCHERGROUPNO),ActiveObject))
min(map(lambda x:int(x.FVOUCHERGROUPNO),ActiveObject))
打印预览效果: