V82.ОбщиеМодули.ПроцедурыКонтроляОстатков.ТоварыКПеремещениюВНТТКонтрольОстатков C# (CSharp) Method

ТоварыКПеремещениюВНТТКонтрольОстатков() public method

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

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