套打.二开案例.利用干预查询接口指定排序

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

套打.二开案例.利用干预查询接口指定排序

# 【应用场景】 套打时,部分场景利用数据表格指向单据体,但是绑定时绑定单据体和子单据体的数据;针对部分场景下可能子单据体分录顺序会错乱(如启用了查询并行度) # 【案例演示】 利用套打干预查询接口,针对检验单增加子单据体序号字段、并增加按照子单据体序号排序,保证输出顺序 ```python import clr clr.AddReference("Kingdee.BOS") clr.AddReference("Kingdee.BOS.Core") from System import * from Kingdee.BOS import * from Kingdee.BOS.DataEntity import * from Kingdee.BOS.Core import * def OnPrepareNotePrintQueryParam(e): if not e.NotePrintTplId.Equals("a225ce7c-4e9b-4d85-88e5-79e223e7ff62",StringComparison.OrdinalIgnoreCase): return; if e.DataSourceId.Equals("FEntity",StringComparison.OrdinalIgnoreCase): subEntityKey = "FItemDetail"; entity = this.View.BillBusinessInfo.GetEntity(subEntityKey); if entity is None: return; seqKey=entity.Key+"_"+entity.SeqFieldKey; tempList=filter(lambda x:x.Key==seqKey,e.QueryParameter.SelectItems); if(len(tempList)<=0): e.QueryParameter.SelectItems.AddRange(SelectorItemInfo.CreateItems(seqKey)); entity = this.View.BillBusinessInfo.GetEntity(subEntityKey); seqSort = entity.TableAlias +"."+ entity.SeqFieldKey+" ASC"; if(e.QueryParameter.OrderByClauseWihtKey == None or len(e.QueryParameter.OrderByClauseWihtKey) <= 0): e.QueryParameter.OrderByClauseWihtKey = seqSort; else: e.QueryParameter.OrderByClauseWihtKey = e.QueryParameter.OrderByClauseWihtKey +","+seqSort; ``` 参数说明: NotePrintTplId——套打模板ID DataSourceId——数据源ID 挂设表单插件和列表插件: ![image.webp](/download/0100e9c0d8e856d041b687eba9e69e36b8bf.webp)

套打.二开案例.利用干预查询接口指定排序

# 【应用场景】套打时,部分场景利用数据表格指向单据体,但是绑定时绑定单据体和子单据体的数据;针对部分场景下可能子单据体分录顺序会...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息