打开单据原创
4人赞赏了该文章
367次浏览
编辑于2023年09月26日 09:22:06
/// <param name="field">单据名</param> /// <param name="formid">业务标识</param> private void OpenEntity(string field, string formid) { //获取行号 int row = this.View.GetControl<EntryGrid>("F_Entity").GetFocusRowIndex(); //若动态列采用json回调的赋值方法则通过以下两种取值无法成功 //数据包取值 DynamicObjectCollection entityObjs2 =this.View.Model.GetEntityDataObject(this.View.BillBusinessInfo.GetEntity("F_Entity")); //直接取值 //var data2 = this.Model.GetValue(field); //根据查询所获取的中间数据表进行定位操作 代替直接在界面上取值 DataRow dr = fixedSample.DATA.Tables[0].Rows[row]; string data = Convert.ToString(dr[field]); if (data != "") { //将订单编号转换为数据表id var requisitionMetadata = (FormMetadata)MetaDataServiceHelper.Load(this.Context, formid); var objs = BusinessDataServiceHelper.Load(this.Context, requisitionMetadata.BusinessInfo , new List<SelectorItemInfo>(new[] { new SelectorItemInfo("FID") }) , OQLFilter.CreateHeadEntityFilter("FBillNo='" + data + "'")); //打开对应单据页面 var showParameter = new BillShowParameter { FormId = formid, // 业务对象标识 PKey = objs[0]["Id"].ToString(), // 单据内码 Status = OperationStatus.VIEW // 查看模式打开 //Status = OperationStatus.EDIT // 编辑模式打开 }; this.View.ShowForm(showParameter); } else { this.View.ShowErrMessage("该字段当前无数据!"); }}