BizObject相关方法示例
// 这里演示了构造 BizObject 对象,以及调用 BizObject 对象的 Create 方法 IEngine engine = OThinker.H3.WorkSheet.AppUtility.Engine; BizObjectSchema schema = engine.BizObjectManager.GetPublishedSchema("数据模型编码"); BizObject bo = new BizObject(engine, schema, "当前用户ID"); bo["短文本数据项"] = "值"; bo["数值型数据项"] = 23; bo["日期型数据项"] = DateTime.Now; bo["参与者单人"] = "用户ObjectID"; bo["参与者多人"] = new string[] { "用户ObjectID1", "用户ObjectID2" }; // 子表数据项赋值,适用于子表类型数据项(不适用于关联关系) BizObjectSchema childSchema = schema.GetProperty("子表类型数据项").ChildSchema; // 获取子业务对象编码 BizObject childBO = new BizObject(engine, childSchema, "当前用户ID"); /* 这里类似以上BizObject的方法给 childBO 赋值 例如:childBO["短文本数据项"] = "值"; */ bo["子表类型数据项(业务对象类型)"] = childBO; // 针对业务对象类型数据项,赋值是 BizObject // 针对是业务对象数组类型数据项,赋值是 BizObject[]; bo["子表类型数据项(业务对象数组/子表类型)"] = new BizObject[] { childBO }; // 关联关系数据项赋值 string associatedSchemaCode = schema.GetAssociation("关联关系").AssociatedSchemaCode; BizObjectSchema childSchema1 = engine.BizObjectManager.GetPublishedSchema(associatedSchemaCode); // 获取关联关系业务对象编码 BizObject childBO1 = new BizObject(engine, childSchema1, "当前用户ID"); /* 这里类似以上BizObject的方法给 childBO 赋值 例如:childBO["短文本数据项"] = "值"; */ bo["一对一映射关系"] = childBO1; // 针对业务对象类型数据项,赋值是 BizObject // 针对是业务对象数组类型数据项,赋值是 BizObject[]; bo["一对多映射关系"] = new BizObject[] { childBO1 }; bo.Create(); // 注意审批意见和附件要单独调用接口 // 附件 byte[] fileContents = null; // 附件二进制内容 engine.BizObjectManager.AddAttachment(new Data.Attachment() { BizObjectId = bo.ObjectID, BizObjectSchemaCode = bo.Schema.SchemaCode, DataField = "附件数据项名称", Content = fileContents, ContentLength = fileContents.Length, ContentType = "附件类型,上传对象可以获取到", // HttpPostedFile.ContentType FileName = "附件文件名称", CreatedBy = "当前用户ID", CreatedTime = DateTime.Now, LastVersion = true }); // 意见 engine.BizObjectManager.AddComment(new Data.Comment() { BizObjectId = bo.ObjectID, BizObjectSchemaCode = bo.Schema.SchemaCode, InstanceId = "当前流程实例ID", TokenId = 0, // 当前任务的TokenID Activity = "当前任务节点的编码", Approval = OThinker.Data.BoolMatchValue.True,// 审核结果,提交是True,驳回是False SignatureId = "使用的签章ID", UserID = "意见填写人ID", OUName = "意见填写人组织名称", Text = "意见文本" }); // 以下获取BizObject对象 BizObjectSchema schema1 = engine.BizObjectManager.GetPublishedSchema("数据模型编码"); BizObject bo1 = new BizObject(engine, schema1, "当前用户ID"); bo1.ObjectID = "业务对象实例ID"; bo1.Load(); // Load 是装载数据 string v1 = bo1["短文本数据项"] + string.Empty; bo1.Update(); // 更新方法 bo1.Remove(); // 移除方法 bo1.Invoke("自定义方法名称"); // 执行自定义方法 |