예제 #1
0
        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);
        }
예제 #2
0
        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);
        }
예제 #3
0
        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);
        }
예제 #4
0
        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);
        }
예제 #5
0
        public static string GetMetadataDescriptor(IGlobalContext global)
        {
            var com = global.GetProperty <ICOMObject1C77>(metadataToken);

            return($"{com.GetProperty<string>("Идентификатор")}-{com.GetProperty<string>("Комментарий")}-{com.GetProperty<string>("Синоним")}");
        }