|  |  | 
 |  |  |         public Models.ClsOA_ErrMsgBackBillMain omodel = new Models.ClsOA_ErrMsgBackBillMain(); | 
 |  |  |         public List<Models.ClsOA_ErrMsgBackBillSub> DetailColl = new List<Models.ClsOA_ErrMsgBackBillSub>(); | 
 |  |  |         public List<Models.ClsOA_ErrMsgBackBillSub2> DetailColl2 = new List<Models.ClsOA_ErrMsgBackBillSub2>(); | 
 |  |  |         public Models.ClsOA_ErrMsgBackBillSub DetailReply = new Models.ClsOA_ErrMsgBackBillSub(); | 
 |  |  |  | 
 |  |  |         public ClsOA_ErrMsgBackBill() | 
 |  |  |         { | 
 |  |  | 
 |  |  |                 ",HDescription='" + omodel.HDescription + "'" + | 
 |  |  |                 ",HHasten=" + omodel.HHasten.ToString() + | 
 |  |  |                 ",HQty=" + omodel.HQty.ToString() + | 
 |  |  |                  | 
 |  |  |                 ",HRecDeptID=" + omodel.HRecDeptID.ToString() + | 
 |  |  |                 ",HMaterNumber='" + omodel.HMaterNumber + "'" + | 
 |  |  |  | 
 |  |  |                 " where HInterID=" + lngBillKey.ToString()); | 
 |  |  |                 //删除关联 | 
 |  |  |                 DeleteRelation(ref sReturn, lngBillKey); | 
 |  |  | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         public bool ReplyBill(ref string sReturn) | 
 |  |  |         { | 
 |  |  |             try | 
 |  |  |             { | 
 |  |  |                 | 
 |  |  |                 //若MAINDI重复则重新获取 | 
 |  |  |                 oCn.BeginTran(); | 
 |  |  |  | 
 |  |  |  | 
 |  |  |                 DataSet Ds = oCn.RunProcReturn("select count(HInterID) as num from OA_ErrMsgBackBillSub where HInterID = " + DetailReply.HInterID + " group by HInterID ", "OA_ErrMsgBackBillSub"); | 
 |  |  |  | 
 |  |  |                 Int64 num = 0; | 
 |  |  |  | 
 |  |  |                 if (Ds.Tables[0].Rows.Count == 0) | 
 |  |  |                 { | 
 |  |  |                     num = 1; | 
 |  |  |                 } | 
 |  |  |                 else | 
 |  |  |                 { | 
 |  |  |                     num = Convert.ToInt64(Ds.Tables[0].Rows[0]["num"]) + 1; | 
 |  |  |                 } | 
 |  |  |  | 
 |  |  |                 //主表 | 
 |  |  |                 oCn.RunProc("Insert Into OA_ErrMsgBackBillSub   " + | 
 |  |  |                 "(HInterID,HEntryID,HRemark,HSendStatus,HSendMan" + | 
 |  |  |                 ",HDescriptionSub,HDate" + | 
 |  |  |                 ",HCloseMan,HEntryCloseDate,HCloseType,HSourceInterID,HSourceEntryID,HSourceBillNo,HSourceBillType,HRelationQty,HRelationMoney" + | 
 |  |  |                 ") " + | 
 |  |  |                 " values(" + DetailReply.HInterID + "," + num + ",'" + DetailReply.HRemark + "'," + 1 + ",'" + DetailReply.HSendMan + "'" + | 
 |  |  |                 ",'" + DetailReply.HDescriptionSub + "','" + DetailReply.HDate + "','" + DetailReply.HCloseMan + "','" + "" + "'" + | 
 |  |  |                 "," + 0 + "," + DetailReply.HSourceInterID + "," + DetailReply.HSourceEntryID + ",'" + DetailReply.HSourceBillNo + "'" + | 
 |  |  |                 ",'" + DetailReply.HSourceBillType + "'," + DetailReply.HRelationQty + "," + DetailReply.HRelationMoney + | 
 |  |  |                 ") "); | 
 |  |  |  | 
 |  |  |                 sReturn = omodel.HInterID.ToString(); | 
 |  |  |                 oCn.Commit(); | 
 |  |  |                 return true; | 
 |  |  |             } | 
 |  |  |             catch (Exception e) | 
 |  |  |             { | 
 |  |  |                 sReturn = e.Message; | 
 |  |  |                 oCn.RollBack(); | 
 |  |  |                 throw (e); | 
 |  |  |             } | 
 |  |  |         } | 
 |  |  |  | 
 |  |  |         //删除单据 | 
 |  |  |         public virtual bool DeleteBill(Int64 lngBillKey,string HEntryID, ref string sReturn) | 
 |  |  |         { |