public static Dictionary <string, ConstantMetadata1C77> GetMetadataConstants(IGlobalContext global) { var result = new Dictionary <string, ConstantMetadata1C77>(); var com = global.GetProperty <ICOMObject1C77>(metadataToken); var count = (int)com.Method <double>(constantToken); for (int i = 0; i < count; i++) { var metadata = GetConstantMetadata(com.Method <ICOMObject1C77>(constantToken, i + 1)); result.Add(metadata.Идентификатор, metadata); } return(result); }
public static RootMetadata1C77 GetMetadata(IGlobalContext global) { var metadata = new RootMetadata1C77(); var com = global.GetProperty <ICOMObject1C77>(metadataToken); metadata.Id = GetMetadataDescriptor(global); metadata.Идентификатор = com.GetProperty <string>("Идентификатор"); metadata.Комментарий = com.GetProperty <string>("Комментарий"); metadata.Синоним = com.GetProperty <string>("Синоним"); metadata.Константы = GetMetadataConstants(global); metadata.Документы = GetMetadataDocuments(global); metadata.ОбщиеРеквизитыДокумента = GetMetadataCommonDocumentAttributes(global); metadata.Перечисления = GetMetadataEnums(global); metadata.Справочники = GetMetadataCatalogs(global); return(metadata); }
public static Dictionary <string, CommonDocummentAttributeMetadata1C77> GetMetadataCommonDocumentAttributes(IGlobalContext global) { var result = new Dictionary <string, CommonDocummentAttributeMetadata1C77>(); var com = global.GetProperty <ICOMObject1C77>(metadataToken); var count = (int)com.Method <double>(commonDocumentAttributesToken); for (int i = 0; i < count; i++) { try { var metadata = GetCommonDocummentAttributeMetadata(com.Method <ICOMObject1C77>(commonDocumentAttributesToken, i + 1)); result.Add(metadata.Идентификатор, metadata); } catch (Exception e) { throw new Exception($"Метаданные Документи -{i}:{e.Message}"); } } return(result); }
public static Dictionary <string, EnumMetadata1C77> GetMetadataEnums(IGlobalContext global) { var result = new Dictionary <string, EnumMetadata1C77>(); var com = global.GetProperty <ICOMObject1C77>(metadataToken); var count = (int)com.Method <double>(enumToken); for (int i = 0; i < count; i++) { try { var metadata = GetEnumMetadata(com.Method <ICOMObject1C77>(enumToken, i + 1)); result.Add(metadata.Идентификатор, metadata); } catch (Exception e) { throw new Exception($"Метаданные Перечисление -{i}:{e.Message}"); } } return(result); }
public static string GetMetadataDescriptor(IGlobalContext global) { var com = global.GetProperty <ICOMObject1C77>(metadataToken); return($"{com.GetProperty<string>("Идентификатор")}-{com.GetProperty<string>("Комментарий")}-{com.GetProperty<string>("Синоним")}"); }