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