public override object GetValue(БромКлиент client = null) { ТаблицаЗначений result = new ТаблицаЗначений(); if (this.Column != null) { foreach (var column in this.Column) { result.Колонки.Добавить(column.Name); } } if (this.Row != null) { foreach (var row in this.Row) { dynamic temRow = result.Добавить(); if (row.Property != null) { foreach (var property in row.Property) { temRow[property.Name] = property.GetValue(client); } } } } return(result); }
/// <summary> /// Выгружает табличную часть в таблицу значений (<see cref="ITworks.Brom.Types.ТаблицаЗначений"/>). /// </summary> /// <returns>Возвращает таблицу значений, содержащую данные табличной части.</returns> public ТаблицаЗначений Выгрузить() { ТаблицаЗначений таблица = new ТаблицаЗначений(this.Count); IEnumerable <string> именаПолей = this.metadata.Найти("Реквизиты").GetDynamicMemberNames(); foreach (string имяПоля in именаПолей) { таблица.Колонки.Добавить(имяПоля); } foreach (dynamic стр in this.rows) { dynamic новСтр = таблица.Добавить(); foreach (string имяПоля in именаПолей) { новСтр[имяПоля] = стр[имяПоля]; } } return(таблица); }