Example #1
0
        public ДеревоЗначений ПолучитьДанныеОбъекта(
            Ссылка ссылка,
            IEnumerable <string> поля = null,
            АвтозагрузкаПолейОбъектов автозагрузкаПолей = null)
        {
            Task <ДеревоЗначений> task = this.ПолучитьДанныеОбъектаАсинх(ссылка, поля, автозагрузкаПолей);

            task.Wait();

            return(task.Result);
        }
Example #2
0
        public async Task <ДеревоЗначений> ПолучитьДанныеОбъектаАсинх(
            Ссылка ссылка,
            IEnumerable <string> поля = null,
            АвтозагрузкаПолейОбъектов автозагрузкаПолей = null)
        {
            автозагрузкаПолей = автозагрузкаПолей ?? АвтозагрузкаПолейОбъектов.Ничего;

            GetObject_Settings settings = new GetObject_Settings();

            settings.AddSkippedProperties          = true;
            settings.AddSkippedPropertiesSpecified = true;
            settings.PropertiesHierarchyType       = "Hierarchy";

            settings.FieldAutoinclusion = new RequestFieldAutoinclusionSettings();
            settings.FieldAutoinclusion.DefaultFields          = автозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.DefaultFieldsSpecified = автозагрузкаПолей.ЗагружатьСтандартныеРеквизиты;
            settings.FieldAutoinclusion.CustomFields           = автозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.CustomFieldsSpecified  = автозагрузкаПолей.ЗагружатьПользовательскиеРеквизиты;
            settings.FieldAutoinclusion.Tables          = автозагрузкаПолей.ЗагружатьТабличныеЧасти;
            settings.FieldAutoinclusion.TablesSpecified = автозагрузкаПолей.ЗагружатьТабличныеЧасти;

            if (поля != null)
            {
                string[] именаПолей = поля.ToArray();
                settings.Field = new RequestField[именаПолей.Length];
                for (int i = 0; i < именаПолей.Length; i++)
                {
                    RequestField field = new RequestField();
                    field.Key         = именаПолей[i];
                    settings.Field[i] = field;
                }
            }

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

            return((await task)[email protected](this));
        }