public static Guid Ссылка(this ТипДетализацииСтандартныхОтчетов Значение)
        {
            switch (Значение)
            {
            case ТипДетализацииСтандартныхОтчетов.Элементы: return(Элементы);

            case ТипДетализацииСтандартныхОтчетов.Иерархия: return(Иерархия);

            case ТипДетализацииСтандартныхОтчетов.ТолькоИерархия: return(ТолькоИерархия);
            }
            return(Guid.Empty);
        }
 public static ТипДетализацииСтандартныхОтчетов Получить(this ТипДетализацииСтандартныхОтчетов Значение, Guid Ссылка)
 {
     if (Ссылка == Элементы)
     {
         return(ТипДетализацииСтандартныхОтчетов.Элементы);
     }
     else if (Ссылка == Иерархия)
     {
         return(ТипДетализацииСтандартныхОтчетов.Иерархия);
     }
     else if (Ссылка == ТолькоИерархия)
     {
         return(ТипДетализацииСтандартныхОтчетов.ТолькоИерархия);
     }
     return(ТипДетализацииСтандартныхОтчетов.ПустаяСсылка);
 }
 public static byte[] Ключ(this ТипДетализацииСтандартныхОтчетов Значение)
 {
     return(Ссылка(Значение).ToByteArray());
 }
 public static readonly Guid ТолькоИерархия = new Guid("503e6b84-0b71-be5e-42ac-891e4ba0446e");        //Только иерархия
 public static ТипДетализацииСтандартныхОтчетов Получить(this ТипДетализацииСтандартныхОтчетов Значение, byte[] Ссылка)
 {
     return(Получить(Значение, new Guid(Ссылка)));
 }