📔 金山办公产品帮助中心

修订人无法修改

文档由 任财应 于 2022-09-27 23:13 创建,由 任财应 于 2022-10-14 01:52 更新
文档标签:
文档分类:
49

场景

OA集成时,修订人被OA传递的修订名称动态修改 ,且手动修改后,名称会被还原

解决方案

OA修改代码

// common.js第一行中添加
// --------------------------  通用常量  ---------------------------
var nameSet=new Set();

//替换掉pSetWPSAppUserName,SetCurrDocEnvProp
/**
 * 作用:判断文档关闭后,如果系统已经没有打开的文档了,则设置回初始用户名
 */
 function pSetWPSAppUserName() {
    //文档全部关闭的情况下,把WPS初始启动的用户名设置回去
    if (wps.WpsApplication().Documents.Count == 0) {
        if(!nameSet.has(wps.WpsApplication().UserName)){
            wps.PluginStorage.setItem(constStrEnum.WPSInitUserName,wps.WpsApplication().UserName);
        }
        var l_strUserName = wps.PluginStorage.getItem(constStrEnum.WPSInitUserName);
        wps.WpsApplication().UserName = l_strUserName;
    }
}

/**
 *  作用:根据当前活动文档的情况判断,当前文档适用的系统参数,例如:当前文档对应的用户名称等
 */
 function SetCurrDocEnvProp(doc) {
    if (!doc) return;
    var l_bIsOADoc = false;
    l_bIsOADoc = pCheckIfOADoc(doc);

   
    let count=wps.Application.Documents.Count;
    let isNotOAName=true;
    for(let i=1;i<=count;i++){
        if(GetDocParamsValue(wps.Application.Documents.Item(i), constStrEnum.userName)==wps.WpsApplication().UserName){
            isNotOAName=false;
        }
    }
    if(isNotOAName&&!nameSet.has(wps.WpsApplication().UserName)){
        wps.PluginStorage.setItem(constStrEnum.WPSInitUserName,wps.WpsApplication().UserName)
    }
     //如果是OA文件,则按OA传来的用户名设置WPS   OA助手WPS用户名设置按钮冲突
     if (l_bIsOADoc == true) {
        var l_userName = GetDocParamsValue(doc, constStrEnum.userName);
        if (l_userName != "") {
            wps.WpsApplication().UserName = l_userName;
            return;
        }
    }
    //如果是非OA文件或者参数的值是空值,则按WPS安装默认用户名设置
    wps.WpsApplication().UserName = wps.PluginStorage.getItem(constStrEnum.WPSInitUserName);
}


// pOpenFile函数第一行添加
for (var key = "" in params) {
    if(key.toUpperCase()=="userName".toUpperCase()){
        nameSet.add(params[key]);
    }
}

📋 章节目录

场景 解决方案