销售订单新变更单Python排序单据体及设置背景色试例

销售订单的收款条件为按物料明细收款时,如果销售订单需要变更,则会校验必须是整单变更,不能选择某个单的某几条分录进行变更。当选择整单所有分录作变更操作后,且订单明细分录中有几百条记录,但只变更了其中的某几条,默认打开单据时都是按序号排序单据体的,这种情况不利于客户查询哪些行已经被变更过。客户可以在销售订单新变更单上二开一个复选框字段(假设字段名为修改过,标识KEY为 F_ora_Modified )用于标识是否变更过,然后通过Python插件将此二开字段和默认的分录序号字段当作排序依据,并将二开字段'修改过'为true的行高亮显示,这样就可以使打开单据时变更过的记录在前面显示,未变更过的在后面显示,下面演示相关操作步骤。
1,首先扩展销售订单新变更单,新加一个复选框字段,如下图1-1所示:

图1-1
2,在BOSIDE的表单插件列表中,注册一个Python类型的插件,输入Python脚本代码,如下图1-2所示:

图1-2
脚本代码如下所示:注意要使用附件中的代码,不要直接在论坛中复制
import clr
clr.AddReference('System')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS')
from Kingdee.BOS.Core import *
from System import *
from Kingdee.BOS.Core.DynamicForm import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System.Collections.Generic import *
from Kingdee.BOS.JSON import *
def AfterBindData(e):
grid = this.View.GetControl[EntryGrid]("FSaleOrderEntry");
sorts = List[KeyValuePair[String, EntryGridFieldSortOrder]]();
sort = KeyValuePair[String, EntryGridFieldSortOrder]("F_ora_Modified", EntryGridFieldSortOrder.Descending);
sorts.Add(sort);
sort = KeyValuePair[String, EntryGridFieldSortOrder]("FSeq", EntryGridFieldSortOrder.Ascending);
sorts.Add(sort);
grid.SetSort(sorts);
entity = this.View.BusinessInfo.GetEntity("FSaleOrderEntry");
rowCount = this.Model.GetEntryRowCount("FSaleOrderEntry");
formState = this.View.GetService[IDynamicFormState]();
for i in range (0, rowCou销售订单新变更单Python排序单据体及设置背景色试例
销售订单的收款条件为按物料明细收款时,如果销售订单需要变更,则会校验必须是整单变更,不能选择某个单的某几条分录进行变更。当选择...
点击下载文档文档为doc格式
声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。
上一篇
已经是第一篇



