public ОписаниеУровняПросмотраИсторииСборки ПолучитьОписаниеПоЭлементу(ЭлементПросмотраЗаписиИсторииСборки элемент) { if ((!this.ОписаниеЗагружено || (элемент == null)) || (this.кэшПодчиненныхОписаний == null)) { return(null); } ЗаписьИсторииСборкиИтоговыхОтчетов отчетов = элемент.ЗаписьИстории; Guid guid1 = отчетов.ИдентификаторДанныхИсточника; if (отчетов.ИдентификаторДанныхИсточника == Guid.Empty) { return(null); } if (this.кэшПодчиненныхОписаний.ContainsKey(отчетов.КлючИсточникаСтрокой)) { return(this.кэшПодчиненныхОписаний[отчетов.КлючИсточникаСтрокой]); } ОписаниеУровняПросмотраИсторииСборки сборки = new ОписаниеУровняПросмотраИсторииСборки(отчетов); if (!сборки.ИсторияЗагружена) { сборки.Очистить(); сборки = null; } else { сборки.ТипПостроения = this.типПостроения; сборки.СтолбецПостроения = this.СтолбецПостроения; сборки.КэшТаблицИсточников = this.КэшТаблицИсточников; сборки.КэшПодчиненныхОписаний = this.КэшПодчиненныхОписаний; сборки.одитель = this; if (!сборки.ПостроитьОписание()) { сборки.Очистить(); сборки = null; } } this.кэшПодчиненныхОписаний.Add(отчетов.КлючИсточникаСтрокой, сборки); return(сборки); }
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); }