打开单据原创
金蝶云社区-Lymtoo
Lymtoo
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("该字段当前无数据!");   
                   }}


赞 4