/// <summary>
        /// Асинхронно записывает данные объекта на сервере.
        /// </summary>
        /// <param name="режимЗаписиДокумента">Режим записи документа (только для документов).</param>
        /// <param name="режимПроведенияДокумента">Режим проведения документа (только для документов).</param>
        /// <returns></returns>
        protected async Task ЗаписатьДанныеАсинх(ежимЗаписиДокумента режимЗаписиДокумента = ежимЗаписиДокумента.Запись, ежимПроведенияДокумента режимПроведенияДокумента = ежимПроведенияДокумента.Неоперативный)
        {
            ValueObjectRef tempObject = new ValueObjectRef(this.reference);

            tempObject.Property = new ValueBase[this.modifiedFields.Count];
            int i = 0;

            foreach (string key in this.modifiedFields)
            {
                object value = null;
                this.data.TryGetValue(key, out value);
                ValueBase property = ValueBase.From(value);
                property.Name          = key;
                tempObject.Property[i] = property;
                i++;
            }

            PostObject_Settings settings = new PostObject_Settings(
                this.ДополнительныеСвойства,
                режимЗаписиДокумента,
                режимПроведенияДокумента,
                this.isExchangeLoadMode
                );

            Task <PostObjectResponse> task = this.Клиент().SoapКлиент.PostObjectAsync(tempObject, settings);

            ValueObjectRef returnObject = (await task).@return;
            ОбъектСсылка   ссылка       = returnObject.GetValue(this.Клиент()) as ОбъектСсылка;

            this.УстановитьСсылку(ссылка);

            this.УстановитьЗначенияИзСвойствSOAP(returnObject.Property);

            this.modifiedFields.Clear();
        }
        /// <summary>
        /// Асинхронно загружает данные объекта с сервера.
        /// </summary>
        public async Task ЗагрузитьДанныеАсинх()
        {
            GetObject_Settings settings = new GetObject_Settings();

            settings.FieldAutoinclusion = new RequestFieldAutoinclusionSettings();
            settings.FieldAutoinclusion.DefaultFields          = true;
            settings.FieldAutoinclusion.DefaultFieldsSpecified = true;
            settings.FieldAutoinclusion.CustomFields           = true;
            settings.FieldAutoinclusion.CustomFieldsSpecified  = true;
            settings.FieldAutoinclusion.Tables          = true;
            settings.FieldAutoinclusion.TablesSpecified = true;

            Task <GetObjectResponse> task = this.Клиент().SoapКлиент.GetObjectAsync(new ValueObjectRef(this.reference), settings);

            ValueObjectRef refSoap = (await task).@return as ValueObjectRef;

            this.Клиент().Контекст().УстановитьПредставлениеОбъекта(this.reference, refSoap.Presentation);
            this.Клиент().Контекст().УстановитьЗначенияИзСвойствSOAP(this.reference, refSoap.Property);

            this.УстановитьЗначенияИзСвойствSOAP(refSoap.Property);

            this.modifiedFields.Clear();
        }
        /// <summary>
        /// Асинхронно загружает данные объекта с сервера.
        /// </summary>
        /// <param name="ссылка">Ссылка на объект.</param>
        public async Task ЗагрузитьДанныеОбъектаАсинх(ОбъектСсылка ссылка)
        {
            GetObject_Settings settings = new GetObject_Settings();

            settings.AddSkippedProperties = true;

            settings.FieldAutoinclusion = new RequestFieldAutoinclusionSettings();
            settings.FieldAutoinclusion.DefaultFields          = true;
            settings.FieldAutoinclusion.DefaultFieldsSpecified = true;
            settings.FieldAutoinclusion.CustomFields           = true;
            settings.FieldAutoinclusion.CustomFieldsSpecified  = true;
            settings.FieldAutoinclusion.Tables          = true;
            settings.FieldAutoinclusion.TablesSpecified = true;

            Task <GetObjectResponse> task = this.bromClient.SoapКлиент.GetObjectAsync((ValueObjectRef)ValueBase.From(ссылка), settings);

            ValueObjectRef refSoap = (await task).@return as ValueObjectRef;

            this.ИнициализироватьДанныеОбъекта(ссылка);

            this.УстановитьПредставлениеОбъекта(ссылка, refSoap.Presentation);
            this.УстановитьЗначенияИзСвойствSOAP(ссылка, refSoap.Property);
        }