public void Check(CXLRootGroup rootGroup) {
   for(int i = 0; i < this._headerFormats.Count; i++) {
     String vFldName = this._headerFormats.getRangeName(i);
     CXLRColDef vColDef = rootGroup.ColDefs[vFldName];
     if(vColDef == null)
       throw new EBioException("Ошибка в описании шаблона. Заголовок группы привязан к полю [" + vFldName + "]. Данное поле должно быть обязательно объявлено в области [details].");
   }
   for(int i = 0; i < this._footerFormats.Count; i++) {
     String vFldName = this._footerFormats.getRangeName(i);
     CXLRColDef vColDef = rootGroup.ColDefs[vFldName];
     if(vColDef == null)
       throw new EBioException("Ошибка в описании шаблона. Итог группы привязан к полю [" + vFldName + "]. Данное поле должно быть обязательно объявлено в области [details].");
   }
 }
 public void Init(Excel.Range dsRange) {
   this.FRootGroup = new CXLRootGroup(this, dsRange);
 }
 protected override void doOnDispose() {
   if(this.FRootGroup != null) {
     this.FRootGroup.Dispose();
     this.FRootGroup = null;
   }
 }