套打.脚本.报表实现打印时间范围"至"之后的日期

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

套打.脚本.报表实现打印时间范围

【场景】

应收款明细表,套打时想要打印时间范围“至”之后的日期。

【解决方案】

通过套打脚本的功能实现。

  1. 数据准备

    应收款明细表套打,设置两个文本框,都绑定时间范围字段。


  2. 配置方案

    通过脚本指定控件取日期至之后的内容,参考脚本,指定控件ID是text5,取内容为至之后的数据。

    import clr
    clr.AddReference("System.Drawing")
    clr.AddReference("Kingdee.BOS.Core")
    from System.Drawing import *
    from Kingdee.BOS.Core import *
    def OutputElement(e):
        if(e.ControlInfo.ControlID == "text5"):
            srcText = e.ControlInfo.Text;
            if (srcText.find('至')>-1):
                e.ControlInfo.Text = srcText[srcText.find('至')+1:];

  3. 效果

  4. 备注

    • 取至之后的日期:srcText[srcText.find('至')+1:]

    • 取至之前的日期:srcText[:srcText.find('至')]



【进阶】

  1. 需求:需要对日期做计算,比如需要计算至之后的日期加10天。

  2. 参考脚本

     import clr
    clr.AddReference("System")
    clr.AddReference("System.Drawing")
    clr.AddReference("Kingdee.BOS.Core")
    from System import Convert;
    from System.Drawing import *
    from Kingdee.BOS.Core import *
    def OutputElement(e):
        if(e.ControlInfo.ControlID == "text5"):
            srcText = e.ControlInfo.Text;
            if (srcText.find('至')>-1):
                srctxt = srcText[srcText.find('至')+1:];
                srcdate = Convert.ToDateTime(srctxt).AddDays(10).ToString("yyyy/MM/dd");
                e.ControlInfo.Text =srcdate;

  3. 效果



套打.脚本.报表实现打印时间范围"至"之后的日期

【场景】应收款明细表,套打时想要打印时间范围“至”之后的日期。【解决方案】通过套打脚本的功能实现。数据准备应收款明细表套打,设置两...
点击下载文档
确认删除?
回到顶部
客服QQ
  • 客服QQ点击这里给我发消息