简单账表插件如何应用-基础资料权限过滤条件
说明:
此贴主要说明, 简单账表下的【基础资料权限】应用到简单账表查询结果(示例:【销售明细表】的基础资料权限【物料】,在报表中如何生效,过滤报表数据。)。通过简单账表的二开服务插件,拼接对应过滤Sql条件
简单账表的插件示例代码。
示例代码:
在报表插件重写构建报表查询Sql事件下, 增加如下的sql过滤条件拼接
public override void BuilderReportSqlAndTempTable(IRptParams filter, string tableName)
List<string> strSqlFilters = new List<string>();
var baseDataTempTable = filter.BaseDataTempTable;
if (baseDataTempTable != null
&& baseDataTempTable.Count > 0)
{
foreach (var item in baseDataTempTable)
{
var baseDataFormId = item.BaseDataFormId;//基础资料对象ID
if (baseDataFormId == "BD_MATERIAL") //基础资料对象等于【物料】
{
// 添加物料字段过滤条件, TempTable (视图), PKFieldName(输出字段ID)
var strSqlFilter = string.Format(" A.FMATERIALID IN (SELECT {0} FROM {1})"
, item.PKFieldName
, item.TempTable);
strSqlFilters.Add(strSqlFilter);
}
}
}
插件示例图:
简单账表插件如何应用-基础资料权限过滤条件
本文2024-09-16 18:36:06发表“云星空知识”栏目。
本文链接:https://wenku.my7c.com/article/kingdee-k3cloud-23205.html