private ТабличнаяЧастьКонтекст ДобавитьТабличнуюЧасть(МетаданныеТабличнаяЧасть метаданные)
        {
            object таблЧасть;

            if (!this.data.TryGetValue(метаданные.Имя(), out таблЧасть) || таблЧасть == null)
            {
                таблЧасть = new ТабличнаяЧастьКонтекст(метаданные as МетаданныеТабличнаяЧасть);
                this.data[метаданные.Имя()] = таблЧасть;
                (таблЧасть as ТабличнаяЧастьКонтекст).OnModifiedChanged += this.TableSection_OnModifiedChanged;
            }

            return(таблЧасть as ТабличнаяЧастьКонтекст);
        }
        internal void УстановитьЗначенияИзСвойствSOAP(ValueBase[] properties)
        {
            if (properties == null)
            {
                return;
            }

            УзелМетаданных реквизиты = this.reference.Метаданные().НайтиПодчиненный("Реквизиты");

            foreach (ValueBase property in properties)
            {
                УзелМетаданных реквизит;
                if (реквизиты.ПопыткаНайтиПодчиненный(property.Name, out реквизит))
                {
                    object значение = property.GetValue(this.Клиент());
                    this.data[реквизит.Имя()] = значение;
                }
            }

            УзелМетаданных таблЧасти = this.reference.Метаданные().НайтиПодчиненный("ТабличныеЧасти");

            foreach (ValueBase property in properties)
            {
                УзелМетаданных таблЧастьМета;
                if (таблЧасти.ПопыткаНайтиПодчиненный(property.Name, out таблЧастьМета))
                {
                    object значение = property.GetValue(this.Клиент());
                    ТабличнаяЧастьКонтекст табличнаяЧасть = this.ДобавитьТабличнуюЧасть(таблЧастьМета as МетаданныеТабличнаяЧасть);
                    if (значение is ТаблицаЗначений)
                    {
                        табличнаяЧасть.ЗагрузитьДанные((ТаблицаЗначений)значение);
                    }
                    else
                    {
                        табличнаяЧасть.ЗагрузитьДанные(new ТаблицаЗначений());
                    }
                    табличнаяЧасть.SetIsModified(false);
                }
            }
        }