
# 【场景】
目前系统的套打分组管理仅支持单据上的字段,原因是分组本质上是排序;打印的取数排序是依托于数据库实现的;
本文提供一个案例,实现按照动态字段分组的逻辑
# 【案例】
采购订单,打印是按照动态字段分组
### <1>单据上增加一个字段,不需要有值,只是用作模板配置时设置为分组字段的相关逻辑
本案例增加一个[套打分组文本]在单据体(F_BOS_NotePrintTest)


### <2>套打模板配置动态字段,根据表达式随需配置,随时可改
```python
KD_NotePrintGroup
'大件' if FQty > 50 else '小件'
```

### <3>通过插件将动态字段携带到增加的字段上,并对得到的数据包进行数据重排序,满足分组的效果

```python
from System import *
def OnPrepareNotePrintData(e):
##模板ID
templateId = "ca8e5efc-c2fe-4f51-8109-5e26d08720df";
if e.NotePrintTplId.Equals(templateId):
##单据体标识/数据源标识
dataSourceId = "FContractEntry";
##单据字段标识
tgtFieldKey = "F_BOS_NotePrintText";
##动态字段标识
dynamicFieldKey = "KD_NotePrintGroup";
if e.DataSourceId.Equals(dataSourceId,StringComparison.OrdinalIgnoreCas