Inheritance: ДокументСсылка, IСериализаторProtoBuf, IСериализаторJson
 public ПередачаСЗВ4вПФР(byte[] УникальныйИдентификатор)
 {
     using (var Подключение = new SqlConnection(СтрокаСоединения))
     {
         Подключение.Open();
         using (var Команда = Подключение.CreateCommand())
         {
             Команда.CommandText = @"Select top 1
             _IDRRef [Ссылка]
             ,_Version [Версия]
             ,_Marked [ПометкаУдаления]
             ,_Number [Номер]
             ,_Fld7933RRef [Организация]
             ,_Fld7935 [ДатаДействия]
             ,_Fld7937 [Комментарий]
             ,_Fld7938RRef [Ответственный]
             ,_Fld7943 [КраткийСоставДокумента]
             ,_Fld27199RRef [Руководитель]
             ,_Fld27200RRef [ДолжностьРуководителя]
             ,_Fld27201 [ОтчетныйПериод]
             ,_Fld27202 [ПринятоВПФР]
             ,_Fld27203 [НомерПачки]
             ,_Fld21810RRef [ФорматФайла]
             ,_Fld7936 [ТипСведений]
             ,_Fld7934 [Год]
             ,_Fld27204 [СпециальныйДокумент2010года]
             ,_Fld27205 [НеСодержитСЗВ]
             ,_Fld27206RRef [РасчетСтраховыхВзносов]
             ,_Fld27207 [ЗаполненПринятымиСведениями]
             ,_Fld7941 [УдалитьУплаченоЗаТекущийГодСтраховаяЧасть]
             ,_Fld27208 [УдалитьНачисленоЗаТекущийГодДополнительныйТариф]
             ,_Fld27209 [УдалитьУплаченоЗаТекущийГодДополнительныйТариф]
             ,_Fld7942 [УдалитьУплаченоЗаТекущийГодНакопительнаяЧасть]
             ,_Fld7939 [УдалитьНачисленоЗаТекущийГодСтраховаяЧасть]
             ,_Fld7940 [УдалитьНачисленоЗаТекущийГодНакопительнаяЧасть]
             From _Document365(NOLOCK)
             Where _IDRRef=@УникальныйИдентификатор";
             Команда.Parameters.AddWithValue("УникальныйИдентификатор", УникальныйИдентификатор);
             using (var Читалка = Команда.ExecuteReader())
             {
                 if (Читалка.Read())
                 {
                     //ToDo: Читать нужно через GetValues()
                     Ссылка = new Guid((byte[])Читалка.GetValue(0));
                     var ПотокВерсии = ((byte[])Читалка.GetValue(1));
                     Array.Reverse(ПотокВерсии);
                     Версия =  BitConverter.ToInt64(ПотокВерсии, 0);
                     ВерсияДанных =  Convert.ToBase64String(ПотокВерсии);
                     ПометкаУдаления = ((byte[])Читалка.GetValue(2))[0]==1;
                     Номер = Читалка.GetString(3);
                     ДатаДействия = Читалка.GetDateTime(5);
                     Комментарий = Читалка.GetString(6);
                     КраткийСоставДокумента = Читалка.GetString(8);
                     ОтчетныйПериод = Читалка.GetDateTime(11);
                     ПринятоВПФР = ((byte[])Читалка.GetValue(12))[0]==1;
                     НомерПачки = Читалка.GetString(13);
                     ФорматФайла = V82.Перечисления/*Ссылка*/.ФорматФайлаПФР.ПустаяСсылка.Получить((byte[])Читалка.GetValue(14));
                     ТипСведений = Читалка.GetString(15);
                     Год = Читалка.GetDecimal(16);
                     СпециальныйДокумент2010года = ((byte[])Читалка.GetValue(17))[0]==1;
                     НеСодержитСЗВ = ((byte[])Читалка.GetValue(18))[0]==1;
                     РасчетСтраховыхВзносов = new V82.ДокументыСсылка.РегламентированныйОтчет((byte[])Читалка.GetValue(19));
                     ЗаполненПринятымиСведениями = ((byte[])Читалка.GetValue(20))[0]==1;
                     УдалитьУплаченоЗаТекущийГодСтраховаяЧасть = Читалка.GetDecimal(21);
                     УдалитьНачисленоЗаТекущийГодДополнительныйТариф = Читалка.GetDecimal(22);
                     УдалитьУплаченоЗаТекущийГодДополнительныйТариф = Читалка.GetDecimal(23);
                     УдалитьУплаченоЗаТекущийГодНакопительнаяЧасть = Читалка.GetDecimal(24);
                     УдалитьНачисленоЗаТекущийГодСтраховаяЧасть = Читалка.GetDecimal(25);
                     УдалитьНачисленоЗаТекущийГодНакопительнаяЧасть = Читалка.GetDecimal(26);
                     //return Ссылка;
                 }
                 else
                 {
                     //return null;
                 }
             }
         }
     }
 }
 public static ДокументыВыборка.РегламентированныйОтчет ВыбратьПоСсылке(int Первые,Guid Мин,Guid Макс)
 {
     using (var Подключение = new SqlConnection(СтрокаСоединения))
     {
         Подключение.Open();
         using (var Команда = Подключение.CreateCommand())
         {
             Команда.CommandText = string.Format(@"Select top {0}
             _IDRRef [Ссылка]
             ,_Version [Версия]
             ,_Marked [ПометкаУдаления]
             ,_Fld11253 [ИсточникОтчета]
             ,_Fld11254 [НаименованиеОтчета]
             ,_Fld11255RRef [Организация]
             ,_Fld11256 [ДатаНачала]
             ,_Fld11257 [ДатаОкончания]
             ,_Fld11258 [ДатаПодписи]
             ,_Fld11259RRef [Периодичность]
             ,_Fld11260RRef [ЕдиницаИзмерения]
             ,_Fld11261 [ТочностьЕдиницыИзмерения]
             ,_Fld11262 [ВыбраннаяФорма]
             ,_Fld11263 [ДанныеОтчета]
             ,_Fld11264 [ДеревоНастройкиСтраниц]
             ,_Fld11265RRef [ВидОтчетности]
             ,_Fld11266 [Комментарий]
             ,_Fld11267 [КодИМНС]
             ,_Fld22670 [КодИМНСПосредника]
             ,_Fld11268 [ФорматВыгрузки]
             ,_Fld11269 [Вид]
             ,_Fld27288 [Период]
             ,_Fld27289 [КПП]
             From _Document441(NOLOCK)
             Where _IDRRef between @Мин and @Макс
             Order by _IDRRef", Первые);
             Команда.Parameters.AddWithValue("Мин", Мин);
             Команда.Parameters.AddWithValue("Макс", Макс);
             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;
                     Ссылка.ИсточникОтчета = Читалка.GetString(3);
                     Ссылка.НаименованиеОтчета = Читалка.GetString(4);
                     Ссылка.ДатаНачала = Читалка.GetDateTime(6);
                     Ссылка.ДатаОкончания = Читалка.GetDateTime(7);
                     Ссылка.ДатаПодписи = Читалка.GetDateTime(8);
                     Ссылка.Периодичность = V82.Перечисления/*Ссылка*/.Периодичность.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
                     Ссылка.ЕдиницаИзмерения = V82.Перечисления/*Ссылка*/.ПорядкиОкругленияОтчетности.ПустаяСсылка.Получить((byte[])Читалка.GetValue(10));
                     Ссылка.ТочностьЕдиницыИзмерения = Читалка.GetDecimal(11);
                     Ссылка.ВыбраннаяФорма = Читалка.GetString(12);
                     Ссылка.ВидОтчетности = V82.Перечисления/*Ссылка*/.ВидыОтчетности.ПустаяСсылка.Получить((byte[])Читалка.GetValue(15));
                     Ссылка.Комментарий = Читалка.GetString(16);
                     Ссылка.КодИМНС = Читалка.GetString(17);
                     Ссылка.КодИМНСПосредника = Читалка.GetString(18);
                     Ссылка.ФорматВыгрузки = Читалка.GetString(19);
                     Ссылка.Вид = Читалка.GetDecimal(20);
                     Ссылка.Период = Читалка.GetString(21);
                     Ссылка.КПП = Читалка.GetString(22);
                     Выборка.Add(Ссылка);
                 }
                     return Выборка;
             }
         }
     }
 }
 public static V82.ДокументыСсылка.РегламентированныйОтчет ВзятьИзКэша(byte[] УникальныйИдентификатор)
 {
     var УИ = new Guid(УникальныйИдентификатор);
     if (Кэш.ContainsKey(УИ))
     {
         return (V82.ДокументыСсылка.РегламентированныйОтчет)Кэш[УИ];
     }
     var Ссылка = new V82.ДокументыСсылка.РегламентированныйОтчет(УникальныйИдентификатор);
     Кэш.Add(УИ, Ссылка);
     return Ссылка;
 }