
# 【应用场景】
套打时,默认是按照分组字段做升序或降序排序,如物料编码;
部分场景下按照对应物料对应的序号号排序,利用表单插件做数据排序实现此功能 [套打插件排序](https://vip.kingdee.com/article/171152)
# 【案例】
在销售报价单中,实现按照物料的序号列进行分组顺序输出
# 【演示数据】
正常情况下,按照物料编码升序如下图所示

# 【脚本插件干预排序】
利用插件记录所在行物料对应的首序号,按照首序号做排序

```python
from System import *
from Kingdee.BOS import *
from Kingdee.BOS.DataEntity import *
def OnPrepareNotePrintData(e):
if e.NotePrintTplId.Equals("e02063aa-b4b6-4095-8a9d-f569bdf3f90a"):
if e.DataSourceId.Equals("FQUOTATIONENTRY",StringComparison.OrdinalIgnoreCase):
seqKey = "FQUOTATIONENTRY" + "_" + "FSeq";
materialKey = "FMaterialId_FNumber";
if e.DataObjects == None or e.DataObjects.Length <= 0 or not e.DataObjects[0].DynamicObjectType.Properties.ContainsKey(materialKey):
return;
rowMaterialSeq = {};
for index in range(le