电脑桌面
添加蚂蚁七词文库到电脑桌面
安装后可以在桌面快捷访问

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

来源:金蝶云社区作者:金蝶2024-09-162

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

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

    1,首先扩展销售订单新变更单,新加一个复选框字段,如下图1-1所示:

image.webp

图1-1


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

image.webp

图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格式

声明:除非特别标注,否则均为本站原创文章,转载时请以链接形式注明文章出处。如若本站内容侵犯了原著者的合法权益,可联系本站删除。

已经是第一篇
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息
QQ群
  • 答案:my7c点击这里加入QQ群
支持邮箱
微信
  • 微信