V82.Справочники.Номенклатура.СтраницаПоСсылке C# (CSharp) Method

СтраницаПоСсылке() public static method

public static СтраницаПоСсылке ( int Размер, int Номер ) : СправочникиВыборка.Номенклатура
Размер int
Номер int
return СправочникиВыборка.Номенклатура
        public static СправочникиВыборка.Номенклатура СтраницаПоСсылке(int Размер,int Номер)
        {
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    Команда.CommandText = @"Select top 1000
                    _IDRRef [Ссылка]
                    ,_Version [Версия]
                    ,_Marked [ПометкаУдаления]
                    ,_IsMetadata [Предопределенный]
                    ,_ParentIDRRef [Родитель]
                    ,_Folder [ЭтоГруппа]
                    ,_Code [Код]
                    ,_Description [Наименование]
                    ,_Fld1421 [Артикул]
                    ,_Fld1437 [НаименованиеПолное]
                    ,_Fld1423 [Весовой]
                    ,_Fld1424 [ВесовойКоэффициентВхождения]
                    ,_Fld1425 [ВестиОперативныйУчетОстатковНЗП]
                    ,_Fld1426 [ВестиПартионныйУчетПоСериям]
                    ,_Fld1427 [ВестиУчетПоСериям]
                    ,_Fld1428 [ВестиУчетПоСериямВНЗП]
                    ,_Fld1429 [ВестиУчетПоХарактеристикам]
                    ,_Fld1430RRef [ВидВоспроизводства]
                    ,_Fld1431RRef [ВидНоменклатуры]
                    ,_Fld1432RRef [ЕдиницаДляОтчетов]
                    ,_Fld1433RRef [ЕдиницаХраненияОстатков]
                    ,_Fld1422RRef [БазоваяЕдиницаИзмерения]
                    ,_Fld1435 [Набор]
                    ,_Fld1436RRef [НазначениеИспользования]
                    ,_Fld1444RRef [СтавкаНДС]
                    ,_Fld1434 [Комментарий]
                    ,_Fld1439RRef [НоменклатурнаяГруппаЗатрат]
                    ,_Fld1449 [Услуга]
                    ,_Fld1441RRef [ОсновноеИзображение]
                    ,_Fld1442RRef [ОсновнойПоставщик]
                    ,_Fld1443RRef [ОтветственныйМенеджерЗаПокупки]
                    ,_Fld1438RRef [НоменклатурнаяГруппа]
                    ,_Fld1446RRef [СтранаПроисхождения]
                    ,_Fld1440RRef [НомерГТД]
                    ,_Fld1447 [ТребуетсяВнешняяСертификация]
                    ,_Fld1448 [ТребуетсяВнутренняяСертификация]
                    ,_Fld1445RRef [СтатьяЗатрат]
                    ,_Fld1450 [ВестиСерийныеНомера]
                    ,_Fld1451 [Комплект]
                    ,_Fld1452RRef [НаправлениеВыпуска]
                    ,_Fld1453RRef [НаправлениеСписанияВыпущеннойПродукции]
                    ,_Fld1454RRef [ПорядокПрисвоенияСерийногоНомера]
                    ,_Fld1455RRef [ЦеноваяГруппа]
                    ,_Fld1456RRef [ОКП]
                    ,_Fld18593RRef [ЕдиницаИзмеренияМест]
                    ,_Fld22975 [ДополнительноеОписаниеНоменклатуры]
                    ,_Fld26548RRef [Производитель]
                    ,_Fld26549RRef [Импортер]
                    From _Reference95(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;
                            Ссылка.Предопределенный = ((byte[])Читалка.GetValue(3))[0]==1;
                            Ссылка.Родитель = V82.СправочникиСсылка.Номенклатура.ВзятьИзКэша((byte[])Читалка.GetValue(4));
                            Ссылка.ЭтоГруппа = ((byte[])Читалка.GetValue(5))[0]==0;
                            Ссылка.Код = Читалка.GetString(6);
                            Ссылка.Наименование = Читалка.GetString(7);
                                Ссылка.ВидНоменклатуры = V82.СправочникиСсылка.ВидыНоменклатуры.ВзятьИзКэша((byte[])Читалка.GetValue(18));
                                Ссылка.ПорядокПрисвоенияСерийногоНомера = V82.СправочникиСсылка.ПорядокПрисвоенияСерийныхНомеров.ВзятьИзКэша((byte[])Читалка.GetValue(41));
                            if(!Ссылка.ЭтоГруппа)
                            {
                                Ссылка.Артикул = Читалка.GetString(8);
                                Ссылка.НаименованиеПолное = Читалка.GetString(9);
                                Ссылка.Весовой = ((byte[])Читалка.GetValue(10))[0]==1;
                                Ссылка.ВесовойКоэффициентВхождения = Читалка.GetDecimal(11);
                                Ссылка.ВестиОперативныйУчетОстатковНЗП = ((byte[])Читалка.GetValue(12))[0]==1;
                                Ссылка.ВестиПартионныйУчетПоСериям = ((byte[])Читалка.GetValue(13))[0]==1;
                                Ссылка.ВестиУчетПоСериям = ((byte[])Читалка.GetValue(14))[0]==1;
                                Ссылка.ВестиУчетПоСериямВНЗП = ((byte[])Читалка.GetValue(15))[0]==1;
                                Ссылка.ВестиУчетПоХарактеристикам = ((byte[])Читалка.GetValue(16))[0]==1;
                                Ссылка.ВидВоспроизводства = V82.Перечисления/*Ссылка*/.ВидыВоспроизводстваНоменклатуры.ПустаяСсылка.Получить((byte[])Читалка.GetValue(17));
                                Ссылка.ЕдиницаДляОтчетов = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(19));
                                Ссылка.ЕдиницаХраненияОстатков = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(20));
                                Ссылка.БазоваяЕдиницаИзмерения = V82.СправочникиСсылка.КлассификаторЕдиницИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(21));
                                Ссылка.Набор = ((byte[])Читалка.GetValue(22))[0]==1;
                                Ссылка.НазначениеИспользования = V82.СправочникиСсылка.НазначенияИспользования.ВзятьИзКэша((byte[])Читалка.GetValue(23));
                                Ссылка.СтавкаНДС = V82.Перечисления/*Ссылка*/.СтавкиНДС.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24));
                                Ссылка.Комментарий = Читалка.GetString(25);
                                Ссылка.НоменклатурнаяГруппаЗатрат = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(26));
                                Ссылка.Услуга = ((byte[])Читалка.GetValue(27))[0]==1;
                                Ссылка.ОсновноеИзображение = V82.СправочникиСсылка.ХранилищеДополнительнойИнформации.ВзятьИзКэша((byte[])Читалка.GetValue(28));
                                Ссылка.ОсновнойПоставщик = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(29));
                                Ссылка.ОтветственныйМенеджерЗаПокупки = V82.СправочникиСсылка.Пользователи.ВзятьИзКэша((byte[])Читалка.GetValue(30));
                                Ссылка.НоменклатурнаяГруппа = V82.СправочникиСсылка.НоменклатурныеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(31));
                                Ссылка.СтранаПроисхождения = V82.СправочникиСсылка.КлассификаторСтранМира.ВзятьИзКэша((byte[])Читалка.GetValue(32));
                                Ссылка.НомерГТД = V82.СправочникиСсылка.НомераГТД.ВзятьИзКэша((byte[])Читалка.GetValue(33));
                                Ссылка.ТребуетсяВнешняяСертификация = ((byte[])Читалка.GetValue(34))[0]==1;
                                Ссылка.ТребуетсяВнутренняяСертификация = ((byte[])Читалка.GetValue(35))[0]==1;
                                Ссылка.СтатьяЗатрат = V82.СправочникиСсылка.СтатьиЗатрат.ВзятьИзКэша((byte[])Читалка.GetValue(36));
                                Ссылка.ВестиСерийныеНомера = ((byte[])Читалка.GetValue(37))[0]==1;
                                Ссылка.Комплект = ((byte[])Читалка.GetValue(38))[0]==1;
                                Ссылка.НаправлениеВыпуска = V82.Перечисления/*Ссылка*/.НаправленияВыпуска.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39));
                                Ссылка.НаправлениеСписанияВыпущеннойПродукции = V82.СправочникиСсылка.НаправленияСписанияВыпущеннойПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(40));
                                Ссылка.ЦеноваяГруппа = V82.СправочникиСсылка.ЦеновыеГруппы.ВзятьИзКэша((byte[])Читалка.GetValue(42));
                                Ссылка.ОКП = V82.СправочникиСсылка.ОбщероссийскийКлассификаторПродукции.ВзятьИзКэша((byte[])Читалка.GetValue(43));
                                Ссылка.ЕдиницаИзмеренияМест = V82.СправочникиСсылка.ЕдиницыИзмерения.ВзятьИзКэша((byte[])Читалка.GetValue(44));
                                Ссылка.ДополнительноеОписаниеНоменклатуры = Читалка.GetString(45);
                                Ссылка.Производитель = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(46));
                                Ссылка.Импортер = V82.СправочникиСсылка.Контрагенты.ВзятьИзКэша((byte[])Читалка.GetValue(47));
                            }
                            Выборка.Add(Ссылка);
                        }
                            return Выборка;
                    }
                }
            }
        }