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