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]); } }
场景
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]); } }
📋 章节目录
场景 解决方案