账表开发-增加基础资料属性并设置精度原创
金蝶云社区-eris
eris
1人赞赏了该文章 1156次浏览 未经作者许可,禁止转载编辑于2022年01月20日 08:57:47
  1. 扩展物料收发汇总表,增加基础资料属性字段,关联物料的净重

    image.png

  2. 扩展物料收发汇总表过滤,增加基础资料属性字段,关联物料编码净重

    image.png

  3. 基础资料属性字段无法设置精度,净重在物料中的精度为2位,但在扩展的报表中显示为10位,这因为在数据库中实际存储的是10位,按取到的数据进行显示:

    image.png

  4. 通过报表表单插件或python脚本干预后得到两位精度

    image.png

  5.  报表表单插件代码:

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.ComponentModel;
using Kingdee.BOS.Util;
using Kingdee.BOS.Core.Report.PlugIn;
using Kingdee.BOS.Core.Report.PlugIn.Args;
namespace Kingdee.BOS.TestPlugIn.BillFormPlugin
{
    [HotUpdate]
    [Description("单据ASql帐表插件")]
    public class BillASqlReportPlugIn : AbstractSysReportPlugIn
    {
        public override void FormatCellValue(FormatCellValueArgs args)
        {
            base.FormatCellValue(args);
            if (args.Header.Key.EqualsIgnoreCase("F_AH_BaseProperty"))
            {
                var oldValue = ObjectUtils.ToDecimal(args.FormateValue);
                var newValue = ObjectUtils.Object2String(Decimal.Round(oldValue, 2));
                args.FormateValue = newValue;
            }
        }
    }
}

   6. python插件代码:

import clr
clr.AddReference("Kingdee.BOS")
clr.AddReference("Kingdee.BOS.Core")
from Kingdee.BOS.Util import *
from Kingdee.BOS.Core.Report.PlugIn import *
from Kingdee.BOS.Core.Report.PlugIn.Args import *
from System import *
def FormatCellValue(args):
    if args.Header.Key == "F_AH_BaseProperty":
        oldValue = ObjectUtils.ToDecimal(args.FormateValue)
        newValue =  ObjectUtils.Object2String(Decimal.Round(oldValue, 2))
        args.FormateValue = newValue


赞 1