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

ТоварыНаСкладахКонтрольОстатков_БезЗаказа() public method

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

            //таблица товаров в резерве на складе с учетом серий номенклатуры
            |//ЗАПРОС_РезервыПоСерии

            //товары к передаче со складов
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |	РегистрНакопления.ТоварыКПередачеСоСкладов.Остатки(, " + УсловияТаблицыОстатков.Полное + ") КАК ТоварыКПередаче
            |ПО
            |	Док.Номенклатура = ТоварыКПередаче.Номенклатура
            |	//СОЕДИНЕНИЕ_Характеристика_ТоварыКПередаче
            |	//СОЕДИНЕНИЕ_Качество_ТоварыКПередаче
            |	//СОЕДИНЕНИЕ_Серия_ТоварыКПередаче
            |	//СОЕДИНЕНИЕ_Склад_ТоварыКПередаче

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