zoukankan      html  css  js  c++  java
  • 关于多级审批工作流的问题描述

        在 MOSS多级审批工作流【Sequential+ConditionedActivityGroup版】v1.1 一文中,笑煞天 做了个很好的例子,照着他的文档爽了一把,结果出现了很多问题,当然是我这边的原因了,搞这WF才2周,跟着他的demo边做边学,不过最近听小汤说他挺忙的,也就没好意思去请教了,因为最近的售前工作要这个,所以了,嘿嘿,贴在这儿,如若有空的话帮我指点下:
        1.除了前面提到的总是在“workflowProperties.InitiationData”出错,只好加了个判断:
     1private void onWorkflowActivated_Invoked(object sender, ExternalDataEventArgs e) 
     2
     3workflowId = workflowProperties.WorkflowId; 
     4
     5//定义任务的名称 
     6approveItemTitle = "请审批 " + workflowProperties.Item.DisplayName; 
     7rejectItemTitle = workflowProperties.Item.DisplayName + " 被退回,请审批。"
     8
     9//反序列化workflowProperties.InitiationData以得到初始窗体的实例 
    10XmlSerializer xs = new XmlSerializer(typeof(Init)); 
    11if (workflowProperties.InitiationData != null
    12
    13XmlTextReader xtr = new XmlTextReader(new System.IO.StringReader(workflowProperties.InitiationData)); 
    14Init init = (Init)xs.Deserialize(xtr); 
    15
    16//将初始窗体的信息赋给Task0 
    17task0_Properties.Title = rejectItemTitle; 
    18task0_Properties.AssignedTo = workflowProperties.Originator; 
    19task0_Properties.ExtendedProperties["comments"= init.comments; 
    20
    21//设置Task1的标题和分配对象 
    22task1_Properties.Title = approveItemTitle; 
    23task1_Properties.AssignedTo = init.contact[0].AccountId; 
    24}
     
    25else 
    26
    27//将初始窗体的信息赋给Task0 
    28task0_Properties.Title = rejectItemTitle; 
    29task0_Properties.AssignedTo = workflowProperties.Originator; 
    30task0_Properties.ExtendedProperties["comments"= "comments:"
    31
    32//设置Task1的标题和分配对象 
    33task1_Properties.Title = approveItemTitle; 
    34task1_Properties.AssignedTo = "contososrv\\pccai"
    35}
     
    36}
     
    37
          导致这种原因不知如何更好的解决,其实最后把“新建项目是启动工作流”选项去掉,手动的启动,直接走/_layouts/IniWrkflIP.aspx...就可避免外,有出现了新的困惑:
        2。这是我这边的xsd生成init.cs后的版本:
    //------------------------------------------------------------------------------
    // <auto-generated>
    //     此代码由工具生成。
    //     运行库版本:2.0.50727.1378
    //
    //     对此文件的更改可能会导致不正确的行为,并且如果
    //     重新生成代码,这些更改将会丢失。
    // </auto-generated>
    //------------------------------------------------------------------------------
        后果是[System.Xml.Serialization.XmlTypeAttribute(AnonymousType=true, Namespace=http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-08-23T02:39:23)] 多了好几个Namespace阿,由他的4k蹦到我的5k,,架构不一致,肯定要出错了:
          Unexpected System.InvalidOperationException: XML 文档(1, 2)中有错误。 ---> System.InvalidOperationException: 不应有 <Init xmlns='http://schemas.microsoft.com/office/infopath/2003/myXSD/2007-01-30T13:00:28'>。     在 Microsoft.Xml.Serialization.GeneratedAssembly.XmlSerializationReaderInit.Read4_Init()     --- 内部异常堆栈跟踪的结尾
           我估计它还是读你的assembly版本了,看来还得来遍干干净净的模仿!对了,还有阿,呵呵,当然不是他的原因了,attach 10次崩了9次,我的天啊,这家伙!不说了。。。。
           几张跑起来的贴图:

          初始化成功后:


        流到第2级:


         好了,就贴几张示意下了,在此基础上我做了下调整,   送审信息格式化加强,包括时间,历史原因的版本等等,方便追溯,正在考虑将这些信息,如果很多的话记录到其它的一个列表中,中国人看这个觉得不是很习惯,嘿嘿,没有办法,email通知等等,勉强能混过去!
         对了还得问问晓伟,这Infopath表单模板为什么都不能打开啊,你的是有可能,但是我的是设置成完全信任的啊,居然等我关闭了就不让打开,说不安全,什么跟什么啊!
          总的说WF前途无量!
  • 相关阅读:
    linux 命令收集
    tomcat + nginx 负载均衡
    lamp + 然之协同
    万能的 命令库
    boost.asio源码剖析(三) 流程分析
    boost.asio源码剖析(一) 前 言
    给你的JAVA程序配置参数(Properties的使用)
    JAVA将Excel中的报表导出为图片格式(三)换一种实现
    JAVA使用apache http组件发送POST请求
    JAVA使用原始HttpURLConnection发送POST数据
  • 原文地址:https://www.cnblogs.com/pccai/p/870694.html
Copyright © 2011-2022 走看看