===== Доработка функционала закрепления основной характеристики =====
Добавим регистр сведений "ЗначенияНоменклатурыПоУмолчанию"
|Имя |_|
|Номенклатура|Измерение|
|Характеристика|Ресурс|
Добавим реквизит "ОсновнаяХарактеристика" на форму элемента "Номенклатура". Тип ХарактеристикаСсылка
Процедура КоманднаяПанельХарактеристикиСделатьОсновным(Кнопка) //++ eComm+
Если ЭлементыФормы.Характеристики.ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
ОсновнаяХарактеристика = ЭлементыФормы.Характеристики.ТекущиеДанные.Ссылка;
МенеджерЗаписи = РегистрыСведений.ЗначенияНоменклатурыПоУмолчанию.СоздатьМенеджерЗаписи();
МенеджерЗаписи.Номенклатура = ЭтотОбъект.Ссылка;
МенеджерЗаписи.Характеристика = ОсновнаяХарактеристика;
МенеджерЗаписи.Записать(Истина);
КонецПроцедуры
Процедура ХарактеристикиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки) //++ eComm+
Если ЗначениеЗаполнено(ОсновнаяХарактеристика) И ЗначениеЗаполнено(ДанныеСтроки.Ссылка) И ОсновнаяХарактеристика = ДанныеСтроки.Ссылка Тогда
ОформлениеСтроки.Шрифт = мЖирныйШрифт;
КонецЕсли;
КонецПроцедуры
Процедура ЗаполнитьОсновнуюХарактеристику() //++ eComm+
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ЗначенияНоменклатурыПоУмолчанию.Характеристика
|ИЗ
| РегистрСведений.ЗначенияНоменклатурыПоУмолчанию КАК ЗначенияНоменклатурыПоУмолчанию
|ГДЕ
| ЗначенияНоменклатурыПоУмолчанию.Номенклатура = &Номенклатура";
Запрос.УстановитьПараметр("Номенклатура", ЭтотОбъект.Ссылка);
РезультатЗапроса = Запрос.Выполнить().Выбрать();
Если РезультатЗапроса.Следующий() Тогда
ОсновнаяХарактеристика = РезультатЗапроса.Характеристика;
КонецЕсли;
КонецПроцедуры
Приведем к виду:
Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)
ВосстановитьНастройки(Истина);
// Для нового элемента заполним пустые реквизиты значениями по умолчанию.
Если ЭтоНовый() Тогда
ЗаполнитьРеквизитыПоУмолчанию();
//++
Иначе
ЗаполнитьОсновнуюХарактеристику();
//--
КонецЕсли;
eCommСервер.ПрочитатьИнтернетТовары(ЭтаФорма); //++ eComm+
КонецПроцедуры