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

ТоварыПереданныеКонтрольОстатков_ВозвратТоваровОтПокупателя() public method

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