Книга: Разработка интерфейса прикладных решений на платформе "1С:Предприятие 8"
Назад: Событие «Начало выбора»
Дальше: Создание при вводе

История выбора при вводе

При вводе значений в ссылочное поле также очень удобно пользоваться выпадающим списком, открывающимся под этим полем, содержащим наиболее часто используемые и последние выбранные значения данного ссылочного типа.

Использование истории выбора задается с помощью свойства ИсторияВыбораПриВводе у прикладных объектов конфигурации (справочников, документов, перечислений и т. п.), ссылочных реквизитов объектов конфигурации, измерений, ресурсов и др. и элементов формы, отображающих данные этих реквизитов.

Если на всех «уровнях» иерархии (начиная от поля ввода до прикладного объекта) свойство ИсторияВыбораПриВводе установлено в значение Авто, то история выбора при вводе в ссылочное поле будет сохраняться и отображаться в том случае, если это поле не находится в режиме выбора из списка или в режиме быстрого выбора (рис. 3.204).

Рис. 3.204. История выбора при вводе ссылочных значений

Выпадающий список с историей выбора открывается автоматически при любом попадании фокуса в пустое ссылочное поле ввода, или если список подбора значений при вводе по строке пустой.

Однако в некоторых ситуациях пользователю может быть совершенно не нужно (и даже вредно) видеть значения, которые он выбирал в поле ввода до этого. Например, когда необходимо выбирать и закрывать заказы покупателей. Естественно, в этом случае он должен видеть только те заказы, которые он не обрабатывал ранее.

В этом случае нужно запретить показ истории выбора при вводе либо на уровне реквизита объекта конфигурации, либо для отдельного поля ввода. Для этого нужно установить у него свойство ИсторияВыбораПриВводе в значение Не использовать.

Это можно сделать как интерактивно, так и программно, в зависимости от программной логики работы. Например, при выполнении определенных условий показ и формирование истории выбора у поля ввода можно включать или выключать с помощью встроенного языка (листинг 3.160).

Листинг 3.160. Включение/отключение истории выбора у поля ввода

ЕслиТогда

Элементы.Склад.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.НеИспользовать;

 

Иначе

Элементы.Склад.ИсторияВыбораПриВводе = ИсторияВыбораПриВводе.Авто;

 

КонецЕсли;

Кроме того, отключать историю выбора следует для объектов, в модуле менеджера которых переопределена обработка получения данных выбора (есть обработчик ОбработкаПолученияДанныхВыбора), т. к. прописанные там условия не учитываются механизмом составления списка истории выбора. Поэтому, используя историю выбора в этом случае, пользователь может получить возможность выбрать значение, которое он не мог бы выбрать другими способами.

Назад: Событие «Начало выбора»
Дальше: Создание при вводе