eComm+

Модулі для BAS / 1С* - розроблено в Україні!

Инструменты пользователя

Инструменты сайта


designer_utp_main_characteristic

Доработка функционала закрепления основной характеристики

Добавим регистр сведений «ЗначенияНоменклатурыПоУмолчанию»

Имя _
НоменклатураИзмерение
ХарактеристикаРесурс

Добавим реквизит «ОсновнаяХарактеристика» на форму элемента «Номенклатура». Тип ХарактеристикаСсылка

Процедура КоманднаяПанельХарактеристикиСделатьОсновным(Кнопка)								//++ eComm+
	
	Если ЭлементыФормы.Характеристики.ТекущиеДанные = Неопределено Тогда
		Возврат;
	КонецЕсли; 
	
	ОсновнаяХарактеристика = ЭлементыФормы.Характеристики.ТекущиеДанные.Ссылка;
	
	МенеджерЗаписи = РегистрыСведений.ЗначенияНоменклатурыПоУмолчанию.СоздатьМенеджерЗаписи();
	МенеджерЗаписи.Номенклатура 	= ЭтотОбъект.Ссылка;
	МенеджерЗаписи.Характеристика 	= ОсновнаяХарактеристика;
	МенеджерЗаписи.Записать(Истина);

КонецПроцедуры

Процедура ХарактеристикиПриВыводеСтроки(Элемент, ОформлениеСтроки, ДанныеСтроки)			//++ eComm+
	
	Если ЗначениеЗаполнено(ОсновнаяХарактеристика) И ЗначениеЗаполнено(ДанныеСтроки.Ссылка) И ОсновнаяХарактеристика = ДанныеСтроки.Ссылка Тогда
		ОформлениеСтроки.Шрифт = мЖирныйШрифт;
	КонецЕсли;
	
КонецПроцедуры

Процедура ЗаполнитьОсновнуюХарактеристику()													//++ eComm+

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

КонецПроцедуры

Приведем к виду:

Процедура ПередОткрытием(Отказ, СтандартнаяОбработка)

	ВосстановитьНастройки(Истина);

	// Для нового элемента заполним пустые реквизиты значениями по умолчанию.
	Если ЭтоНовый() Тогда
		ЗаполнитьРеквизитыПоУмолчанию();
	//++
	Иначе
	    ЗаполнитьОсновнуюХарактеристику();
	//--
	КонецЕсли;
	
	eCommСервер.ПрочитатьИнтернетТовары(ЭтаФорма);      //++ eComm+
	
КонецПроцедуры
designer_utp_main_characteristic.txt · Последнее изменение: 2023/11/05 15:57 — webmaster