存货收发存明细表(跨维度)报表-添加字段原创
金蝶云社区-小抩
小抩
8人赞赏了该文章 108次浏览 未经作者许可,禁止转载编辑于2023年12月26日 14:07:35

: NoDimensionInOutStockDetail

    {

        private string[] customRptTableNames;

        public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)

        {

            IDBService dbservice = Kingdee.BOS.App.ServiceHelper.GetService<IDBService>();

            customRptTableNames = dbservice.CreateTemporaryTableName(this.Context, 1);

            string steTable = customRptTableNames[0];

            base.BuilderReportSqlAndTempTable(filter, steTable);

            string FProjectS = string.Empty;

            DynamicObjectCollection FMatBaseManys = filter.FilterParameter.CustomFilter["FProjectS"] as DynamicObjectCollection;//多选

            if (FMatBaseManys.Count > 0)

            {

                for (int i = 0; i < FMatBaseManys.Count; i++)

                {

                    DynamicObject MatBaseManyID = FMatBaseManys[i]["FProjectS"] as DynamicObject;

                    if (MatBaseManyID != null)

                    {

                        FProjectS = FProjectS + "'" + Convert.ToInt64(MatBaseManyID["ID"]) + "',";//id

                    }

                }

                if (!string.IsNullOrWhiteSpace(FProjectS))

                {

                    FProjectS = FProjectS.Substring(0, FProjectS.Length - 1);

                }

            }

            StringBuilder sql = new StringBuilder();

            string SqlDate = string.Empty;

            if (!string.IsNullOrWhiteSpace(FProjectS))

            {

                SqlDate = @" where T2.XM in (" + FProjectS + ")";

            }


            sql.AppendFormat(@"/*dialect*/.............", tableName, steTable, SqlDate);


            DBUtils.Execute(this.Context, sql.ToString());

        }

        public override void CloseReport()

        {

            if (customRptTableNames.IsNullOrEmptyOrWhiteSpace())

            {

                return;

            }

            IDBService dbSrevice = Kingdee.BOS.App.ServiceHelper.GetService<Kingdee.BOS.Contracts.IDBService>();

            dbSrevice.DeleteTemporaryTableName(this.Context, customRptTableNames);

            base.CloseReport();

        }   

 }


赞 8