采购订单列表交货日期小于当前日期的行显示背景色

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

采购订单列表交货日期小于当前日期的行显示背景色

【背景】

采购订单列表交货日期小于当前日期的行显示背景色,BOS查看列表体检格式化中“交货日期”的字段比较值无法和系统当前日期字段做对比,故无法配置失效显示指定背景色。

【方案】

由于BOS中不能对单据列表格式进行格式化显示,无法配置和当前系统日期的比较,所以需要通过插件实现。

【实现代码】

import clr
clr.AddReference('mscorlib')
from System import *
def OnFormatRowConditions(args):
    # 单据日期为今天的数据行设置前景色为紫色背景色为黄色
    if args.DataRow.DynamicObject["FDeliveryDate"] <= DateTime.Now.Date:
        fc = FormatCondition()
     #   fc.ForeColor = "#FF00FF"
        fc.BackColor = "#FFFF00"
        args.FormatConditions.Add(fc);

image.webp

【实现效果】

image.webp



# 以下语句可实现要货日期不可见,不报错,但是颜色也不变了,怎么不可见,不报错,颜色还能变啊。

import clr
clr.AddReference('mscorlib')
from System import DateTime
def OnFormatRowConditions(args):
    if hasattr(args.DataRow.DynamicObject, 'FDeliveryDate'and hasattr(args.DataRow.DynamicObject, 'FMrpCloseStatus'):
        # 数据行设置前景色为紫色背景色为黄色(但这里只设置了背景色为黄色)
        if (args.DataRow.DynamicObject["FDeliveryDate"].AddDays(7) >= DateTime.Now.Date and 
            args.DataRow.DynamicObject["FDeliveryDate"] < DateTime.Now.Date and 
            args.DataRow.DynamicObject["FMrpCloseStatus"] == 'A'):
            fc = FormatCondition() 
            # fc.ForeColor = "#FF00FF"  
            fc.BackColor = "#FFFF00"  
            args.FormatConditions.Add(fc)  


老师你好,请问在列表不显示这个字段的时候可以也根据交货日期显示不同颜色嘛,现在是提示属性不存在,列表也加载不出来订单信息。


是不是加上业务状态=未关闭,就更好点。

采购订单列表交货日期小于当前日期的行显示背景色

【背景】采购订单列表交货日期小于当前日期的行显示背景色,BOS查看列表体检格式化中“交货日期”的字段比较值无法和系统当前日期字段做对...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息