public static Guid Ссылка(this МетодыРасчетаЗначенияПлановойСебестоимости Значение)
        {
            switch (Значение)
            {
            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(МетодыРасчетаЗначенияПлановойСебестоимости.НеРассчитывать);
     }
     return(МетодыРасчетаЗначенияПлановойСебестоимости.ПустаяСсылка);
 }
 public static byte[] Ключ(this МетодыРасчетаЗначенияПлановойСебестоимости Значение)
 {
     return(Ссылка(Значение).ToByteArray());
 }
 public static readonly Guid НеРассчитывать = new Guid("beeb4ba7-4400-30ee-4193-3e9537dacbc3");             //Не рассчитывать
 public static МетодыРасчетаЗначенияПлановойСебестоимости Получить(this МетодыРасчетаЗначенияПлановойСебестоимости Значение, byte[] Ссылка)
 {
     return(Получить(Значение, new Guid(Ссылка)));
 }