V82.ОбщиеМодули.ПроцедурыКонтроляОстатков.ТоварыВРезервеНаСкладахКонтрольОстатков_СкладВШапке_ЗаказВТабЧасти C# (CSharp) Method

ТоварыВРезервеНаСкладахКонтрольОстатков_СкладВШапке_ЗаказВТабЧасти() public method

        public void ТоварыВРезервеНаСкладахКонтрольОстатков_СкладВШапке_ЗаказВТабЧасти(/*СтруктураШапкиДокумента, СтруктураПараметров, Заголовок, Отказ*/)
        {
            //ИмяРеквизитаСклад = "Склад";
            if(true/*СтруктураПараметров.ИмяДокумента = "ПеремещениеТоваров"*/)
            {
                //ИмяРеквизитаСклад = "СкладОтправитель";
            }
            //ТекСклад = СтруктураШапкиДокумента[ИмяРеквизитаСклад];
            if(true/*СтруктураПараметров.ИмяТабличнойЧасти = "ВозвратнаяТара"*/)
            {
                //ЕстьХарактеристика  = Ложь;
                //ЕстьСерия           = Ложь;
            }
            /*// ПОЛУЧИМ УСЛОВИЯ ДЛЯ ВИРТУАЛЬНЫХ ТАБЛИЦ ОСТАТКОВ
            */
            /*СтруктураУсловий = Новый Структура(
            "ЕстьХарактеристика,РеквизитДокументРезерва,ДопУсловияТабличнойЧасти",
            ЕстьХарактеристика,
            "ДокументРезерва",
            "//УСЛОВИЕ_ДокументРезерва");*/
            //СтруктураУсловий.Вставить("ИспользоватьХарактеристикиНоменклатуры", СтруктураПараметров.ИспользоватьХарактеристикиНоменклатуры);
            /*УсловияТаблицыОстатков = ПолучитьСтруктуруУсловийТаблицыОстатков(
            СтруктураПараметров.ИмяДокумента,
            СтруктураПараметров.ИмяТаблицы,
            Новый Структура("Резерв"),
            СтруктураУсловий);*/
            //Запрос = Новый Запрос;
            /*// Установим параметры запроса
            */
            //Запрос.УстановитьПараметр("ДокументСсылка",        СтруктураШапкиДокумента.Ссылка);
            //Запрос.УстановитьПараметр("Склад",                 ТекСклад);
            //Запрос.УстановитьПараметр("ИзРезерва",             Перечисления.СпособыСписанияОстаткаТоваров.ИзРезерва);
            //Запрос.УстановитьПараметр("ПустойСклад",           Справочники.Склады.ПустаяСсылка());
            //Запрос.УстановитьПараметр("ПустаяСерия",           Справочники.СерииНоменклатуры.ПустаяСсылка());
            //Запрос.УстановитьПараметр("ПустаяХарактеристика",  Справочники.ХарактеристикиНоменклатуры.ПустаяСсылка());
            //ТипДокументРезерва = СтруктураПараметров.МетаданныеДокумента.ТабличныеЧасти[СтруктураПараметров.ИмяТабличнойЧасти].Реквизиты.ДокументРезерва.Тип;
            //МассивПустыхСсылок = ОбщегоНазначения.МассивПустыхЗначений(ТипДокументРезерва);
            //Запрос.УстановитьПараметр("МассивПустыхСсылок", МассивПустыхСсылок);
            /*ТекстЗапроса = "
            |ВЫБРАТЬ // Запрос, контролирующий остатки на складах
            |	Док.Номенклатура 										КАК Номенклатура,
            |	Док.Номенклатура.Представление               			КАК НоменклатураПредставление,
            |	Док.Номенклатура.ЕдиницаХраненияОстатков.Представление  КАК ЕдиницаХраненияОстатковПредставление,
            |   %ПОЛЕ_Док_Характеристика% 								КАК ХарактеристикаНоменклатуры,
            |	ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Характеристика%) 				КАК ХарактеристикаНоменклатурыПредставление,
            |   %ПОЛЕ_Док_Серия% 										КАК СерияНоменклатуры,
            |	ПРЕДСТАВЛЕНИЕ(%ПОЛЕ_Док_Серия%) 						КАК СерияНоменклатурыПредставление,
            |	Док.ДокументРезерва		 								КАК ДокументРезерва,
            |   %ПОЛЕ_Док_Количество% 									КАК ДокументКоличество,
            |   &Склад                                       			КАК Склад,
            |	ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) 		КАК РезервыКоличество
            |ИЗ
            |	Документ." + СтруктураПараметров.ИмяТаблицы + " КАК Док
            |
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |	РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(," + УсловияТаблицыОстатков.Резерв + ") КАК Резервы
            |ПО
            |	Резервы.Номенклатура = Док.Номенклатура
            |   И Резервы.ДокументРезерва = Док.ДокументРезерва
            |   //СОЕДИНЕНИЕ_Характеристика_Остатки// И Резервы.ХарактеристикаНоменклатуры = Док.ХарактеристикаНоменклатуры
            |   //СОЕДИНЕНИЕ_Серия_Остатки// И (Резервы.СерияНоменклатуры = Док.СерияНоменклатуры ИЛИ (НЕ ЕстьNull(ВЫРАЗИТЬ(Док.ДокументРезерва КАК Документ.ЗаказПокупателя).ДоговорКонтрагента.ОбособленныйУчетТоваровПоЗаказамПокупателей,ложь)))
            |
            |ГДЕ
            |	Не Док.Номенклатура.Комплект
            |	И Док.Ссылка  =  &ДокументСсылка
            |	//УСЛОВИЕ_ДокументРезерва
            |СГРУППИРОВАТЬ ПО
            |
            |	Док.Номенклатура,
            |   %ПОЛЕ_Док_Характеристика%,
            |   %ПОЛЕ_Док_Серия%,
            |	//Сгруппировать_Серия
            |	Док.ДокументРезерва
            |ИМЕЮЩИЕ ЕСТЬNULL(МАКСИМУМ(Резервы.КоличествоОстаток), 0) < %ПОЛЕ_Док_Количество%
            |ДЛЯ ИЗМЕНЕНИЯ РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки // Блокирующие чтение таблицы остатков регистра для разрешения коллизий многопользовательской работы
            |";*/
            //УчитыватьСерии = ложь;
            /*ТекстУсловие = "И Док.ДокументРезерва НЕ в (&МассивПустыхСсылок)
            |И (Док.ДокументРезерва ССЫЛКА Документ.ЗаказПокупателя
            |ИЛИ Док.ДокументРезерва ССЫЛКА Документ.ВнутреннийЗаказ "
            +?(ТипДокументРезерва.СодержитТип(Тип("ДокументСсылка.ЗаказНаПроизводство"))," ИЛИ Док.ДокументРезерва ССЫЛКА Документ.ЗаказНаПроизводство","")
            +?(ТипДокументРезерва.СодержитТип(Тип("ДокументСсылка.ПриходныйОрдерНаТовары"))," ИЛИ Док.ДокументРезерва ССЫЛКА Документ.ПриходныйОрдерНаТовары","")+")";*/
            //ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"//УСЛОВИЕ_ДокументРезерва", ТекстУсловие);
            if(true/*СтруктураПараметров.ИмяТабличнойЧасти = "ВозвратнаяТара"*/)
            {
                /*//нет серии, характеристики, единицы измерения и коэффициента
            */
                //ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Количество%","Сумма(Док.Количество)");
                //ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Характеристика%","&ПустаяХарактеристика");
            }
            if(true/*не УчитыватьСерии*/)
            {
                //ТекстЗапроса = СтрЗаменить(ТекстЗапроса,"%ПОЛЕ_Док_Серия%","&ПустаяСерия");
            }
            if(true/*глЗначениеПеременной("ИспользоватьБлокировкуДанных")*/)
            {
                /*Запрос.Текст =
            "ВЫБРАТЬ Номенклатура, ДокументРезерва" + ?(СтруктураПараметров.ИмяТабличнойЧасти <> "ВозвратнаяТара", ", ХарактеристикаНоменклатуры", "") + "
            |ИЗ Документ." + СтруктураПараметров.ИмяТаблицы + " КАК Док
            |ГДЕ
            |	Не Док.Номенклатура.Комплект
            |	И Док.Ссылка  =  &ДокументСсылка
            |	" + ТекстУсловие;*/
                //РезультатЗапросаДляБлокировки = Запрос.Выполнить();
                if(true/*НЕ РезультатЗапросаДляБлокировки.Пустой()*/)
                {
                    /*СтруктураПараметровБлокировки = Новый Структура(
                "ТипТаблицы,ИмяТаблицы,ИсточникДанных"
                ,"РегистрНакопления"
                ,"ТоварыВРезервеНаСкладах"
                ,РезультатЗапросаДляБлокировки);*/
                    //СтруктураЗначенийБлокировки	= Новый Структура("Склад", ТекСклад);
                    //СтруктураИсточникаДанных = Новый Структура("Номенклатура,ДокументРезерва","Номенклатура", "ДокументРезерва");
                    if(true/*СтруктураПараметров.ИмяТабличнойЧасти <> "ВозвратнаяТара"
                И СтруктураПараметров.ИспользоватьХарактеристикиНоменклатуры*/)
                    {
                        //СтруктураИсточникаДанных.Вставить("ХарактеристикаНоменклатуры","ХарактеристикаНоменклатуры");
                    }
                    //ОбщегоНазначения.УстановитьУправляемуюБлокировку(СтруктураПараметровБлокировки,СтруктураЗначенийБлокировки,СтруктураИсточникаДанных, Отказ, Заголовок);
                }
            }
            //Запрос.Текст = ТекстЗапроса;
            //РезультатЗапроса = Запрос.Выполнить();
            if(true/*РезультатЗапроса.Пустой()*/)
            {
            }
            //Выборка = РезультатЗапроса.Выбрать();
            while(true/*Выборка.Следующий()*/)
            {
                /*СтрокаСообщения = "Остатка резерва " +
            УправлениеЗапасами.ПредставлениеНоменклатуры(Выборка.НоменклатураПредставление,
                                  ?(СтруктураПараметров.ИмяТабличнойЧасти <> "ВозвратнаяТара", " "+Выборка.ХарактеристикаНоменклатурыПредставление, ""),
                                  ?(УчитыватьСерии, " "+Выборка.СерияНоменклатурыПредставление, "")) +
            " на складе """ + СокрЛП(Выборка.Склад) + """ по документу """ + СокрЛП(Выборка.ДокументРезерва) +
            """ недостаточно.";*/
                /*УправлениеЗапасами.ОшибкаНетОстатка(СтрокаСообщения, Выборка.РезервыКоличество, Выборка.ДокументКоличество,
            Выборка.ЕдиницаХраненияОстатковПредставление, Отказ, Заголовок);*/
            }
            //;;
        }
ПроцедурыКонтроляОстатков