Отключаем кнопку «Показать все» в поле ввода
В заказе клиента есть поле выбора вида цены, в нем при выборе работает окно «Показать все»:
Прочитал полное драматизма обсуждение, как отключить это окно.
Попробовал так:
Элементы.ТоварыВидЦены.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; Элементы.ТоварыВидЦены.КнопкаСоздания = Ложь; Элементы.ТоварыВидЦены.РежимВыбораНезаполненного = РежимВыбораНезаполненного.ПриАктивизации;
Увы, не помогло.
Тогда сделал по-серьезному, рубанул так сказать с плеча:
СтандартнаяОбработка = Ложь; ОткрытьФорму("Справочник.ВидыЦен.ФормаВыбора", , Элементы.ТоварыВидЦены,,,,,РежимОткрытияОкнаФормы.БлокироватьОкноВладельца);
Пробовал этот код использовать событие НачалоВыбора, НачалоВыбораИзСписка — увы, эти события даже не вызывались.
Весьма познавательным, но также бесполезной для решения проблемы оказалась статья. К ней даже видео прилагается:
Но информация в конце видео про галочку «Быстрый выбор» натолкнула меня на мысль установить свойство «Быстрый выбор» в истина:
Элементы.ТоварыВидЦены.БыстрыйВыбор = истина; Элементы.ТоварыВидЦены.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; Элементы.ТоварыВидЦены.КнопкаСоздания = Ложь; Элементы.ТоварыВидЦены.РежимВыбораНезаполненного = РежимВыбораНезаполненного.ПриАктивизации; Элементы.ТоварыВидЦены.ОтображениеКнопкиВыбора = ОтображениеКнопкиВыбора.ОтображатьВПолеВвода;
И заработало нормально:
Правда, выбор происходит в поле ввода, а не открывается новое окно, но клиента так устроило. Если бы нужно было показывать именно окно справочника, даже не знаю как бы решал. Ставил бы на поле только просмотр и вешал бы выбор на событие Выбор (при нажатии Enter).
Теперь окно открывается сразу, без лишних прелюдий.
UPD 2024-07-07: реализовал в виде функции:
Процедура НастроитьБыстрыйВыборЭлемента(Элемент) Экспорт Элемент.БыстрыйВыбор = истина; Элемент.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать; Элемент.КнопкаСоздания = Ложь; Элемент.РежимВыбораНезаполненного = РежимВыбораНезаполненного.ПриАктивизации; Элемент.ОтображениеКнопкиВыбора = ОтображениеКнопкиВыбора.ОтображатьВПолеВвода; КонецПроцедуры
Среда: УТ 11.5.12.53 Объем: 0.7 час
Свежие комментарии