金蝶云苍穹定义了八种参数类型,每种服务于不同场景,如公共参数、云产品参数等。各类型参数接口提供功能设定,但并非都支持集中设定。文本详细展示了获取各种参数值的代码实现方式,包括通过系统服务、缓存读取等方式获取公共参数、云产品参数、应用参数、单据参数等。
应用场景:
金蝶云苍穹目前有的参数类型为:公共参数、应用参数、单据参数、单据类型参数、云产品参数、列表选项参数、用户组织参数、用户选项参数8种类型。每种参数对应不同的应用场景功能。
参数接口类:
SystemParamServiceHelper
ParameterHelper
ParameterReader
模板类型 | 可实现功能 | 集团管控 | 需要发布 |
公共参数 | 对基础平台的参数做极度设定 | 不支持 | 是 |
云产品参数 | 对云参数做集中设定 | 支持 | 是 |
应用参数 | 对应用参数做集中设定 | 支持 | 是 |
单据参数 | 对单据参数做集中设定 | 不支持 | 否 |
单据类型参数 | 对单据类型参数做集中设定 | 不支持 | 否 |
列表选项参数 | 对列表选项参数做集中设定 | 不支持 | 否 |
用户选项参数 | 对用户选项参数做集中设定 | 不支持 | 否 |
用户组织参数 | 对用户组织参数做集中设定 | 不支持 | 否 |
代码获取各种参数:
公共参数:
Object hidehometab = SystemParamServiceHelper.getPublicParameter("参数标识");
云产品参数:
AppInfo appInfo = AppMetadataCache.getAppInfo("应用标识");
String cloudId = appInfo.getCloudId();
String appId = appInfo.getAppId();
long orgId = RequestContext.get().getOrgId();
DynamicObject systemParameter = ParameterReader.getSystemParameter(cloudId, appId, orgId, 0);
应用参数:
//获取应用参数
//获取当前登录业务单元id
long orgId = RequestContext.get().getOrgId();
//从缓存中获取应用信息
AppInfo ptstDemo = AppMetadataCache.getAppInfo("应用标识");
//获取应用的主键
String appId = ptstDemo.getId();
AppParam apm = new AppParam();
apm.setAppId(appId);
// 参数的组织
apm.setOrgId(orgId);
//获取整体应用参数
Map<String,Object> params = SystemParamServiceHelper.loadAppParameterFromCache(apm);
//从整个应用参数中获取某个参数属性值
Object obj = params.get("参数标识");
单据参数:
//获取单据参数
//获取单据参数对象
DynamicObject dynamicObject = ParameterReader.getBillParameter("单据标识");
BillParam kdec_os_bill_reg = SystemParamServiceHelper.loadBillParameterFromCache("单据标识");
Object isviewbill = dynamicObject.get("参数标识");
单据类型参数:
//获取单据类型参数
List<String> appids = new ArrayList<>();
//应用id
appids.add(appId);
//通过应用id集合获取单据类型
List<Map<String, Object>> billTypesByAppId = BillTypeServiceHelper.getBillTypesByAppId(appids);
if(null != billTypesByAppId && billTypesByAppId.size() >0 ){
//获取单据类型主键id
Long id = (Long) billTypesByAppId.get(0).get("id");
//获取单据类型参数,formId为单据的标识,paramFormId为单据类型参数页面的标识
DynamicObject billTypeParameter = (DynamicObject) SystemParamServiceHelper.getBillTypeParameter("单据标识", "单据类型参数页面的标识", id);
int anInt = billTypeParameter.getInt("参数标识");
}
列表选项参数:
//获取列表参数
//获取当前上下文信息
RequestContext requestContext = RequestContext.get();
//获取当前登录用户的id
long currUserId = requestContext.getCurrUserId();
//获取列表选项参数DynamicObject对象,formId是列表对应的单据标识,listOption是列表选项参数页面的标识
DynamicObject listOptionParameter = ParameterReader.getListOptionParameter(currUserId, "单据标识", "列表选项参数页面的标识", null);
Object o = listOptionParameter.get("参数标识");
用户选项参数:
用户组织参数:
推荐阅读