static CatalogMetadata1C77 GetCatalogMetadata(ICOMObject1C77 com) { var metadata = new CatalogMetadata1C77(); metadata.Идентификатор = com.GetProperty <string>("Идентификатор"); metadata.Комментарий = com.GetProperty <string>("Комментарий"); metadata.Синоним = com.GetProperty <string>("Синоним"); metadata.КоличествоУровней = (int)com.GetProperty <double>("КоличествоУровней"); metadata.ДлинаКода = (int)com.GetProperty <double>("ДлинаКода"); metadata.ДлинаНаименования = (int)com.GetProperty <double>("ДлинаНаименования"); metadata.СерииКодов = com.GetProperty <string>("СерииКодов"); metadata.ТипКода = com.GetProperty <string>("ТипКода"); metadata.ОсновноеПредставление = com.GetProperty <string>("ОсновноеПредставление"); metadata.КонтрольУникальности = com.GetProperty <double>("КонтрольУникальности") == 1; metadata.АвтоНумерация = com.GetProperty <double>("АвтоНумерация") == 2; var owner = com.GetProperty <ICOMObject1C77>("Владелец"); metadata.Владелец = owner.Method <string>("Представление"); int count = (int)com.Method <double>("Реквизит"); var attributes = new List <CatalogAttributeMetadata1C77>(); for (int i = 0; i < count; i++) { var metadataAttr = new CatalogAttributeMetadata1C77(); SetCatalogAttributeMetadata(com.Method <ICOMObject1C77>("Реквизит", i + 1), metadataAttr); attributes.Add(metadataAttr); } metadata.Attributes = attributes; return(metadata); }
static void SetCatalogAttributeMetadata(ICOMObject1C77 com, CatalogAttributeMetadata1C77 metadata) { SetAttributeMetadata(com, metadata); metadata.Сортировка = com.GetProperty <double>("Сортировка") == 1; metadata.Периодический = com.GetProperty <double>("Периодический") == 1; }