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

ТоварыВРозницеКонтрольОстатков_ЗаказВТабЧасти() public method

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

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

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

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

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

            //таблица резервов по документу: количество, которое списывается за счет резерва
            |ЛЕВОЕ СОЕДИНЕНИЕ
            |	(ВЫБРАТЬ ТЧ.Номенклатура
            |	//ПОЛЕ_ТЧ_Склад
            |	//ПОЛЕ_ТЧ_Характеристика
            |	//ПОЛЕ_ТЧ_Серия
            |	//количество, списываемое за счет резерва, не может превышать количество указанное в документе
            |	,ВЫБОР КОГДА Сумма(ТЧ.ДокументКоличество)<Сумма(ВремРезервы.КоличествоОстаток) ТОГДА
            |   	Сумма(ТЧ.ДокументКоличество)
            |	ИНАЧЕ Сумма(ВремРезервы.КоличествоОстаток)
            |	КОНЕЦ КАК КоличествоОстаток
            |	ИЗ
            |		//сгруппированная табличная часть документа с отбором строк которые списываются из резерва
            |		(ВЫБРАТЬ
            |			Номенклатура,
            |			%ПОЛЕ_Заказ%
            |			//ПОЛЕ_Характеристика
            |			//ПОЛЕ_Серия
            |			//ПОЛЕ_Склад
            |			,%ПОЛЕ_Количество% КАК ДокументКоличество
            |		ИЗ
            |			Документ." + СтруктураПараметров.ИмяТаблицы +" КАК ВремДок
            |		ГДЕ  ВремДок.Ссылка = &ДокументСсылка
            |			И ВремДок.%ПОЛЕ_Заказ% НЕ в (&МассивПустыхЗаказов)
            |	//УСЛОВИЕ_ВремДок_СпособСписанияРезерв
            |		СГРУППИРОВАТЬ ПО
            |			Номенклатура,
            |			%ПОЛЕ_Заказ%
            |			//ПОЛЕ_Характеристика
            |			//ПОЛЕ_Серия
            |			//ПОЛЕ_Склад
            |		) КАК ТЧ
            |	ЛЕВОЕ СОЕДИНЕНИЕ
            |		РегистрНакопления.ТоварыВРезервеНаСкладах.Остатки(, " + УсловияТаблицыОстатков.БезКачества + ") КАК ВремРезервы
            |	ПО ТЧ.Номенклатура = ВремРезервы.Номенклатура
            |		И ТЧ.%ПОЛЕ_Заказ% = ВремРезервы.ДокументРезерва
            |		//СОЕДИНЕНИЕ_Характеристика_ВремРезервы
            |		//СОЕДИНЕНИЕ_Серия_ВремРезервы
            |		//СОЕДИНЕНИЕ_Склад_ВремРезервы
            |	СГРУППИРОВАТЬ ПО
            |		ТЧ.Номенклатура
            |		//ПОЛЕ_ТЧ_Характеристика
            |		//ПОЛЕ_ТЧ_Серия
            |		//ПОЛЕ_ТЧ_Склад
            |) КАК РезервыПоДокументу
            |ПО
            |Док.Номенклатура                 = РезервыПоДокументу.Номенклатура
            |И Док.%ПОЛЕ_Заказ% НЕ в (&МассивПустыхЗаказов)
            |	//УСЛОВИЕ_Док_СпособСписанияРезерв
            |//СОЕДИНЕНИЕ_Характеристика_РезервыПоДокументу
            |//СОЕДИНЕНИЕ_Серия_РезервыПоДокументу
            |//СОЕДИНЕНИЕ_Склад_РезервыПоДокументу

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

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

            //товары к передаче со складов без учета серий
            |//ЗАПРОС_ТоварыКПередачеБезСерии

            //товары к передаче по документу
            |//ЗАПРОС_КПередачеПоДокументу

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