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