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