阅读:2288 回复:7
bin蓝™
10

帖子

40

跟帖

1019

积分

高级榴莲
高级榴莲

发起流程,子表如何传入?

楼主#
更多 发布于:2018-04-17 15:35

System.Data.DataTable dt2 = DBHelper.ExecuteTableSql(sql_detail.Trim(), DBHelper.H3Cloud);


                    List<DataItemParam> ps = new List<DataItemParam>();
                    ps.Add(new DataItemParam() { ItemName = "liquidater", ItemValue = PersonName });
                    ps.Add(new DataItemParam() { ItemName = "liquidateBDate", ItemValue = DateTime.Now.ToString("yyyy-MM-dd") });
                    ps.Add(new DataItemParam() { ItemName = "liquidateEDate", ItemValue = DateTime.Now.AddDays(7).ToString("yyyy-MM-dd") });


                    DataItemParam[] dList = new DataItemParam[dt2.Columns.Count];
                    foreach (System.Data.DataRow dr in dt2.Rows)
                    {
                        for (int j = 0; j < dt2.Columns.Count; j++)
                        {
                            //BPMWebReference.DataItemParam item = new BPMWebReference.DataItemParam();
                            DataItemParam item = new DataItemParam();
                            item.ItemName = dt2.Columns[j].ColumnName;
                            item.ItemValue = dr[dt2.Columns[j].ColumnName];//dt.Rows[0][dt.Columns.ColumnName + string.Empty];
                            dList[j] =  item ;
                        }
                    }
                    ps.Add(new DataItemParam() { ItemName = "liquidateDetail", ItemValue = dList });
                    //var dd = GetDataValuesWithDtl("liquidateDetail", OThinker.Organization.User.GetAccountFromLoginName, Newtonsoft.Json.JsonConvert.SerializeObject(dList));


                    var ret = m.StartWorkflow("KeHuYuQiMustSZClearList", IdCard, false, "[系统发起]客户逾期应收账款清理-" + PersonName, ps);

流程实例启动失败!错误:System.Exception: Eqwww.WorkFlow.DataItemParam[] Can't be converted to a BizObjectArray type,because the type is not matching,target type is .

==========================================================

 public List<DataItemParam> GetDataValuesWithDtl(OThinker.H3.DataModel.BizObject bo, OThinker.Organization.User user, string jsonData) 这个方法前2个参数是怎么赋值的?求教
bin蓝™
10

帖子

40

跟帖

1019

积分

高级榴莲
高级榴莲
1楼#
发布于:2018-04-17 15:44
岩竹玉雨
20

帖子

840

跟帖

205241

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
2楼#
发布于:2018-04-17 17:10
以下方法没有测试过。逻辑上算是可行的。
好像子表不会受到缓存影响。所以。直接从数据库取值赋值。
刚看了一下方法的返回值,发现没有objectid,所以你用InstanceID查一下OT_InstanceContext表。其中bizobjectid就是流程实例表的objectid,对应的也就是子表的parentobjectid
发问题贴的时候,可以@一下我,我就能更快的知道了
bin蓝™
10

帖子

40

跟帖

1019

积分

高级榴莲
高级榴莲
3楼#
发布于:2018-04-17 17:19
@岩竹玉雨
 public List<DataItemParam> GetDataValuesWithDtl(OThinker.H3.DataModel.BizObject bo, OThinker.Organization.User user, string jsonData) 这个方法前2个参数是怎么赋值的?求教
岩竹玉雨
20

帖子

840

跟帖

205241

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
4楼#
发布于:2018-04-18 15:22
你要的答案来了,使用时可以uing引用下。为了不让代码报错。所以这么长
BizObject _BizObject = new BizObject(OThinker.H3.Controllers.AppUtility.Engine.Organization, OThinker.H3.Controllers.AppUtility.Engine.MetadataRepository, OThinker.H3.Controllers.AppUtility.Engine.BizObjectManager, OThinker.H3.Controllers.AppUtility.Engine.BizBus, null, OThinker.H3.Controllers.UserValidatorFactory.CurrentUser.UserID, OThinker.H3.Controllers.UserValidatorFactory.CurrentUser.UserID);
OThinker.H3.Controllers.UserValidatorFactory.CurrentUser
发问题贴的时候,可以@一下我,我就能更快的知道了
bin蓝™
10

帖子

40

跟帖

1019

积分

高级榴莲
高级榴莲
5楼#
发布于:2018-04-18 16:21
岩竹玉雨:你要的答案来了,使用时可以uing引用下。为了不让代码报错。所以这么长
BizObject _BizObject = new BizObject(OThinker.H3.Controllers.AppUtility.Engine.Organ...
回到原帖
子表还是没插入成功
GetDataValuesWithDtl最后一个jsondata是子表json还是整个的呀
bin蓝™
10

帖子

40

跟帖

1019

积分

高级榴莲
高级榴莲
6楼#
发布于:2018-04-18 16:23
@岩竹玉雨
你好 我也是刚进公司实习的打工的 可否列下GetDataValuesWithDtl使用范例代码
虽然老板说 能发起流程就可以了,子表让他们自己手动抓取,,但我还是想弄明白 谢谢岩竹玉雨
H3BPM还是很强大的
果冻栋吖
104

帖子

755

跟帖

2622

积分

论坛版主
论坛版主
  • 社区居民
  • 忠实会员
  • 优秀斑竹
7楼#
发布于:2018-04-18 17:33
你可以参考下这个哦http://bbs.h3bpm.com/read.php?tid=1789&fid=8&page=1


这个我在9上测试过是可以的,10目前没有配置过,还不清楚
需要技术支持请添加QQ1772829123,提供H3产品定制开发,IT技术支持。
游客

返回顶部