Механизм выбора в расширении

Печать (Ctrl+P)

Меня спросили почему кнопка выбора нового реквизита объекта в расширяемой форме не отображается.

Действительно, если в расширении добавить новый реквизит в форме или в объекте , например, типа значения справочник Склады. и выводить его на форму, то не отражается кнопка выбора, даже если в свойствах поля Кнопка выбора = Да. Только кнопка выпадающего списка отображается в элементе расширяемой форме,.

Дела в том, что стандартные расширения форм не поддерживают механизм выбора, однако ее несложно реализовать. Для этого используется возможность открытия формы в режиме выбора и возможность обработки события выбора.

Например, при доработке подбора в расширении мне нужно было добавить реквизит справочника номенклатуры «Единица измерения для подбора в документах продажи и закупки» ( см рис)

Новый реквизит я перенес в форму в виде гиперссылки и добавил команду ВыборЕдиницыДляПодбора открытия формы выбора справочника Упаковки Единицы Измерения :

&НаКлиенте
Процедура Подбор_ВыборЕдиницыДляПодбораПеред(Команда)
			
	СтруктураПараметров = Новый Структура;
	СтруктураПараметров.Вставить("Номенклатура", Объект.Ссылка);
	ОткрытьФорму("Справочник.УпаковкиЕдиницыИзмерения.Форма.ФормаВыбораИзДокументов",
	СтруктураПараметров,
	ЭтотОбъект, , , , ,
	РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);

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

После выбора вызывает событие обработки выбора :

&НаКлиенте
Процедура Подбор_ОбработкаВыбораПосле(ВыбранноеЗначение, ИсточникВыбора)
	Если ИсточникВыбора.ИмяФормы = "Справочник.УпаковкиЕдиницыИзмерения.Форма.ФормаВыбораИзДокументов" Тогда
		Объект._ЕдиницаДляПодбора =	ВыбранноеЗначение;
		ЭтаФорма.Модифицированность = Истина;	
		НастроитьФормуИОбновитьКарточку();		
	КонецЕсли;	
КонецПроцедуры
Previous Article
Next Article

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.