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

ТоварыПереданныеКонтрольОстатков_РеализацияОтгруженныхТоваров() public method

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