public object ПолучитьДолюСтоимости(/*Спецификация, Номенклатура, ХарактеристикаНоменклатуры, Коэффициент*/)
{
/*Запрос = Новый Запрос(
"ВЫБРАТЬ РАЗРЕШЕННЫЕ ПЕРВЫЕ 1
| ВыходныеИзделия.ДоляСтоимости / &Коэффициент КАК ДоляСтоимости,
| ЕСТЬNULL(ДоляСтоимостиВсехВыходныхИзделийПоСпецификации.ДоляСтоимости, 0) КАК ДоляСтоимостиВсехВыходныхИзделий
|ИЗ
| (ВЫБРАТЬ
| 1 КАК Приоритет,
| ВыходныеИзделияСХарактеристикой.НомерСтроки КАК НомерСтроки,
| ВыходныеИзделияСХарактеристикой.ДоляСтоимости * ЕСТЬNULL(ВыходныеИзделияСХарактеристикой.ЕдиницаИзмерения.Коэффициент, 1) КАК ДоляСтоимости
| ИЗ
| Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияСХарактеристикой
| ГДЕ
| ВыходныеИзделияСХарактеристикой.Номенклатура = &Номенклатура
| И ВыходныеИзделияСХарактеристикой.ХарактеристикаНоменклатуры = &ХарактеристикаНоменклатуры
| И ВыходныеИзделияСХарактеристикой.Ссылка = &Спецификация
| И ВыходныеИзделияСХарактеристикой.Количество > 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 2,
| ВыходныеИзделияБезХарактеристики.НомерСтроки,
| ВыходныеИзделияБезХарактеристики.ДоляСтоимости * ЕСТЬNULL(ВыходныеИзделияБезХарактеристики.ЕдиницаИзмерения.Коэффициент, 1)
| ИЗ
| Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделияБезХарактеристики
| ГДЕ
| ВыходныеИзделияБезХарактеристики.Номенклатура = &Номенклатура
| И ВыходныеИзделияБезХарактеристики.Ссылка = &Спецификация
| И ВыходныеИзделияБезХарактеристики.ХарактеристикаНоменклатуры = ЗНАЧЕНИЕ(Справочник.ХарактеристикиНоменклатуры.ПустаяСсылка)
| И ВыходныеИзделияБезХарактеристики.Количество > 0
|
| ОБЪЕДИНИТЬ ВСЕ
|
| ВЫБРАТЬ
| 3,
| 1,
| 0) КАК ВыходныеИзделия
| ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СУММА(ВыходныеИзделия.ДоляСтоимости) КАК ДоляСтоимости
| ИЗ
| Справочник.СпецификацииНоменклатуры.ВыходныеИзделия КАК ВыходныеИзделия
| ГДЕ
| ВыходныеИзделия.Ссылка = &Спецификация
| И ВыходныеИзделия.Количество > 0) КАК ДоляСтоимостиВсехВыходныхИзделийПоСпецификации
| ПО (ИСТИНА)
|
|УПОРЯДОЧИТЬ ПО
| ВыходныеИзделия.Приоритет,
| ВыходныеИзделия.НомерСтроки");*/
//Запрос.УстановитьПараметр("Спецификация", Спецификация);
//Запрос.УстановитьПараметр("Номенклатура", Номенклатура);
//Запрос.УстановитьПараметр("ХарактеристикаНоменклатуры", ХарактеристикаНоменклатуры);
//Запрос.УстановитьПараметр("Коэффициент", ?(Коэффициент = 0, 1, Коэффициент));
//Выборка = Запрос.Выполнить().Выбрать();
//Выборка.Следующий();
//Возврат УправлениеПланированием.ПолучитьДробь(?(Выборка.ДоляСтоимостиВсехВыходныхИзделий = 0, 0, Выборка.ДоляСтоимости), ?(Выборка.ДоляСтоимостиВсехВыходныхИзделий = 0, 1, Выборка.ДоляСтоимостиВсехВыходныхИзделий));
return null;
}