Наследование: ДокументСсылка, IСериализаторProtoBuf, IСериализаторJson
        public static V82.ДокументыСсылка.ПриходныйКассовыйОрдер ВзятьИзКэша(byte[] УникальныйИдентификатор)
        {
            var УИ = new Guid(УникальныйИдентификатор);

            if (Кэш.ContainsKey(УИ))
            {
                return((V82.ДокументыСсылка.ПриходныйКассовыйОрдер)Кэш[УИ]);
            }
            var Ссылка = new V82.ДокументыСсылка.ПриходныйКассовыйОрдер(УникальныйИдентификатор);

            Кэш.Add(УИ, Ссылка);
            return(Ссылка);
        }
 public static ДокументыВыборка.ПриходныйКассовыйОрдер СтраницаПоСсылке(int Размер,int Номер)
 {
     using (var Подключение = new SqlConnection(СтрокаСоединения))
     {
         Подключение.Open();
         using (var Команда = Подключение.CreateCommand())
         {
             Команда.CommandText = @"Select top 1000
             _IDRRef [Ссылка]
             ,_Version [Версия]
             ,_Marked [ПометкаУдаления]
             ,_Fld10111RRef [Организация]
             ,_Fld10112RRef [Касса]
             ,_Fld10113RRef [Подразделение]
             ,_Fld10114RRef [ВидОперации]
             ,_Fld10115_TYPE [Контрагент_Тип],_Fld10115_RRRef [Контрагент],_Fld10115_RTRef [Контрагент_Вид]
             ,_Fld10116RRef [ДоговорКонтрагента]
             ,_Fld10117RRef [ВалютаВзаиморасчетовПодотчетника]
             ,_Fld10118RRef [ВалютаДокумента]
             ,_Fld10119 [СуммаДокумента]
             ,_Fld10121 [ПринятоОт]
             ,_Fld10122 [Основание]
             ,_Fld10123 [Приложение]
             ,_Fld10126RRef [Ответственный]
             ,_Fld10124 [ОтраженоВОперУчете]
             ,_Fld10125 [Оплачено]
             ,_Fld10127 [Комментарий]
             ,_Fld10129 [ОтражатьВУправленческомУчете]
             ,_Fld10128_TYPE [ДокументОснование_Тип],_Fld10128_RRRef [ДокументОснование],_Fld10128_RTRef [ДокументОснование_Вид]
             ,_Fld10130 [ОтражатьВБухгалтерскомУчете]
             ,_Fld10120_TYPE [РасчетныйДокумент_Тип],_Fld10120_RRRef [РасчетныйДокумент],_Fld10120_RTRef [РасчетныйДокумент_Вид]
             ,_Fld10137 [ОтражатьВНалоговомУчете]
             ,_Fld10131RRef [СчетУчетаРасчетовСКонтрагентом]
             ,_Fld10132RRef [СубконтоКт1]
             ,_Fld10133RRef [СубконтоКт2]
             ,_Fld10134RRef [СубконтоКт3]
             ,_Fld10136RRef [СчетОрганизации]
             ,_Fld10135RRef [СтатьяДвиженияДенежныхСредств]
             ,_Fld10138RRef [СтавкаНДС]
             ,_Fld10140 [Содержание_УСН]
             ,_Fld10141 [Графа4_УСН]
             ,_Fld10142 [Графа5_УСН]
             ,_Fld10143 [Графа6_УСН]
             ,_Fld10144 [Графа7_УСН]
             ,_Fld10145 [ДоходыЕНВД_УСН]
             ,_Fld10146 [РасходыЕНВД_УСН]
             ,_Fld10147 [НДС_УСН]
             ,_Fld10148 [РучнаяНастройка_УСН]
             ,_Fld10139 [ВыручкаСНТТ]
             ,_Fld10149 [НомерЧекаККМ]
             ,_Fld10150RRef [ВидПриемаРозничнойВыручки]
             ,_Fld10151RRef [ДенежныйЧек]
             From _Document412(NOLOCK)";
             var Выборка = new V82.ДокументыВыборка.ПриходныйКассовыйОрдер();
             using (var Читалка = Команда.ExecuteReader())
             {
                 while (Читалка.Read())
                 {
                     var Ссылка = new ДокументыСсылка.ПриходныйКассовыйОрдер();
                     //ToDo: Читать нужно через GetValues()
                     Ссылка.Ссылка = new Guid((byte[])Читалка.GetValue(0));
                     var ПотокВерсии = ((byte[])Читалка.GetValue(1));
                     Array.Reverse(ПотокВерсии);
                     Ссылка.Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
                     Ссылка.ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
                     Ссылка.ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
                     Ссылка.ВидОперации = V82.Перечисления/*Ссылка*/.ВидыОперацийПКО.ПустаяСсылка.Получить((byte[])Читалка.GetValue(6));
                     Ссылка.СуммаДокумента = Читалка.GetDecimal(13);
                     Ссылка.ПринятоОт = Читалка.GetString(14);
                     Ссылка.Основание = Читалка.GetString(15);
                     Ссылка.Приложение = Читалка.GetString(16);
                     Ссылка.ОтраженоВОперУчете = ((byte[])Читалка.GetValue(18))[0]==1;
                     Ссылка.Оплачено = ((byte[])Читалка.GetValue(19))[0]==1;
                     Ссылка.Комментарий = Читалка.GetString(20);
                     Ссылка.ОтражатьВУправленческомУчете = ((byte[])Читалка.GetValue(21))[0]==1;
                     Ссылка.ОтражатьВБухгалтерскомУчете = ((byte[])Читалка.GetValue(25))[0]==1;
                     Ссылка.ОтражатьВНалоговомУчете = ((byte[])Читалка.GetValue(29))[0]==1;
                     Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(36));
                     Ссылка.Содержание_УСН = Читалка.GetString(37);
                     Ссылка.Графа4_УСН = Читалка.GetDecimal(38);
                     Ссылка.Графа5_УСН = Читалка.GetDecimal(39);
                     Ссылка.Графа6_УСН = Читалка.GetDecimal(40);
                     Ссылка.Графа7_УСН = Читалка.GetDecimal(41);
                     Ссылка.ДоходыЕНВД_УСН = ((byte[])Читалка.GetValue(42))[0]==1;
                     Ссылка.РасходыЕНВД_УСН = ((byte[])Читалка.GetValue(43))[0]==1;
                     Ссылка.НДС_УСН = Читалка.GetDecimal(44);
                     Ссылка.РучнаяНастройка_УСН = ((byte[])Читалка.GetValue(45))[0]==1;
                     Ссылка.ВыручкаСНТТ = ((byte[])Читалка.GetValue(46))[0]==1;
                     Ссылка.НомерЧекаККМ = Читалка.GetDecimal(47);
                     Ссылка.ВидПриемаРозничнойВыручки = V82.Перечисления/*Ссылка*/.ВидПриемаРозничнойВыручки.ПустаяСсылка.Получить((byte[])Читалка.GetValue(48));
                     Ссылка.ДенежныйЧек = V82.ДокументыСсылка.ДенежныйЧек.ВзятьИзКэша((byte[])Читалка.GetValue(49));
                     Выборка.Add(Ссылка);
                 }
                     return Выборка;
             }
         }
     }
 }
 public static V82.ДокументыСсылка.ПриходныйКассовыйОрдер ВзятьИзКэша(byte[] УникальныйИдентификатор)
 {
     var УИ = new Guid(УникальныйИдентификатор);
     if (Кэш.ContainsKey(УИ))
     {
         return (V82.ДокументыСсылка.ПриходныйКассовыйОрдер)Кэш[УИ];
     }
     var Ссылка = new V82.ДокументыСсылка.ПриходныйКассовыйОрдер(УникальныйИдентификатор);
     Кэш.Add(УИ, Ссылка);
     return Ссылка;
 }