本文讨论了通过Python脚本在金蝶软件中自定义销售订单单据体的样式,实现了点击单据体菜单时,将“明细信息”单据体首行背景色设为黄色,并将“物料名称”字段前景色设为红色。然而,发现只有非编辑状态的字段能显示背景色变更,且当字段有前景色设置时,背景色将不显示。最后总结了背景色和前景色设置的相互影响,并分享了控件颜色设置的链接。
如下图:实际的运行效果
是Python脚本实现
【销售订单】“明细信息”单据体点击单据体菜单时,
“明细信息”单据体首行背景色设置为黄色,
字段“物料名称”前景色设置为红色
注册的表单插件 Python脚本
附上Python脚本
[code]#PythonEntitySetColor
#如下Python脚本 实现【销售订单】“明细信息”单据体点击单据体菜单时,
#“明细信息”单据体首行背景色设置为黄色,字段“物料名称”前景色设置为红色
#by wanghl 2016-6-29
clr.AddReference('Kingdee.BOS.Core')
from Kingdee.BOS.Core.DynamicForm.PlugIn.ControlModel import *
def AfterEntryBarItemClick(e):
grid = this.View.GetControl[EntryGrid]("FSaleOrderEntry")#需要设置的单据体标识Key
grid.SetRowBackcolor("#FFFF00", 0)#设置整行背景颜色
grid.SetForecolor("FMaterialName","#FF0000", 0)#需要设置字段标识Key[/code]
----------------------------------------------------------------------------------------------------------------------------
补充说明2点。
通过帖子中的截图,可以看下部分字段有显示背景色黄色,一部分字段并没有显示背景色黄色。什么原因呢?聪明的你看能已经发现,显示出设置背景色的字段都是不可编辑的。确实 单据体行,其中不可编辑状态的字段才会显示出设置的背景色。我们来验证下吧(反正Python脚本修改起来方便,修改后保存下,界面上再次打开就会有效果)增加一句表格不可用的代码
这时可以发现首行的字段除了“物料名称”字段并未显示黄色背景色,其余字段都为黄色背景色。
到这里你可能提出疑问是不是字段设置了前景色引起的呢?
继续修改Python脚本(反正Python脚本修改起来方便),屏蔽对“物料名称”字段设置前景色
实际运行效果,印证了我们的推断,第一行所有字段的背景色都设置为了黄色。
总结:1、单据体行设置背景色,只有非编辑状态的字段有效果。2、字段设置了前景色,就不会显示单据体行的背景色。
------------------------------------------------------------------
另外再分享一下
控件字体颜色及背景色设置【分享】https://vip.kingdee.com/article/16737
本文转载自:金蝶论坛
作者:云社区用户4u731234
原文链接:https://vip.kingdee.com/article/15950?productLineId=1
推荐阅读