阅读:2626
回复:7
|
发起流程,子表如何传入?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个参数是怎么赋值的?求教 |
2楼#
发布于:2018-04-17 17:10
以下方法没有测试过。逻辑上算是可行的。
好像子表不会受到缓存影响。所以。直接从数据库取值赋值。 刚看了一下方法的返回值,发现没有objectid,所以你用InstanceID查一下OT_InstanceContext表。其中bizobjectid就是流程实例表的objectid,对应的也就是子表的parentobjectid |
|
|
3楼#
发布于:2018-04-17 17:19
@岩竹玉雨
public List<DataItemParam> GetDataValuesWithDtl(OThinker.H3.DataModel.BizObject bo, OThinker.Organization.User user, string jsonData) 这个方法前2个参数是怎么赋值的?求教 |
|
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 |
|
|
5楼#
发布于:2018-04-18 16:21
|
|
6楼#
发布于:2018-04-18 16:23
@岩竹玉雨
你好 我也是刚进公司实习的打工的 可否列下GetDataValuesWithDtl使用范例代码 虽然老板说 能发起流程就可以了,子表让他们自己手动抓取,,但我还是想弄明白 谢谢岩竹玉雨 H3BPM还是很强大的 |
|
7楼#
发布于:2018-04-18 17:33
|
|
|