chenchen 发表于 2024-5-26 15:21:45

关于“内容管理”的问题

本帖最后由 chenchen 于 2024-5-26 15:27 编辑

从8.0.0升级到9.0.2后,流程的内容调用失效
流程图如下

以下是内容管理调用的配置


脚本如下
this.define("getPublishData", function(){
   
    var isArray =function(obj){
      return Object.prototype.toString.call(obj) === '' || Object.prototype.toString.call(obj) === '';
    };
   
    var clone = function (obj) {
      if (null === obj || "object" != typeof obj) return obj;
      
      if(isArray(obj)){ //数组
            //print( "array" );
            var copy = [];
            for (var i = 0, len = obj.length; i < len; ++i) {
                copy = clone(obj);
            }
            return copy;
      }else{
            var copy = {};
            for (var attr in obj) {
                copy = clone(obj);
            }
            return copy;
      }
    };
   
    var removeHTMLTag = function(str) {
      str = str.replace(/<\/?[^>]*>/g,''); //去除HTML tag
      str = str.replace(/[ | ]*\n/g,'\n'); //去除行尾空白
      //str = str.replace(/\n[\s| | ]*\r/g,'\n'); //去除多余空行
      str=str.replace(/ /ig,'');//去掉
      str=str.replace(/\s/g,''); //将空格去掉
      return str;
    };

   
    var document = clone( this.data.cmsDocument );
    var data = clone( this.data );
   
    var work = this.workContext.getWork();
   
    data.formProcess = true;
   
    delete document.attachmentList;
    document.subject = data.subject;
    document.title = data.subject;
   
    document.wf_workId = work.id;
    document.wf_jobId = work.job;
   
    document.pictureList = [];
    if( data.imageclipper ){
      document.pictureList.push( data.imageclipper );
    }
   
    document.summary = "";
    if( data.htmleditor ){
      var text = removeHTMLTag( data.htmleditor );
      document.summary = text.substr(0,85);
    }
   
    var attachmentList = this.workContext.getAttachmentList();
    var attachmentIds = [];
    for( var i=0, len=attachmentList.length; i<len; ++i ){
      attachmentIds.push( attachmentList.id );
    }
    document.wf_attachmentIds = attachmentIds;
   
   
    var cnArray = ["组织","群组","人员","人员","角色"];
    var keyArray = ["U","G","I","P","R"];
    var result = [];
    print( "data.publishFor.length="+data.publishFor.length );
    if( typeOf(data.publishFor) == "array" && data.publishFor.length > 0){
      for( var i=0; i<data.publishFor.length; i++ ){
            var publishFor = data.publishFor;
            var dn = typeOf( publishFor ) === "string" ? publishFor : publishFor.distinguishedName;
            var index = keyArray.indexOf(dn.substr(dn.length-1, 1));
            if( index > -1 ){
                result.push({
                  permission : "阅读",
                  permissionObjectType : cnArray[ index ],
                  permissionObjectName : dn
                });
            }
      }
    }
    print( JSON.stringify(result) );
   
    var owners = [];
    if( result.length > 0 ){
      var taskCompletedList = this.workContext.getTaskCompletedList();
      for(var i=0, len=taskCompletedList.length; i<len; ++i){
            var taskCompleted = taskCompletedList;
            if(taskCompleted.person){
                owners.push( taskCompleted.person );
            }
      }
      if( owners.length > 0 ){
            for(var i=0, len=owners.length; i<len; ++i){
                result.push({
                  permission : "阅读",
                  permissionObjectType : "人员",
                  permissionObjectName : owners
                });
            }
      }
    }

    //document.permissionList = result;
    document.readerList = result;
   
   
    data.processOwnerList = owners;
    document.docData = data;
   
    return document;
}.bind(this));

我是用的升级是https://www.o2oa.net/cms/serverdeployment/110.html中的方法二,离线升级!

请问,新版本是改动了什么,我需要修改什么东西,达到流程走完后,流程表单数据下发到内容管理内!


论坛管理员 发表于 2024-5-27 10:07:34

您这个版本跨度比较大,管理员也不能说清楚是什么问题,您这个过不去,在后端日志里肯定是有报错的,把报错截出来看看
另外,您这种方式比较老,现在不建议这么使用了,您可以看看新的活动节点“数据发布”,可以通过配置就发布到内容管理里,不需要写脚本
页: [1]
查看完整版本: 关于“内容管理”的问题