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

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

            Кэш.Add(УИ, Ссылка);
            return(Ссылка);
        }
Exemplo n.º 2
0
        public ПлатежноеПоручениеИсходящее(byte[] УникальныйИдентификатор)
        {
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    Команда.CommandText = @"Select top 1 
					_IDRRef [Ссылка]
					,_Version [Версия]
					,_Marked [ПометкаУдаления]
					,_Number [Номер]
					,_Fld8644_TYPE [ДокументОснование_Тип],_Fld8644_RRRef [ДокументОснование],_Fld8644_RTRef [ДокументОснование_Вид]
					,_Fld8655RRef [Организация]
					,_Fld8673RRef [СчетОрганизации]
					,_Fld8650RRef [Контрагент]
					,_Fld8641 [ДатаОплаты]
					,_Fld8672RRef [СчетКонтрагента]
					,_Fld8643RRef [ДоговорКонтрагента]
					,_Fld8640 [ВидПлатежа]
					,_Fld8660 [ОчередностьПлатежа]
					,_Fld8653 [НазначениеПлатежа]
					,_Fld8675 [ТекстПлательщика]
					,_Fld8638RRef [ВалютаДокумента]
					,_Fld8676 [ТекстПолучателя]
					,_Fld8649 [Комментарий]
					,_Fld8654 [Оплачено]
					,_Fld8645 [ИННПлательщика]
					,_Fld8651 [КПППлательщика]
					,_Fld8646 [ИННПолучателя]
					,_Fld8652 [КПППолучателя]
					,_Fld8656RRef [Ответственный]
					,_Fld8657 [ОтражатьВБухгалтерскомУчете]
					,_Fld8647 [КодБК]
					,_Fld8659 [ОтраженоВОперУчете]
					,_Fld8648 [КодОКАТО]
					,_Fld8661 [ПоказательДаты]
					,_Fld8662 [ПоказательНомера]
					,_Fld8663 [ПоказательОснования]
					,_Fld8664 [ПоказательПериода]
					,_Fld8665 [ПоказательТипа]
					,_Fld8666 [СтатусСоставителя]
					,_Fld8671 [СуммаДокумента]
					,_Fld8639RRef [ВидОперации]
					,_Fld8667RRef [СтатьяДвиженияДенежныхСредств]
					,_Fld8674RRef [СчетУчетаРасчетовСКонтрагентом]
					,_Fld8668RRef [СубконтоДт1]
					,_Fld8669RRef [СубконтоДт2]
					,_Fld8670RRef [СубконтоДт3]
					,_Fld8658 [ОтражатьВНалоговомУчете]
					,_Fld8677RRef [ФизЛицо]
					,_Fld8642RRef [ДоговорЗайма]
					,_Fld8637RRef [ВалютаВзаиморасчетовРаботника]
					,_Fld8678 [ЧастичнаяОплата]
					,_Fld8679 [Содержание_УСН]
					,_Fld8680 [Графа4_УСН]
					,_Fld8681 [Графа5_УСН]
					,_Fld8682 [Графа6_УСН]
					,_Fld8683 [Графа7_УСН]
					,_Fld8684 [ДоходыЕНВД_УСН]
					,_Fld8685 [РасходыЕНВД_УСН]
					,_Fld8686 [НДС_УСН]
					,_Fld8687 [РучнаяНастройка_УСН]
					,_Fld8688RRef [Подразделение]
					,_Fld8689RRef [СчетУчетаРасчетовСКонтрагентомНУ]
					,_Fld8690RRef [СубконтоНУДт1]
					,_Fld8691RRef [СубконтоНУДт2]
					,_Fld8692RRef [СубконтоНУДт3]
					,_Fld21841 [ДатаПогашенияАванса]
					,_Fld21842RRef [РасчетныйДокументРаботника]
					,_Fld27234 [УдалитьПеречислениеВБюджет]
					,_Fld27235RRef [УдалитьВидПеречисленияВБюджет]
					,_Fld27236 [ПеречислениеВБюджет]
					,_Fld27237RRef [ВидПеречисленияВБюджет]
					From _Document389(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(10);
                            ВидПлатежа                    = Читалка.GetString(13);
                            ОчередностьПлатежа            = Читалка.GetDecimal(14);
                            НазначениеПлатежа             = Читалка.GetString(15);
                            ТекстПлательщика              = Читалка.GetString(16);
                            ТекстПолучателя               = Читалка.GetString(18);
                            Комментарий                   = Читалка.GetString(19);
                            Оплачено                      = ((byte[])Читалка.GetValue(20))[0] == 1;
                            ИННПлательщика                = Читалка.GetString(21);
                            КПППлательщика                = Читалка.GetString(22);
                            ИННПолучателя                 = Читалка.GetString(23);
                            КПППолучателя                 = Читалка.GetString(24);
                            ОтражатьВБухгалтерскомУчете   = ((byte[])Читалка.GetValue(26))[0] == 1;
                            КодБК                         = Читалка.GetString(27);
                            ОтраженоВОперУчете            = ((byte[])Читалка.GetValue(28))[0] == 1;
                            КодОКАТО                      = Читалка.GetString(29);
                            ПоказательДаты                = Читалка.GetDateTime(30);
                            ПоказательНомера              = Читалка.GetString(31);
                            ПоказательОснования           = Читалка.GetString(32);
                            ПоказательПериода             = Читалка.GetString(33);
                            ПоказательТипа                = Читалка.GetString(34);
                            СтатусСоставителя             = Читалка.GetString(35);
                            СуммаДокумента                = Читалка.GetDecimal(36);
                            ВидОперации                   = V82.Перечисления /*Ссылка*/.ВидыОперацийППИсходящее.ПустаяСсылка.Получить((byte[])Читалка.GetValue(37));
                            ОтражатьВНалоговомУчете       = ((byte[])Читалка.GetValue(43))[0] == 1;
                            ДоговорЗайма                  = new V82.ДокументыСсылка.ДоговорЗаймаСРаботником((byte[])Читалка.GetValue(45));
                            ЧастичнаяОплата               = ((byte[])Читалка.GetValue(47))[0] == 1;
                            Содержание_УСН                = Читалка.GetString(48);
                            Графа4_УСН                    = Читалка.GetDecimal(49);
                            Графа5_УСН                    = Читалка.GetDecimal(50);
                            Графа6_УСН                    = Читалка.GetDecimal(51);
                            Графа7_УСН                    = Читалка.GetDecimal(52);
                            ДоходыЕНВД_УСН                = ((byte[])Читалка.GetValue(53))[0] == 1;
                            асходыЕНВД_УСН                = ((byte[])Читалка.GetValue(54))[0] == 1;
                            НДС_УСН                       = Читалка.GetDecimal(55);
                            учнаяНастройка_УСН            = ((byte[])Читалка.GetValue(56))[0] == 1;
                            ДатаПогашенияАванса           = Читалка.GetDateTime(62);
                            асчетныйДокументРаботника     = new V82.ДокументыСсылка.АвансовыйОтчет((byte[])Читалка.GetValue(63));
                            УдалитьПеречислениеВБюджет    = ((byte[])Читалка.GetValue(64))[0] == 1;
                            УдалитьВидПеречисленияВБюджет = V82.Перечисления /*Ссылка*/.УдалитьВидыПеречисленийВБюджет.ПустаяСсылка.Получить((byte[])Читалка.GetValue(65));
                            ПеречислениеВБюджет           = ((byte[])Читалка.GetValue(66))[0] == 1;
                            ВидПеречисленияВБюджет        = V82.Перечисления /*Ссылка*/.ВидыПеречисленийВБюджет.ПустаяСсылка.Получить((byte[])Читалка.GetValue(67));
                            //return Ссылка;
                        }
                        else
                        {
                            //return null;
                        }
                    }
                }
            }
        }
 public static V82.ДокументыСсылка.ДоговорЗаймаСРаботником ВзятьИзКэша(byte[] УникальныйИдентификатор)
 {
     var УИ = new Guid(УникальныйИдентификатор);
     if (Кэш.ContainsKey(УИ))
     {
         return (V82.ДокументыСсылка.ДоговорЗаймаСРаботником)Кэш[УИ];
     }
     var Ссылка = new V82.ДокументыСсылка.ДоговорЗаймаСРаботником(УникальныйИдентификатор);
     Кэш.Add(УИ, Ссылка);
     return Ссылка;
 }
 public static ДокументыВыборка.ДоговорЗаймаСРаботником ВыбратьПоНомеру(int Первые,string Мин,string Макс)
 {
     using (var Подключение = new SqlConnection(СтрокаСоединения))
     {
         Подключение.Open();
         using (var Команда = Подключение.CreateCommand())
         {
             Команда.CommandText = string.Format(@"Select top {0}
             _IDRRef [Ссылка]
             ,_Version [Версия]
             ,_Marked [ПометкаУдаления]
             ,_Fld4174RRef [ФизЛицо]
             ,_Fld4175 [СуммаЗайма]
             ,_Fld4176RRef [ВалютаДокумента]
             ,_Fld4177 [КурсДокумента]
             ,_Fld4178 [КратностьДокумента]
             ,_Fld4179 [ПроцентЗаПользованиеЗаймом]
             ,_Fld4180RRef [ПорядокПогашенияЗайма]
             ,_Fld4181 [СрокПогашения]
             ,_Fld4182 [НачалоПогашения]
             ,_Fld4183 [ОтражатьВУправленческомУчете]
             ,_Fld4184 [ОтражатьВБухгалтерскомУчете]
             ,_Fld4185RRef [Организация]
             ,_Fld4186 [НачислятьМатериальнуюВыгоду]
             ,_Fld4193RRef [СтавкаНалогообложенияРезидента]
             ,_Fld4187RRef [СчетУчетаПроцентовПоЗайму]
             ,_Fld4188 [Комментарий]
             ,_Fld4189RRef [Ответственный]
             ,_Fld4190RRef [Субконто1]
             ,_Fld4191RRef [Субконто2]
             ,_Fld4192RRef [Субконто3]
             ,_Fld26723 [ДанныеПрошлойВерсии]
             From _Document251(NOLOCK)
             Where _Code between @Мин and @Макс
             Order by _Code", Первые);
             Команда.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;
                     Ссылка.СуммаЗайма = Читалка.GetDecimal(4);
                     Ссылка.КурсДокумента = Читалка.GetDecimal(6);
                     Ссылка.КратностьДокумента = Читалка.GetDecimal(7);
                     Ссылка.ПроцентЗаПользованиеЗаймом = Читалка.GetDecimal(8);
                     Ссылка.ПорядокПогашенияЗайма = V82.Перечисления/*Ссылка*/.ПорядокПогашенияЗаймаПроцентов.ПустаяСсылка.Получить((byte[])Читалка.GetValue(9));
                     Ссылка.СрокПогашения = Читалка.GetDecimal(10);
                     Ссылка.НачалоПогашения = Читалка.GetDateTime(11);
                     Ссылка.ОтражатьВУправленческомУчете = ((byte[])Читалка.GetValue(12))[0]==1;
                     Ссылка.ОтражатьВБухгалтерскомУчете = ((byte[])Читалка.GetValue(13))[0]==1;
                     Ссылка.НачислятьМатериальнуюВыгоду = ((byte[])Читалка.GetValue(15))[0]==1;
                     Ссылка.СтавкаНалогообложенияРезидента = V82.Перечисления/*Ссылка*/.НДФЛСтавкиНалогообложенияРезидента.ПустаяСсылка.Получить((byte[])Читалка.GetValue(16));
                     Ссылка.Комментарий = Читалка.GetString(18);
                     Ссылка.ДанныеПрошлойВерсии = ((byte[])Читалка.GetValue(23))[0]==1;
                     Выборка.Add(Ссылка);
                 }
                     return Выборка;
             }
         }
     }
 }
 public ПлатежноеПоручениеИсходящее(byte[] УникальныйИдентификатор)
 {
     using (var Подключение = new SqlConnection(СтрокаСоединения))
     {
         Подключение.Open();
         using (var Команда = Подключение.CreateCommand())
         {
             Команда.CommandText = @"Select top 1
             _IDRRef [Ссылка]
             ,_Version [Версия]
             ,_Marked [ПометкаУдаления]
             ,_Number [Номер]
             ,_Fld8644_TYPE [ДокументОснование_Тип],_Fld8644_RRRef [ДокументОснование],_Fld8644_RTRef [ДокументОснование_Вид]
             ,_Fld8655RRef [Организация]
             ,_Fld8673RRef [СчетОрганизации]
             ,_Fld8650RRef [Контрагент]
             ,_Fld8641 [ДатаОплаты]
             ,_Fld8672RRef [СчетКонтрагента]
             ,_Fld8643RRef [ДоговорКонтрагента]
             ,_Fld8640 [ВидПлатежа]
             ,_Fld8660 [ОчередностьПлатежа]
             ,_Fld8653 [НазначениеПлатежа]
             ,_Fld8675 [ТекстПлательщика]
             ,_Fld8638RRef [ВалютаДокумента]
             ,_Fld8676 [ТекстПолучателя]
             ,_Fld8649 [Комментарий]
             ,_Fld8654 [Оплачено]
             ,_Fld8645 [ИННПлательщика]
             ,_Fld8651 [КПППлательщика]
             ,_Fld8646 [ИННПолучателя]
             ,_Fld8652 [КПППолучателя]
             ,_Fld8656RRef [Ответственный]
             ,_Fld8657 [ОтражатьВБухгалтерскомУчете]
             ,_Fld8647 [КодБК]
             ,_Fld8659 [ОтраженоВОперУчете]
             ,_Fld8648 [КодОКАТО]
             ,_Fld8661 [ПоказательДаты]
             ,_Fld8662 [ПоказательНомера]
             ,_Fld8663 [ПоказательОснования]
             ,_Fld8664 [ПоказательПериода]
             ,_Fld8665 [ПоказательТипа]
             ,_Fld8666 [СтатусСоставителя]
             ,_Fld8671 [СуммаДокумента]
             ,_Fld8639RRef [ВидОперации]
             ,_Fld8667RRef [СтатьяДвиженияДенежныхСредств]
             ,_Fld8674RRef [СчетУчетаРасчетовСКонтрагентом]
             ,_Fld8668RRef [СубконтоДт1]
             ,_Fld8669RRef [СубконтоДт2]
             ,_Fld8670RRef [СубконтоДт3]
             ,_Fld8658 [ОтражатьВНалоговомУчете]
             ,_Fld8677RRef [ФизЛицо]
             ,_Fld8642RRef [ДоговорЗайма]
             ,_Fld8637RRef [ВалютаВзаиморасчетовРаботника]
             ,_Fld8678 [ЧастичнаяОплата]
             ,_Fld8679 [Содержание_УСН]
             ,_Fld8680 [Графа4_УСН]
             ,_Fld8681 [Графа5_УСН]
             ,_Fld8682 [Графа6_УСН]
             ,_Fld8683 [Графа7_УСН]
             ,_Fld8684 [ДоходыЕНВД_УСН]
             ,_Fld8685 [РасходыЕНВД_УСН]
             ,_Fld8686 [НДС_УСН]
             ,_Fld8687 [РучнаяНастройка_УСН]
             ,_Fld8688RRef [Подразделение]
             ,_Fld8689RRef [СчетУчетаРасчетовСКонтрагентомНУ]
             ,_Fld8690RRef [СубконтоНУДт1]
             ,_Fld8691RRef [СубконтоНУДт2]
             ,_Fld8692RRef [СубконтоНУДт3]
             ,_Fld21841 [ДатаПогашенияАванса]
             ,_Fld21842RRef [РасчетныйДокументРаботника]
             ,_Fld27234 [УдалитьПеречислениеВБюджет]
             ,_Fld27235RRef [УдалитьВидПеречисленияВБюджет]
             ,_Fld27236 [ПеречислениеВБюджет]
             ,_Fld27237RRef [ВидПеречисленияВБюджет]
             From _Document389(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(10);
                     ВидПлатежа = Читалка.GetString(13);
                     ОчередностьПлатежа = Читалка.GetDecimal(14);
                     НазначениеПлатежа = Читалка.GetString(15);
                     ТекстПлательщика = Читалка.GetString(16);
                     ТекстПолучателя = Читалка.GetString(18);
                     Комментарий = Читалка.GetString(19);
                     Оплачено = ((byte[])Читалка.GetValue(20))[0]==1;
                     ИННПлательщика = Читалка.GetString(21);
                     КПППлательщика = Читалка.GetString(22);
                     ИННПолучателя = Читалка.GetString(23);
                     КПППолучателя = Читалка.GetString(24);
                     ОтражатьВБухгалтерскомУчете = ((byte[])Читалка.GetValue(26))[0]==1;
                     КодБК = Читалка.GetString(27);
                     ОтраженоВОперУчете = ((byte[])Читалка.GetValue(28))[0]==1;
                     КодОКАТО = Читалка.GetString(29);
                     ПоказательДаты = Читалка.GetDateTime(30);
                     ПоказательНомера = Читалка.GetString(31);
                     ПоказательОснования = Читалка.GetString(32);
                     ПоказательПериода = Читалка.GetString(33);
                     ПоказательТипа = Читалка.GetString(34);
                     СтатусСоставителя = Читалка.GetString(35);
                     СуммаДокумента = Читалка.GetDecimal(36);
                     ВидОперации = V82.Перечисления/*Ссылка*/.ВидыОперацийППИсходящее.ПустаяСсылка.Получить((byte[])Читалка.GetValue(37));
                     ОтражатьВНалоговомУчете = ((byte[])Читалка.GetValue(43))[0]==1;
                     ДоговорЗайма = new V82.ДокументыСсылка.ДоговорЗаймаСРаботником((byte[])Читалка.GetValue(45));
                     ЧастичнаяОплата = ((byte[])Читалка.GetValue(47))[0]==1;
                     Содержание_УСН = Читалка.GetString(48);
                     Графа4_УСН = Читалка.GetDecimal(49);
                     Графа5_УСН = Читалка.GetDecimal(50);
                     Графа6_УСН = Читалка.GetDecimal(51);
                     Графа7_УСН = Читалка.GetDecimal(52);
                     ДоходыЕНВД_УСН = ((byte[])Читалка.GetValue(53))[0]==1;
                     РасходыЕНВД_УСН = ((byte[])Читалка.GetValue(54))[0]==1;
                     НДС_УСН = Читалка.GetDecimal(55);
                     РучнаяНастройка_УСН = ((byte[])Читалка.GetValue(56))[0]==1;
                     ДатаПогашенияАванса = Читалка.GetDateTime(62);
                     РасчетныйДокументРаботника = new V82.ДокументыСсылка.АвансовыйОтчет((byte[])Читалка.GetValue(63));
                     УдалитьПеречислениеВБюджет = ((byte[])Читалка.GetValue(64))[0]==1;
                     УдалитьВидПеречисленияВБюджет = V82.Перечисления/*Ссылка*/.УдалитьВидыПеречисленийВБюджет.ПустаяСсылка.Получить((byte[])Читалка.GetValue(65));
                     ПеречислениеВБюджет = ((byte[])Читалка.GetValue(66))[0]==1;
                     ВидПеречисленияВБюджет = V82.Перечисления/*Ссылка*/.ВидыПеречисленийВБюджет.ПустаяСсылка.Получить((byte[])Читалка.GetValue(67));
                     //return Ссылка;
                 }
                 else
                 {
                     //return null;
                 }
             }
         }
     }
 }