public НачислениеПоБольничномуЛисту(byte[] УникальныйИдентификатор) { using (var Подключение = new SqlConnection(СтрокаСоединения)) { Подключение.Open(); using (var Команда = Подключение.CreateCommand()) { Команда.CommandText = @"Select top 1 _IDRRef [Ссылка] ,_Version [Версия] ,_Marked [ПометкаУдаления] ,_Number [Номер] ,_Fld6376 [ПериодРегистрации] ,_Fld6377RRef [Организация] ,_Fld6378 [Комментарий] ,_Fld6379RRef [Ответственный] ,_Fld21604RRef [Сотрудник] ,_Fld6380RRef [Физлицо] ,_Fld6382RRef [ПричинаНетрудоспособности] ,_Fld6383 [ПроцентОплаты] ,_Fld26875 [ЯвляетсяПродолжениемБолезни] ,_Fld6384RRef [ПервичныйБольничныйЛист] ,_Fld26876 [ДатаНачалаСобытия] ,_Fld6385 [ДатаНачала] ,_Fld26877 [ДатаНачалаОплаты] ,_Fld6386 [ДатаОкончания] ,_Fld18769 [ДатаНарушенияРежима] ,_Fld21605 [ПособиеОтражаетсяВРеглУчетеТекущимДокументом] ,_Fld6387RRef [ОграничениеПособия] ,_Fld6388 [НомерВходящегоДокумента] ,_Fld6389 [СерияВходящегоДокумента] ,_Fld6390RRef [ПерерассчитываемыйДокумент] ,_Fld18765RRef [ПричинаНетрудоспособностиПереходногоПериода] ,_Fld18766 [ПроцентОплатыПереходногоПериода] ,_Fld18767RRef [ОграничениеПособияПереходногоПериода] ,_Fld18768RRef [СлучайУходаЗаБольнымРебенкомПереходногоПериода] ,_Fld21606RRef [СтратегияОтраженияВУчете] ,_Fld6381RRef [УдалитьПриказ] ,_Fld21607 [ПодпадаетПодЕНВД] ,_Fld18763RRef [СлучайУходаЗаБольнымРебенком] ,_Fld18764 [ДнейОплаты] ,_Fld21608RRef [ВидРасчета] ,_Fld26878 [ДоплачиватьДоПолногоСреднегоЗаработка] ,_Fld26879RRef [ВидРасчетаДоплаты] ,_Fld26880 [ПериодРасчетаСреднегоЗаработкаНачало] ,_Fld26881 [ПериодРасчетаСреднегоЗаработкаОкончание] ,_Fld26882 [ПроцентОплатыБезЛьгот] ,_Fld26883RRef [ОграничениеПособияБезЛьгот] ,_Fld26884 [ПрименятьЛьготыПриНачисленииПособия] ,_Fld26885RRef [ВыплатаЗаСчетФедеральногоБюджета] ,_Fld26886RRef [ВидРасчетаЗаСчетРаботодателя] ,_Fld26887 [УчитыватьЗаработокПредыдущихСтрахователей] ,_Fld26888 [ДнейОплатыРаботодателем] ,_Fld26889 [НеВыплачиватьПособие] ,_Fld26890 [РасчетПоПравилам2010Года] ,_Fld26891 [УсловияИсчисленияКод1] ,_Fld26892 [УсловияИсчисленияКод2] ,_Fld26893 [УсловияИсчисленияКод3] ,_Fld26894 [СтажЛет] ,_Fld26895 [СтажМесяцев] ,_Fld26896 [СтажБезНестраховыхПериодовЛет] ,_Fld26897 [СтажБезНестраховыхПериодовСтажМесяцев] ,_Fld26898 [ПеречислятьПособиеПочтовымПереводом] ,_Fld26899RRef [Банк] ,_Fld26900 [НаименованиеБанка] ,_Fld26901 [БИКБанка] ,_Fld26902 [НомерЛицевогоСчета] ,_Fld26903 [АдресПочтовый] ,_Fld26904 [Фамилия] ,_Fld26905 [Имя] ,_Fld26906 [Отчество] ,_Fld26907RRef [ВидДокумента] ,_Fld26908 [СерияДокумента] ,_Fld26909 [НомерДокумента] ,_Fld26910 [ДатаВыдачиДокумента] ,_Fld26911 [ДатаДействияДокумента] ,_Fld26912 [ПериодПростояС] ,_Fld26913 [ПериодПростояПо] ,_Fld26914 [РасчетПособияИзТарифнойСтавки] ,_Fld26915RRef [ДолжностьУполномоченного] ,_Fld26916RRef [Уполномоченный] ,_Fld26917 [ПоставленаНаУчетВРанниеСрокиБеременности] ,_Fld26918 [ДатаВыдачиБольничного] ,_Fld26919 [КодПричиныНетрудоспособности] ,_Fld26920 [ДополнительныйКодПричиныНетрудоспособности] ,_Fld26921 [ВторойКодПричиныНетрудоспособности] ,_Fld26922 [ДатаИзмененияКодаПричиныНетрудоспособности] ,_Fld26923 [ДатаСправкиБеременной] ,_Fld26924 [ПериодНахожденияВСтационареСРебенкомС] ,_Fld26925 [ПериодНахожденияВСтационареСРебенкомПо] ,_Fld26926 [КодНарушенияРежима] ,_Fld26927 [ДатаРегистрацииДокументовМСЭ] ,_Fld26928 [УстановленаИзмененаГруппаИнвалидности] ,_Fld26929 [ДатаВыходаНаРаботу] ,_Fld26930 [ЯвляетсяДубликатом] ,_Fld26931 [АдресЛПУ] ,_Fld26932 [НаименованиеЛПУ] ,_Fld26933 [ОГРН_ЛПУ] ,_Fld26934 [НомерЛисткаПоОсновномуМестуРаботы] ,_Fld26935 [ДатаОкончанияПутевки] ,_Fld26936 [НомерПутевки] ,_Fld26937 [ОГРН_Санатория] ,_Fld26938 [НомерЛисткаПродолжения] ,_Fld26939 [ДатаНаправленияВБюроМСЭ] ,_Fld26940 [ДатаОсвидетельствованияМСЭ] ,_Fld26941 [НовыйСтатусНетрудопособного] ,_Fld26942 [ДатаНовыйСтатусНетрудопособного] ,_Fld26943 [КемВыданДокумент] ,_Fld26944 [ГруппаИнвалидности] ,_Fld26945 [КодПричиныПерерасчета] ,_Fld26946 [НДФЛсПособия] ,_Fld26947 [КоррСчетБанка] ,_Fld26948 [НомерСправкиБеременной] ,_Fld26949 [НаименованиеДокументаНаПроживание] ,_Fld26950 [СерияДокументаНаПроживание] ,_Fld26951 [НомерДокументаНаПроживание] ,_Fld26952 [ДатаВыдачиДокументаНаПроживание] ,_Fld26953 [АдресРегистрации] ,_Fld26954 [Телефон] ,_Fld26955 [ТарифнаяСтавкаОклад] ,_Fld26956 [СреднедневнойЗаработокНаПериодПростоя] ,_Fld26957 [ТелефонСоставителя] ,_Fld26958 [АдресПочтовыйКодПоКЛАДР] ,_Fld26959 [АдресРегистрацииКодПоКЛАДР] ,_Fld26960 [АдресЛПУКодПоКЛАДР] ,_Fld26961RRef [ЛПУ] ,_Fld26962 [НовыйПорядокРасчетаПособияПоМатеринствуПриИсправлении] From _Document323(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(4); Комментарий = Читалка.GetString(6); ПричинаНетрудоспособности = V82.Перечисления/*Ссылка*/.ПричиныНетрудоспособности.ПустаяСсылка.Получить((byte[])Читалка.GetValue(10)); ПроцентОплаты = Читалка.GetDecimal(11); ЯвляетсяПродолжениемБолезни = ((byte[])Читалка.GetValue(12))[0]==1; ПервичныйБольничныйЛист = new V82.ДокументыСсылка.НачислениеПоБольничномуЛисту((byte[])Читалка.GetValue(13)); ДатаНачалаСобытия = Читалка.GetDateTime(14); ДатаНачала = Читалка.GetDateTime(15); ДатаНачалаОплаты = Читалка.GetDateTime(16); ДатаОкончания = Читалка.GetDateTime(17); ДатаНарушенияРежима = Читалка.GetDateTime(18); ПособиеОтражаетсяВРеглУчетеТекущимДокументом = ((byte[])Читалка.GetValue(19))[0]==1; ОграничениеПособия = V82.Перечисления/*Ссылка*/.ВидыОграниченияПособия.ПустаяСсылка.Получить((byte[])Читалка.GetValue(20)); НомерВходящегоДокумента = Читалка.GetString(21); СерияВходящегоДокумента = Читалка.GetString(22); ПерерассчитываемыйДокумент = new V82.ДокументыСсылка.НачислениеПоБольничномуЛисту((byte[])Читалка.GetValue(23)); ПричинаНетрудоспособностиПереходногоПериода = V82.Перечисления/*Ссылка*/.ПричиныНетрудоспособности.ПустаяСсылка.Получить((byte[])Читалка.GetValue(24)); ПроцентОплатыПереходногоПериода = Читалка.GetDecimal(25); ОграничениеПособияПереходногоПериода = V82.Перечисления/*Ссылка*/.ВидыОграниченияПособия.ПустаяСсылка.Получить((byte[])Читалка.GetValue(26)); СлучайУходаЗаБольнымРебенкомПереходногоПериода = V82.Перечисления/*Ссылка*/.СлучаиУходаЗаБольнымиДетьми.ПустаяСсылка.Получить((byte[])Читалка.GetValue(27)); СтратегияОтраженияВУчете = V82.Перечисления/*Ссылка*/.СтратегииОтраженияВРеглУчетеНачислений.ПустаяСсылка.Получить((byte[])Читалка.GetValue(28)); УдалитьПриказ = new V82.ДокументыСсылка.ПриемНаРаботуВОрганизацию((byte[])Читалка.GetValue(29)); ПодпадаетПодЕНВД = Читалка.GetDecimal(30); СлучайУходаЗаБольнымРебенком = V82.Перечисления/*Ссылка*/.СлучаиУходаЗаБольнымиДетьми.ПустаяСсылка.Получить((byte[])Читалка.GetValue(31)); ДнейОплаты = Читалка.GetDecimal(32); ДоплачиватьДоПолногоСреднегоЗаработка = ((byte[])Читалка.GetValue(34))[0]==1; ПериодРасчетаСреднегоЗаработкаНачало = Читалка.GetDateTime(36); ПериодРасчетаСреднегоЗаработкаОкончание = Читалка.GetDateTime(37); ПроцентОплатыБезЛьгот = Читалка.GetDecimal(38); ОграничениеПособияБезЛьгот = V82.Перечисления/*Ссылка*/.ВидыОграниченияПособия.ПустаяСсылка.Получить((byte[])Читалка.GetValue(39)); ПрименятьЛьготыПриНачисленииПособия = ((byte[])Читалка.GetValue(40))[0]==1; ВыплатаЗаСчетФедеральногоБюджета = V82.Перечисления/*Ссылка*/.ВыплатыПособийЗаСчетФедеральногоБюджета.ПустаяСсылка.Получить((byte[])Читалка.GetValue(41)); УчитыватьЗаработокПредыдущихСтрахователей = ((byte[])Читалка.GetValue(43))[0]==1; ДнейОплатыРаботодателем = Читалка.GetDecimal(44); НеВыплачиватьПособие = ((byte[])Читалка.GetValue(45))[0]==1; РасчетПоПравилам2010Года = ((byte[])Читалка.GetValue(46))[0]==1; УсловияИсчисленияКод1 = Читалка.GetString(47); УсловияИсчисленияКод2 = Читалка.GetString(48); УсловияИсчисленияКод3 = Читалка.GetString(49); СтажЛет = Читалка.GetDecimal(50); СтажМесяцев = Читалка.GetDecimal(51); СтажБезНестраховыхПериодовЛет = Читалка.GetDecimal(52); СтажБезНестраховыхПериодовСтажМесяцев = Читалка.GetDecimal(53); ПеречислятьПособиеПочтовымПереводом = ((byte[])Читалка.GetValue(54))[0]==1; НаименованиеБанка = Читалка.GetString(56); БИКБанка = Читалка.GetString(57); НомерЛицевогоСчета = Читалка.GetString(58); АдресПочтовый = Читалка.GetString(59); Фамилия = Читалка.GetString(60); Имя = Читалка.GetString(61); Отчество = Читалка.GetString(62); СерияДокумента = Читалка.GetString(64); НомерДокумента = Читалка.GetString(65); ДатаВыдачиДокумента = Читалка.GetDateTime(66); ДатаДействияДокумента = Читалка.GetDateTime(67); ПериодПростояС = Читалка.GetDateTime(68); ПериодПростояПо = Читалка.GetDateTime(69); РасчетПособияИзТарифнойСтавки = ((byte[])Читалка.GetValue(70))[0]==1; ПоставленаНаУчетВРанниеСрокиБеременности = ((byte[])Читалка.GetValue(73))[0]==1; ДатаВыдачиБольничного = Читалка.GetDateTime(74); КодПричиныНетрудоспособности = Читалка.GetString(75); ДополнительныйКодПричиныНетрудоспособности = Читалка.GetString(76); ВторойКодПричиныНетрудоспособности = Читалка.GetString(77); ДатаИзмененияКодаПричиныНетрудоспособности = Читалка.GetDateTime(78); ДатаСправкиБеременной = Читалка.GetDateTime(79); ПериодНахожденияВСтационареСРебенкомС = Читалка.GetDateTime(80); ПериодНахожденияВСтационареСРебенкомПо = Читалка.GetDateTime(81); КодНарушенияРежима = Читалка.GetString(82); ДатаРегистрацииДокументовМСЭ = Читалка.GetDateTime(83); УстановленаИзмененаГруппаИнвалидности = ((byte[])Читалка.GetValue(84))[0]==1; ДатаВыходаНаРаботу = Читалка.GetDateTime(85); ЯвляетсяДубликатом = ((byte[])Читалка.GetValue(86))[0]==1; АдресЛПУ = Читалка.GetString(87); НаименованиеЛПУ = Читалка.GetString(88); ОГРН_ЛПУ = Читалка.GetString(89); НомерЛисткаПоОсновномуМестуРаботы = Читалка.GetString(90); ДатаОкончанияПутевки = Читалка.GetDateTime(91); НомерПутевки = Читалка.GetString(92); ОГРН_Санатория = Читалка.GetString(93); НомерЛисткаПродолжения = Читалка.GetString(94); ДатаНаправленияВБюроМСЭ = Читалка.GetDateTime(95); ДатаОсвидетельствованияМСЭ = Читалка.GetDateTime(96); НовыйСтатусНетрудопособного = Читалка.GetString(97); ДатаНовыйСтатусНетрудопособного = Читалка.GetDateTime(98); КемВыданДокумент = Читалка.GetString(99); ГруппаИнвалидности = Читалка.GetString(100); КодПричиныПерерасчета = Читалка.GetString(101); НДФЛсПособия = Читалка.GetDecimal(102); КоррСчетБанка = Читалка.GetString(103); НомерСправкиБеременной = Читалка.GetString(104); НаименованиеДокументаНаПроживание = Читалка.GetString(105); СерияДокументаНаПроживание = Читалка.GetString(106); НомерДокументаНаПроживание = Читалка.GetString(107); ДатаВыдачиДокументаНаПроживание = Читалка.GetDateTime(108); АдресРегистрации = Читалка.GetString(109); Телефон = Читалка.GetString(110); ТарифнаяСтавкаОклад = Читалка.GetDecimal(111); СреднедневнойЗаработокНаПериодПростоя = Читалка.GetDecimal(112); ТелефонСоставителя = Читалка.GetString(113); АдресПочтовыйКодПоКЛАДР = Читалка.GetString(114); АдресРегистрацииКодПоКЛАДР = Читалка.GetString(115); АдресЛПУКодПоКЛАДР = Читалка.GetString(116); НовыйПорядокРасчетаПособияПоМатеринствуПриИсправлении = ((byte[])Читалка.GetValue(118))[0]==1; //return Ссылка; } else { //return null; } } } } }
public static V82.ДокументыСсылка.НачислениеПоБольничномуЛисту ВзятьИзКэша(byte[] УникальныйИдентификатор) { var УИ = new Guid(УникальныйИдентификатор); if (Кэш.ContainsKey(УИ)) { return (V82.ДокументыСсылка.НачислениеПоБольничномуЛисту)Кэш[УИ]; } var Ссылка = new V82.ДокументыСсылка.НачислениеПоБольничномуЛисту(УникальныйИдентификатор); Кэш.Add(УИ, Ссылка); return Ссылка; }