public bool Загрузить(ОтчетнаяФормаДанных отчетнаяФорма, string таблица, string строка, string строкаСтарая) { if (!(((отчетнаяФорма != null) && !string.IsNullOrEmpty(таблица)) && отчетнаяФорма.Данные.СодержитТаблицу(таблица))) { return(false); } if ((this.типПостроения == ТипПостроенияИсторииСборки.ПоСтолбцу) && string.IsNullOrEmpty(this.столбецПостроения)) { Сообщение.ПоказатьПредупреждение("Не указан столбец отображения."); return(false); } bool flag = false; this.КурсорОжидания(); try { try { Guid guid = ХранилищеДанныхФорм.ПолучитьИдентификаторХранимыхДанных(отчетнаяФорма.Данные.Идентификатор); string str = отчетнаяФорма.Метаструктура.Наименование; string str2 = отчетнаяФорма.НаименованиеУчреждения; this.списокСтолбцов = отчетнаяФорма.Метаструктура.Таблицы[таблица].Столбцы; ОписаниеУровняПросмотраИсторииСборки сборки = new ОписаниеУровняПросмотраИсторииСборки(guid, str, str2, таблица, строка, строкаСтарая); сборки.СтолбецПостроения = this.СтолбецПостроения; сборки.ТипПостроения = this.ТипПостроенияИстории; сборки.КэшТаблицИсточников = this.кэшТаблицИсточников; сборки.КэшПодчиненныхОписаний = this.кэшПодчиненныхОписаний; сборки.ПередФормированиемЭлементов += new СобытиеОписанияУровняИстории(this.ПередЗагрузкойЭлементовОписания); сборки.ФормированиеЭлементов += new СобытиеОписанияУровняИстории(this.ЗагрузкаЭлементовОписания); сборки.ПослеФормированияЭлементов += new СобытиеОписанияУровняИстории(this.ПослеЗагрузкиЭлементовОписания); if (!сборки.ПостроитьОписание()) { сборки.Очистить(); } else { this.ОписаниеТекущегоУровня = сборки; flag = true; } } catch (Exception exception) { Сообщение.ПоказатьИсключительнуюСитуацию("Ошибка загрузки данных.", exception); flag = false; } } finally { this.ОбычныйКурсор(); } return(flag); }
protected ОтчетнаяФормаДанных ПолучитьОтчетнуюФорму() { if (this.ПараметрыГлавногоОкна.ПараметрЗадан("SessionParam")) { string[] strings = ПараметрыГлавногоОкна["SessionParam"].Split(':'); if (strings.Length == 2) { ОтчетнаяФормаДанных отчетнаяФорма = null; object ОбъектСессионнойПеременной = Барс.ВебЯдро.МенеджерСессионныхПеременных.ПолучитьПеременнуюИзСессии(strings[0], strings[1]); if (ОбъектСессионнойПеременной is СписокТекущихОтчетныхФорм) { try { if (this.ПараметрыГлавногоОкна.ПараметрЗадан("Index")) { int ИндексОбъектаВСписке = -1; if (int.TryParse(ПараметрыГлавногоОкна["Index"].ToString(), out ИндексОбъектаВСписке)) { ТекущаяОтчетнаяФорма текущаяФорма = (ОбъектСессионнойПеременной as СписокТекущихОтчетныхФорм)[ИндексОбъектаВСписке]; if (текущаяФорма != null) { ИдентификаторМетаописанияФормы идентификатор = текущаяФорма.ПолучитьИдентификаторМетаописанияФормы(); ХранилищеМетаописаний.ОбновитьЛокальноеМетаописание(идентификатор); отчетнаяФорма = new ОтчетнаяФормаДанных(); отчетнаяФорма.ЗагрузитьМетаструктуру(идентификатор); отчетнаяФорма.КомпонентОтчетногоПериода = текущаяФорма.КомпонентОтчетногоПериода; отчетнаяФорма.Учреждение = текущаяФорма.Учреждение; отчетнаяФорма.ЭлементЦепочки = текущаяФорма.ЭлементЦепочки.ТипЭлементаЦепочки; ХранилищеДанныхФорм.ОбновитьЛокальныеДанные(отчетнаяФорма.Данные.Идентификатор); отчетнаяФорма.ЗагрузитьДанные(); } } } } catch { } } else if (ОбъектСессионнойПеременной is ОтчетнаяФормаДанных) { отчетнаяФорма = (ОтчетнаяФормаДанных)ОбъектСессионнойПеременной; } return(отчетнаяФорма); } else { return(null); } } else { return(null); } }