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