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 Выборка;
}
}
}
}