public static Guid Ссылка(this СостоянияВерсийЭД Значение)
        {
            switch (Значение)
            {
            case СостоянияВерсийЭД.ИзвещениеНаПодписи: return(ИзвещениеНаПодписи);

            case СостоянияВерсийЭД.НаПодписи: return(НаПодписи);

            case СостоянияВерсийЭД.НаУтверждении: return(НаУтверждении);

            case СостоянияВерсийЭД.НеПолучен: return(НеПолучен);

            case СостоянияВерсийЭД.НеСформирован: return(НеСформирован);

            case СостоянияВерсийЭД.ОжидаетсяИзвещение: return(ОжидаетсяИзвещение);

            case СостоянияВерсийЭД.ОжидаетсяИзвещениеОПолучении: return(ОжидаетсяИзвещениеОПолучении);

            case СостоянияВерсийЭД.ОжидаетсяКорректировка: return(ОжидаетсяКорректировка);

            case СостоянияВерсийЭД.ОжидаетсяОтправка: return(ОжидаетсяОтправка);

            case СостоянияВерсийЭД.ОжидаетсяОтправкаИзвещения: return(ОжидаетсяОтправкаИзвещения);

            case СостоянияВерсийЭД.ОжидаетсяПодтверждение: return(ОжидаетсяПодтверждение);

            case СостоянияВерсийЭД.ОжидаетсяПодтверждениеОператора: return(ОжидаетсяПодтверждениеОператора);

            case СостоянияВерсийЭД.Отклонен: return(Отклонен);

            case СостоянияВерсийЭД.ОбменЗавершен: return(ОбменЗавершен);

            case СостоянияВерсийЭД.ОшибкаПередачи: return(ОшибкаПередачи);

            case СостоянияВерсийЭД.ТребуетсяУточнитьДокумент: return(ТребуетсяУточнитьДокумент);
            }
            return(Guid.Empty);
        }
 public static СостоянияВерсийЭД Получить(this СостоянияВерсийЭД Значение, Guid Ссылка)
 {
     if (Ссылка == ИзвещениеНаПодписи)
     {
         return(СостоянияВерсийЭД.ИзвещениеНаПодписи);
     }
     else if (Ссылка == НаПодписи)
     {
         return(СостоянияВерсийЭД.НаПодписи);
     }
     else if (Ссылка == НаУтверждении)
     {
         return(СостоянияВерсийЭД.НаУтверждении);
     }
     else if (Ссылка == НеПолучен)
     {
         return(СостоянияВерсийЭД.НеПолучен);
     }
     else if (Ссылка == НеСформирован)
     {
         return(СостоянияВерсийЭД.НеСформирован);
     }
     else if (Ссылка == ОжидаетсяИзвещение)
     {
         return(СостоянияВерсийЭД.ОжидаетсяИзвещение);
     }
     else if (Ссылка == ОжидаетсяИзвещениеОПолучении)
     {
         return(СостоянияВерсийЭД.ОжидаетсяИзвещениеОПолучении);
     }
     else if (Ссылка == ОжидаетсяКорректировка)
     {
         return(СостоянияВерсийЭД.ОжидаетсяКорректировка);
     }
     else if (Ссылка == ОжидаетсяОтправка)
     {
         return(СостоянияВерсийЭД.ОжидаетсяОтправка);
     }
     else if (Ссылка == ОжидаетсяОтправкаИзвещения)
     {
         return(СостоянияВерсийЭД.ОжидаетсяОтправкаИзвещения);
     }
     else if (Ссылка == ОжидаетсяПодтверждение)
     {
         return(СостоянияВерсийЭД.ОжидаетсяПодтверждение);
     }
     else if (Ссылка == ОжидаетсяПодтверждениеОператора)
     {
         return(СостоянияВерсийЭД.ОжидаетсяПодтверждениеОператора);
     }
     else if (Ссылка == Отклонен)
     {
         return(СостоянияВерсийЭД.Отклонен);
     }
     else if (Ссылка == ОбменЗавершен)
     {
         return(СостоянияВерсийЭД.ОбменЗавершен);
     }
     else if (Ссылка == ОшибкаПередачи)
     {
         return(СостоянияВерсийЭД.ОшибкаПередачи);
     }
     else if (Ссылка == ТребуетсяУточнитьДокумент)
     {
         return(СостоянияВерсийЭД.ТребуетсяУточнитьДокумент);
     }
     return(СостоянияВерсийЭД.ПустаяСсылка);
 }
 public static readonly Guid ТребуетсяУточнитьДокумент = new Guid("4e3446ae-516a-75eb-4bb6-6e12b97293f9");       //Требуется уточнить документ
 public static СостоянияВерсийЭД Получить(this СостоянияВерсийЭД Значение, byte[] Ссылка)
 {
     return(Получить(Значение, new Guid(Ссылка)));
 }
 public static byte[] Ключ(this СостоянияВерсийЭД Значение)
 {
     return(Ссылка(Значение).ToByteArray());
 }