Как убрать историю выбора у реквизита формы 1С
Описание действий, необходимых для отключения истории выбора у реквизита формы 1С
Сразу отметим, что данная статья предназначена для конфигураций 1С на управляемых формах. Если вы работаете в обычном интерфейсе 1С, данная статья вам не подойдет. В качестве примера рассмотрим кейс который редко, но все же встречается на проектах внедрения 1С. Ситуацию, когда нужно отключить историю выбора у реквизита формы. Распространенный случай - это, когда требуется переопределить обработчик ОбработкаПолученияДанныхВыбора в менеджере объекта, тогда в истории выбора практически гарантированно появляются значения, которые нельзя было бы выбрать по определенному в обработчике алгоритму. Также возможны случаи, когда повторный выбор элемента просто должен быть исключен самой бизнес логикой. Или, как у нас на одном из проектов, потребовалось для справочника «Партнеров» убрать историю выбора. Для данного справочника была создана нами динамическая система безопасности. Требовалось по определенным условиям часто менять доступных для менеджеров компании «Партнеров». В результате чего в списке истории выбора кэшировались уже не доступные на текущий момент времени значения справочника «Партнеры».
И так, приступим к моделированию решения на простом примере. Для этого создадим новую простую конфигурацию 1С для демонстрации данной задачи. Наша конфигурация будет состоять из:
- Справочника «Номенклатура»
- Документа «Документ1», который в свою очередь будет содержать одну табличную часть «Товары». Табличная часть «Товары» пусть будет состоять из одного реквизита «Номенклатура», созданного на шаге ранее
Создаем в пользовательском режиме документ, форму документа, новую номенклатуру и видим заполненную историю выбора:
Пример готов, осталось убрать историю выбора, приступим.
Шаг 1
Поставим значение «История выбора при вводе» в «Не использовать» как показано на картинке ниже:
Если открыть 1С в пользовательском режиме, то мы увидим, что данной настройки недостаточно, т.к. пользователю будет открываться список быстрого выбора.
Можно оставить ситуацию как есть. Истории выбора нет, однако, чтобы указать «Номенклатуру» пользователь будет вынужден нажимать каждый раз на кнопку «Показать все». Исправим это на следующем шаге.
Шаг 2
Установим у свойств реквизита формы “Номенклатура” следующие значения:
- КнопкаВыпадающегоСписка – Нет
- КнопкаВыбора – Да
- ОтображениеКнопкиВыбора – В поле ввода
Шаг 3
Можно изменить поведение формы документа при выборе значения «Номенклатура» при добавлении новой строки в табличную часть. Сейчас при добавлении новой строки всегда открывается вот такая форма «Введите строку для поиска»:
Чтобы убрать появление этой формы в момент добавления новой строки в табличную часть, достаточно у элемента формы выбрать в свойстве «РежимВыбораНезаполненного» значение «ПриАктивизации».
Если оставить значение «РежимВыбораНезаполненного» = «ПриАктивизации» и у свойства «АвтовыборНезаполненного» установить значение «Да», то при добавлении новой строки в табличной части документа сразу же откроется форма выбора справочника «Номенклатура»





