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

Python脚本各种应用场景设置颜色-整合介绍

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

Python脚本各种应用场景设置颜色-整合介绍

大家好,我在这里分享一下各种场景设置颜色的方法:单据界面单据列表简单账表

话不多说,下面看介绍......

网页复制有格式问题,如需复制代码,网页复制有格式问题,请下载文后附件!


一、单据界面设置颜色(单据头、单据体),以下示例脚本为表单插件

#引入clr运行库
# -*- coding: utf-8 -*-
import clr

#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *


def AfterBindData(e):
    #设置单据头字段前景色=====================================================
    this.View.GetControl("F_ora_MulLangText").SetCustomPropertyValue("ForeColor""#FF3300");
    #设置单据体============================================================
    grid = this.View.GetControl[EntryGrid]("FEntity");#单据体标识
    index=0;#单据体行号,从0开始,演示一行,如需设置多行,可用循环逻辑处理
    #设置单据体---字段背景色,只对锁定单元格生效
    grid.SetBackcolor("F_ora_Assistant","#00FF00",index);
    #设置单据体----字段前景色,不支持非锁定状态下的数值字段
    grid.SetForecolor("F_ora_EntryNote""#FF0000",index);
    #设置单据体----整行的颜色,只对锁定单元格生效
    grid.SetRowBackcolor("#0000FF",index);



二、单据列表设置颜色

    1.对于大多数需求场景,可以通过在BOS中配置【列表条件格式化】实现列表颜色(前景色、背景色)的需求。

image.webp

    2.如果判断条件比较个性化,配置不出来,就需要借助列表插件来实现,Python脚本参考如下:

#引入clr运行库
import clr
#添加对cloud插件开发的常用组件的引用
clr.AddReference('System')
clr.AddReference('System.Data')
clr.AddReference('Kingdee.BOS')
clr.AddReference('Kingdee.BOS.Core')
clr.AddReference('Kingdee.BOS.App')
clr.AddReference('Kingdee.BOS.ServiceHelper')
#导入cloud基础库中的常用实体对象(分命名空间导入,不会递归导入)
from Kingdee.BOS import *
from Kingdee.BOS.Core import *
from Kingdee.BOS.Core.Bill import *
from Kingdee.BOS.Core.DynamicForm.PlugIn import *
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
from System import *
from System.Data import *
from Kingdee.BOS.App.Data import *
from System.Collections.Generic import List
from Kingdee.BOS.ServiceHelper import *

def OnFormatRowConditions(args):
    if (args.DataRow.DynamicObject["FEmpInfoId_Ref"] <>None):
        #注意!!!这里根据特别演示基础资料属性字段判断设置颜色

        #因为【列表条件格式化】不支持配置基础资料属性字段作为条件字段
        empObj=args.DataRow.DynamicObject["FEmpInfoId_Ref"];
        if(str(empObj["FEmpStatus1"])=='LZ'):
            fc=FormatCondition();
            fc.ForeColor="#FFFF9B98";#前景色
            #fc.BackColor="#FFFF9B98";#背景色
            args.FormatConditions.Add(fc);
    if(args.DataRow.DynamicObject.DynamicObjectType.Properties.ContainsKey("FIsFirstPost")):
        #这里是普通字段作为判断,需要判断列表是否显示了该字段,否则没显示该字段时会报错

        #而且只有显示了这个字段

Python脚本各种应用场景设置颜色-整合介绍

大家好,我在这里分享一下各种场景设置颜色的方法:单据界面、单据列表、简单账表话不多说,下面看介绍......网页复制有格式问题,如需复制...
点击下载文档文档为doc格式

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

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