Exemplo n.º 1
0
        }                                                                         //Тип цен
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document235(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld3609RRef
						,_Fld3610RRef
						,_Fld3611RRef
						,_Fld3612RRef
						,_Fld3614
						,_Fld3615RRef
						,_Fld3616
						,_Fld3617
						,_Fld3619RRef
						,_Fld3620RRef
						,_Fld3621
						,_Fld3622
						,_Fld3623
						,_Fld3626
						,_Fld3627RRef
						,_Fld3628RRef)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@ВалютаДокумента
						,@ВидОперации
						,@ВидПоступления
						,@ДоговорКонтрагента
						,@Комментарий
						,@Контрагент
						,@КратностьВзаиморасчетов
						,@КурсВзаиморасчетов
						,@Организация
						,@Ответственный
						,@ОтражатьВБухгалтерскомУчете
						,@ОтражатьВНалоговомУчете
						,@ОтражатьВУправленческомУчете
						,@СуммаДокумента
						,@СчетУчетаРасчетовПоТаре
						,@ТипЦен)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document235
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld3609RRef	= @ВалютаДокумента
						,_Fld3610RRef	= @ВидОперации
						,_Fld3611RRef	= @ВидПоступления
						,_Fld3612RRef	= @ДоговорКонтрагента
						,_Fld3614	= @Комментарий
						,_Fld3615RRef	= @Контрагент
						,_Fld3616	= @КратностьВзаиморасчетов
						,_Fld3617	= @КурсВзаиморасчетов
						,_Fld3619RRef	= @Организация
						,_Fld3620RRef	= @Ответственный
						,_Fld3621	= @ОтражатьВБухгалтерскомУчете
						,_Fld3622	= @ОтражатьВНалоговомУчете
						,_Fld3623	= @ОтражатьВУправленческомУчете
						,_Fld3626	= @СуммаДокумента
						,_Fld3627RRef	= @СчетУчетаРасчетовПоТаре
						,_Fld3628RRef	= @ТипЦен
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("ВидОперации", ВидОперации.Ключ());
                    Команда.Parameters.AddWithValue("ВидПоступления", ВидПоступления.Ключ());
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("КратностьВзаиморасчетов", КратностьВзаиморасчетов);
                    Команда.Parameters.AddWithValue("КурсВзаиморасчетов", КурсВзаиморасчетов);
                    Команда.Parameters.AddWithValue("ОтражатьВБухгалтерскомУчете", ОтражатьВБухгалтерскомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВНалоговомУчете", ОтражатьВНалоговомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВУправленческомУчете", ОтражатьВУправленческомУчете);
                    Команда.Parameters.AddWithValue("СуммаДокумента", СуммаДокумента);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоТаре", Guid.Empty);
                    Команда.ExecuteNonQuery();
                }
            }
        }
        }                                                                          //Дата входящего документа электронного обмена
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document236(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld3667RRef
						,_Fld3661
						,_Fld3662
						,_Fld3660RRef
						,_Fld3672RRef
						,_Fld3676
						,_Fld3671RRef
						,_Fld3677
						,_Fld3674
						,_Fld3664RRef
						,_Fld3678RRef
						,_Fld3663
						,_Fld18947
						,_Fld18948
						,_Fld3675RRef
						,_Fld3669
						,_Fld3670
						,_Fld3679RRef
						,_Fld18949RRef
						,_Fld3681RRef
						,_Fld3682RRef
						,_Fld3684RRef
						,_Fld3685RRef
						,_Fld3680RRef
						,_Fld3666RRef
						,_Fld3668
						,_Fld21409
						,_Fld21410)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@ВалютаДокумента
						,@ОтражатьВУправленческомУчете
						,@ОтражатьВБухгалтерскомУчете
						,@ВидОперации
						,@ДоговорКонтрагента
						,@Комментарий
						,@Контрагент
						,@КратностьВзаиморасчетов
						,@КурсВзаиморасчетов
						,@Организация
						,@Ответственный
						,@ОтражатьВНалоговомУчете
						,@ОтразитьВКнигеПокупок
						,@ПокупателемВыставляетсяСчетФактураНаВозврат
						,@Подразделение
						,@СуммаВключаетНДС
						,@СуммаДокумента
						,@ВидПоступления
						,@СчетУчетаНДС
						,@СчетУчетаРасчетовПоАвансам
						,@СчетУчетаРасчетовПоТаре
						,@УсловиеПродаж
						,@ДисконтнаяКарта
						,@СчетУчетаРасчетовСКонтрагентом
						,@ТипЦен
						,@УчитыватьНДС
						,@НомерВходящегоДокументаЭлектронногоОбмена
						,@ДатаВходящегоДокументаЭлектронногоОбмена)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document236
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld3667RRef	= @ВалютаДокумента
						,_Fld3661	= @ОтражатьВУправленческомУчете
						,_Fld3662	= @ОтражатьВБухгалтерскомУчете
						,_Fld3660RRef	= @ВидОперации
						,_Fld3672RRef	= @ДоговорКонтрагента
						,_Fld3676	= @Комментарий
						,_Fld3671RRef	= @Контрагент
						,_Fld3677	= @КратностьВзаиморасчетов
						,_Fld3674	= @КурсВзаиморасчетов
						,_Fld3664RRef	= @Организация
						,_Fld3678RRef	= @Ответственный
						,_Fld3663	= @ОтражатьВНалоговомУчете
						,_Fld18947	= @ОтразитьВКнигеПокупок
						,_Fld18948	= @ПокупателемВыставляетсяСчетФактураНаВозврат
						,_Fld3675RRef	= @Подразделение
						,_Fld3669	= @СуммаВключаетНДС
						,_Fld3670	= @СуммаДокумента
						,_Fld3679RRef	= @ВидПоступления
						,_Fld18949RRef	= @СчетУчетаНДС
						,_Fld3681RRef	= @СчетУчетаРасчетовПоАвансам
						,_Fld3682RRef	= @СчетУчетаРасчетовПоТаре
						,_Fld3684RRef	= @УсловиеПродаж
						,_Fld3685RRef	= @ДисконтнаяКарта
						,_Fld3680RRef	= @СчетУчетаРасчетовСКонтрагентом
						,_Fld3666RRef	= @ТипЦен
						,_Fld3668	= @УчитыватьНДС
						,_Fld21409	= @НомерВходящегоДокументаЭлектронногоОбмена
						,_Fld21410	= @ДатаВходящегоДокументаЭлектронногоОбмена
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("ОтражатьВУправленческомУчете", ОтражатьВУправленческомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВБухгалтерскомУчете", ОтражатьВБухгалтерскомУчете);
                    Команда.Parameters.AddWithValue("ВидОперации", ВидОперации.Ключ());
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("КратностьВзаиморасчетов", КратностьВзаиморасчетов);
                    Команда.Parameters.AddWithValue("КурсВзаиморасчетов", КурсВзаиморасчетов);
                    Команда.Parameters.AddWithValue("ОтражатьВНалоговомУчете", ОтражатьВНалоговомУчете);
                    Команда.Parameters.AddWithValue("ОтразитьВКнигеПокупок", ОтразитьВКнигеПокупок);
                    Команда.Parameters.AddWithValue("ПокупателемВыставляетсяСчетФактураНаВозврат", ПокупателемВыставляетсяСчетФактураНаВозврат);
                    Команда.Parameters.AddWithValue("СуммаВключаетНДС", СуммаВключаетНДС);
                    Команда.Parameters.AddWithValue("СуммаДокумента", СуммаДокумента);
                    Команда.Parameters.AddWithValue("ВидПоступления", ВидПоступления.Ключ());
                    Команда.Parameters.AddWithValue("СчетУчетаНДС", Guid.Empty);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоАвансам", Guid.Empty);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоТаре", Guid.Empty);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовСКонтрагентом", Guid.Empty);
                    Команда.Parameters.AddWithValue("УчитыватьНДС", УчитыватьНДС);
                    Команда.Parameters.AddWithValue("НомерВходящегоДокументаЭлектронногоОбмена", НомерВходящегоДокументаЭлектронногоОбмена);
                    Команда.Parameters.AddWithValue("ДатаВходящегоДокументаЭлектронногоОбмена", ДатаВходящегоДокументаЭлектронногоОбмена);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Exemplo n.º 3
0
        }                                                                  //Склад отходов
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document404(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld9417
						,_Fld9418
						,_Fld9419RRef
						,_Fld9420
						,_Fld9421RRef
						,_Fld9422RRef
						,_Fld9423RRef
						,_Fld9424
						,_Fld9425RRef
						,_Fld9426
						,_Fld9427
						,_Fld9428
						,_Fld9429RRef
						,_Fld9430RRef
						,_Fld9431
						,_Fld9432
						,_Fld9433
						,_Fld9434RRef
						,_Fld9435RRef
						,_Fld9437RRef
						,_Fld9438
						,_Fld9439RRef
						,_Fld9440RRef
						,_Fld9441
						,_Fld9442
						,_Fld9443
						,_Fld9444
						,_Fld9445
						,_Fld9446
						,_Fld9447RRef)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@АвтораспределениеМатериалов
						,@АвтораспределениеПрочихЗатрат
						,@ВалютаДокумента
						,@ВводитьСтатьиЗатратПоСтрокам
						,@ВидПоступления
						,@ДоговорКонтрагента
						,@Заказ
						,@Комментарий
						,@Контрагент
						,@КратностьВзаиморасчетов
						,@КурсВзаиморасчетов
						,@НДСВключенВСтоимость
						,@Организация
						,@Ответственный
						,@ОтражатьВБухгалтерскомУчете
						,@ОтражатьВНалоговомУчете
						,@ОтражатьВУправленческомУчете
						,@Подразделение
						,@ПодразделениеОрганизации
						,@СтатьяЗатрат
						,@СуммаВключаетНДС
						,@СчетУчетаРасчетовПоТаре
						,@ТипЦен
						,@УчитыватьНДС
						,@ИспользоватьЗаказы
						,@ИспользоватьМатериалы
						,@ИспользоватьПрочиеЗатраты
						,@АвтораспределениеВозвратныхОтходов
						,@ИспользоватьВозвратныеОтходы
						,@СкладОтходов)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document404
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld9417	= @АвтораспределениеМатериалов
						,_Fld9418	= @АвтораспределениеПрочихЗатрат
						,_Fld9419RRef	= @ВалютаДокумента
						,_Fld9420	= @ВводитьСтатьиЗатратПоСтрокам
						,_Fld9421RRef	= @ВидПоступления
						,_Fld9422RRef	= @ДоговорКонтрагента
						,_Fld9423RRef	= @Заказ
						,_Fld9424	= @Комментарий
						,_Fld9425RRef	= @Контрагент
						,_Fld9426	= @КратностьВзаиморасчетов
						,_Fld9427	= @КурсВзаиморасчетов
						,_Fld9428	= @НДСВключенВСтоимость
						,_Fld9429RRef	= @Организация
						,_Fld9430RRef	= @Ответственный
						,_Fld9431	= @ОтражатьВБухгалтерскомУчете
						,_Fld9432	= @ОтражатьВНалоговомУчете
						,_Fld9433	= @ОтражатьВУправленческомУчете
						,_Fld9434RRef	= @Подразделение
						,_Fld9435RRef	= @ПодразделениеОрганизации
						,_Fld9437RRef	= @СтатьяЗатрат
						,_Fld9438	= @СуммаВключаетНДС
						,_Fld9439RRef	= @СчетУчетаРасчетовПоТаре
						,_Fld9440RRef	= @ТипЦен
						,_Fld9441	= @УчитыватьНДС
						,_Fld9442	= @ИспользоватьЗаказы
						,_Fld9443	= @ИспользоватьМатериалы
						,_Fld9444	= @ИспользоватьПрочиеЗатраты
						,_Fld9445	= @АвтораспределениеВозвратныхОтходов
						,_Fld9446	= @ИспользоватьВозвратныеОтходы
						,_Fld9447RRef	= @СкладОтходов
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("АвтораспределениеМатериалов", АвтораспределениеМатериалов);
                    Команда.Parameters.AddWithValue("АвтораспределениеПрочихЗатрат", АвтораспределениеПрочихЗатрат);
                    Команда.Parameters.AddWithValue("ВводитьСтатьиЗатратПоСтрокам", ВводитьСтатьиЗатратПоСтрокам);
                    Команда.Parameters.AddWithValue("ВидПоступления", ВидПоступления.Ключ());
                    Команда.Parameters.AddWithValue("Заказ", Заказ.Ссылка);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("КратностьВзаиморасчетов", КратностьВзаиморасчетов);
                    Команда.Parameters.AddWithValue("КурсВзаиморасчетов", КурсВзаиморасчетов);
                    Команда.Parameters.AddWithValue("НДСВключенВСтоимость", НДСВключенВСтоимость);
                    Команда.Parameters.AddWithValue("ОтражатьВБухгалтерскомУчете", ОтражатьВБухгалтерскомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВНалоговомУчете", ОтражатьВНалоговомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВУправленческомУчете", ОтражатьВУправленческомУчете);
                    Команда.Parameters.AddWithValue("СуммаВключаетНДС", СуммаВключаетНДС);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоТаре", Guid.Empty);
                    Команда.Parameters.AddWithValue("УчитыватьНДС", УчитыватьНДС);
                    Команда.Parameters.AddWithValue("ИспользоватьЗаказы", ИспользоватьЗаказы);
                    Команда.Parameters.AddWithValue("ИспользоватьМатериалы", ИспользоватьМатериалы);
                    Команда.Parameters.AddWithValue("ИспользоватьПрочиеЗатраты", ИспользоватьПрочиеЗатраты);
                    Команда.Parameters.AddWithValue("АвтораспределениеВозвратныхОтходов", АвтораспределениеВозвратныхОтходов);
                    Команда.Parameters.AddWithValue("ИспользоватьВозвратныеОтходы", ИспользоватьВозвратныеОтходы);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Exemplo n.º 4
0
        }                                                                          //Дата входящего документа электронного обмена
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document405(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld9609RRef
						,_Fld9599RRef
						,_Fld9600RRef
						,_Fld9601
						,_Fld9602RRef
						,_Fld9626RRef
						,_Fld9598RRef
						,_Fld9604RRef
						,_Fld9605
						,_Fld9606
						,_Fld9607
						,_Fld9608
						,_Fld9620
						,_Fld9610RRef
						,_Fld9611
						,_Fld9612
						,_Fld9613
						,_Fld9615RRef
						,_Fld9614RRef
						,_Fld9616
						,_Fld9619
						,_Fld9603
						,_Fld9621RRef
						,_Fld9622RRef
						,_Fld9623RRef
						,_Fld9624RRef
						,_Fld9625
						,_Fld9628RRef
						,_Fld9629RRef
						,_Fld9630RRef
						,_Fld21860
						,_Fld21861)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@Организация
						,@ВидОперации
						,@ВидПоступления
						,@ДатаВходящегоДокумента
						,@ДоговорКонтрагента
						,@БанковскийСчетКонтрагента
						,@ВалютаДокумента
						,@Контрагент
						,@КратностьВзаиморасчетов
						,@КурсВзаиморасчетов
						,@НДСВключенВСтоимость
						,@НомерВходящегоДокумента
						,@СуммаДокумента
						,@Ответственный
						,@ОтражатьВБухгалтерскомУчете
						,@ОтражатьВНалоговомУчете
						,@ОтражатьВУправленческомУчете
						,@ПодразделениеОрганизации
						,@Подразделение
						,@РегистрироватьЦеныПоставщика
						,@СуммаВключаетНДС
						,@Комментарий
						,@СчетУчетаРасчетовПоАвансам
						,@СчетУчетаРасчетовПоТаре
						,@СчетУчетаРасчетовСКонтрагентом
						,@ТипЦен
						,@УчитыватьНДС
						,@УсловиеПродаж
						,@Грузоотправитель
						,@Грузополучатель
						,@НомерВходящегоДокументаЭлектронногоОбмена
						,@ДатаВходящегоДокументаЭлектронногоОбмена)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document405
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld9609RRef	= @Организация
						,_Fld9599RRef	= @ВидОперации
						,_Fld9600RRef	= @ВидПоступления
						,_Fld9601	= @ДатаВходящегоДокумента
						,_Fld9602RRef	= @ДоговорКонтрагента
						,_Fld9626RRef	= @БанковскийСчетКонтрагента
						,_Fld9598RRef	= @ВалютаДокумента
						,_Fld9604RRef	= @Контрагент
						,_Fld9605	= @КратностьВзаиморасчетов
						,_Fld9606	= @КурсВзаиморасчетов
						,_Fld9607	= @НДСВключенВСтоимость
						,_Fld9608	= @НомерВходящегоДокумента
						,_Fld9620	= @СуммаДокумента
						,_Fld9610RRef	= @Ответственный
						,_Fld9611	= @ОтражатьВБухгалтерскомУчете
						,_Fld9612	= @ОтражатьВНалоговомУчете
						,_Fld9613	= @ОтражатьВУправленческомУчете
						,_Fld9615RRef	= @ПодразделениеОрганизации
						,_Fld9614RRef	= @Подразделение
						,_Fld9616	= @РегистрироватьЦеныПоставщика
						,_Fld9619	= @СуммаВключаетНДС
						,_Fld9603	= @Комментарий
						,_Fld9621RRef	= @СчетУчетаРасчетовПоАвансам
						,_Fld9622RRef	= @СчетУчетаРасчетовПоТаре
						,_Fld9623RRef	= @СчетУчетаРасчетовСКонтрагентом
						,_Fld9624RRef	= @ТипЦен
						,_Fld9625	= @УчитыватьНДС
						,_Fld9628RRef	= @УсловиеПродаж
						,_Fld9629RRef	= @Грузоотправитель
						,_Fld9630RRef	= @Грузополучатель
						,_Fld21860	= @НомерВходящегоДокументаЭлектронногоОбмена
						,_Fld21861	= @ДатаВходящегоДокументаЭлектронногоОбмена
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("ВидОперации", ВидОперации.Ключ());
                    Команда.Parameters.AddWithValue("ВидПоступления", ВидПоступления.Ключ());
                    Команда.Parameters.AddWithValue("ДатаВходящегоДокумента", ДатаВходящегоДокумента);
                    Команда.Parameters.AddWithValue("КратностьВзаиморасчетов", КратностьВзаиморасчетов);
                    Команда.Parameters.AddWithValue("КурсВзаиморасчетов", КурсВзаиморасчетов);
                    Команда.Parameters.AddWithValue("НДСВключенВСтоимость", НДСВключенВСтоимость);
                    Команда.Parameters.AddWithValue("НомерВходящегоДокумента", НомерВходящегоДокумента);
                    Команда.Parameters.AddWithValue("СуммаДокумента", СуммаДокумента);
                    Команда.Parameters.AddWithValue("ОтражатьВБухгалтерскомУчете", ОтражатьВБухгалтерскомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВНалоговомУчете", ОтражатьВНалоговомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВУправленческомУчете", ОтражатьВУправленческомУчете);
                    Команда.Parameters.AddWithValue("РегистрироватьЦеныПоставщика", егистрироватьЦеныПоставщика);
                    Команда.Parameters.AddWithValue("СуммаВключаетНДС", СуммаВключаетНДС);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоАвансам", Guid.Empty);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовПоТаре", Guid.Empty);
                    Команда.Parameters.AddWithValue("СчетУчетаРасчетовСКонтрагентом", Guid.Empty);
                    Команда.Parameters.AddWithValue("УчитыватьНДС", УчитыватьНДС);
                    Команда.Parameters.AddWithValue("НомерВходящегоДокументаЭлектронногоОбмена", НомерВходящегоДокументаЭлектронногоОбмена);
                    Команда.Parameters.AddWithValue("ДатаВходящегоДокументаЭлектронногоОбмена", ДатаВходящегоДокументаЭлектронногоОбмена);
                    Команда.ExecuteNonQuery();
                }
            }
        }
Exemplo n.º 5
0
        }                                                       //Количество листов
        public void Записать()
        {
            //Установка блокировки элемента на горизантально масштабированный кластер.
            //Опционально введение тайм аута на запись одного и того же объекта, не чаще раза в 5-секунд. Защита от спама. упращение алгоритма блокировки.
            //Выделение сервиса для блокировки элемента и генерации кода
            //Выполнение операций контроля без обращений к sql-серверу.
            //Контроль конфликта блокировок.
            //Контроль загрузки булкинсертом гетерогенной коллекции.
            //Контроль уникальности кода для Документов.
            //Контроль уникальности номера для документов, в границах префикса.
            //Контроль владельца, он не может быть группой.
            //Контроль владельца он должен быть задан.
            //Контроль родителя он должен быть группой.
            //Контроль количества уровней, должен соотвествовать метаданным.
            //Контроль версии, объект не должен был быть записан перед чтением текущей записи, алгоритм версионника.
            //Контроль уникальности ссылки
            //Контроль зацикливания
            //Опционально контроль битых ссылок.
            //Соблюдейние транзакционности. ПередЗаписью. Открытие транзации. Валидации. ПриЗаписи. Фиксация транзакции. Информирование о записи элемента.
            using (var Подключение = new SqlConnection(СтрокаСоединения))
            {
                Подключение.Open();
                using (var Команда = Подключение.CreateCommand())
                {
                    if (_ЭтоНовый)
                    {
                        Команда.CommandText = @"
						Insert Into _Document202(
						_IDRRef
						/*,_Version*/
						,_Marked
						,_IsMetadata
						,_Number
						,_Fld2295RRef
						,_Fld2296
						,_Fld2297
						,_Fld2298
						,_Fld2299RRef
						,_Fld2300
						,_Fld2301
						,_Fld2302
						,_Fld2303RRef
						,_Fld2305
						,_Fld2306
						,_Fld2307RRef
						,_Fld2308
						,_Fld2309RRef
						,_Fld2310RRef
						,_Fld2311RRef
						,_Fld2312
						,_Fld2313
						,_Fld18929
						,_Fld18930)
						Values(
						@Ссылка
						/*,@Версия*/
						,@ПометкаУдаления
						,@Номер
						,@ВалютаДокумента
						,@Комментарий
						,@КурсДокумента
						,@КратностьДокумента
						,@Организация
						,@ОтражатьВУправленческомУчете
						,@ОтражатьВБухгалтерскомУчете
						,@ОтражатьВНалоговомУчете
						,@Подразделение
						,@СуммаВключаетНДС
						,@СуммаДокумента
						,@ТипЦен
						,@УчитыватьНДС
						,@ФизЛицо
						,@Ответственный
						,@ВидПоступления
						,@НДСВключенВСтоимость
						,@НазначениеАванса
						,@КоличествоДокументов
						,@КоличествоЛистов)"                        ;
                    }
                    else
                    {
                        Команда.CommandText = @"
						Update _Document202
						Set
						/*_IDRRef	= @Ссылка*/
						/*,_Version	= @Версия*/
						_Marked	= @ПометкаУдаления
						,_Number	= @Номер
						,_Fld2295RRef	= @ВалютаДокумента
						,_Fld2296	= @Комментарий
						,_Fld2297	= @КурсДокумента
						,_Fld2298	= @КратностьДокумента
						,_Fld2299RRef	= @Организация
						,_Fld2300	= @ОтражатьВУправленческомУчете
						,_Fld2301	= @ОтражатьВБухгалтерскомУчете
						,_Fld2302	= @ОтражатьВНалоговомУчете
						,_Fld2303RRef	= @Подразделение
						,_Fld2305	= @СуммаВключаетНДС
						,_Fld2306	= @СуммаДокумента
						,_Fld2307RRef	= @ТипЦен
						,_Fld2308	= @УчитыватьНДС
						,_Fld2309RRef	= @ФизЛицо
						,_Fld2310RRef	= @Ответственный
						,_Fld2311RRef	= @ВидПоступления
						,_Fld2312	= @НДСВключенВСтоимость
						,_Fld2313	= @НазначениеАванса
						,_Fld18929	= @КоличествоДокументов
						,_Fld18930	= @КоличествоЛистов
						Where _IDRRef = @Ссылка"                        ;
                    }
                    Команда.Parameters.AddWithValue("Ссылка", Ссылка.ToByteArray());
                    /*Команда.Parameters.AddWithValue("Версия", Версия);*/
                    Команда.Parameters.AddWithValue("ПометкаУдаления", ПометкаУдаления);
                    Команда.Parameters.AddWithValue("Номер", Номер);
                    Команда.Parameters.AddWithValue("Комментарий", Комментарий);
                    Команда.Parameters.AddWithValue("КурсДокумента", КурсДокумента);
                    Команда.Parameters.AddWithValue("КратностьДокумента", КратностьДокумента);
                    Команда.Parameters.AddWithValue("ОтражатьВУправленческомУчете", ОтражатьВУправленческомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВБухгалтерскомУчете", ОтражатьВБухгалтерскомУчете);
                    Команда.Parameters.AddWithValue("ОтражатьВНалоговомУчете", ОтражатьВНалоговомУчете);
                    Команда.Parameters.AddWithValue("СуммаВключаетНДС", СуммаВключаетНДС);
                    Команда.Parameters.AddWithValue("СуммаДокумента", СуммаДокумента);
                    Команда.Parameters.AddWithValue("УчитыватьНДС", УчитыватьНДС);
                    Команда.Parameters.AddWithValue("ВидПоступления", ВидПоступления.Ключ());
                    Команда.Parameters.AddWithValue("НДСВключенВСтоимость", НДСВключенВСтоимость);
                    Команда.Parameters.AddWithValue("НазначениеАванса", НазначениеАванса);
                    Команда.Parameters.AddWithValue("КоличествоДокументов", КоличествоДокументов);
                    Команда.Parameters.AddWithValue("КоличествоЛистов", КоличествоЛистов);
                    Команда.ExecuteNonQuery();
                }
            }
        }