Как убрать выпадающий список при выборе из справочника и настроить выравнивание элементов в управляемой форме 1С?

Программист 1С v8.3 (Управляемые формы) IT и автоматизация бизнеса
← На главную

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

Подавление выпадающего списка и прямое открытие формы выбора

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

Разберем по шагам, как настроить свойства элемента формы в конфигураторе, чтобы при клике или нажатии клавиши F4 сразу открывалась форма выбора справочника:

  1. Найдем нужное поле ввода на управляемой форме и откроем его палитру свойств.
  2. Установим свойство КнопкаВыпадающегоСписка в значение Нет. Это отключит вызов истории выбора и быстрого подбора при клике на поле.
  3. Убедимся, что свойство КнопкаВыбора установлено в значение Да.
  4. Установим свойство ОтображениеКнопкиВыбора в значение В поле ввода.
  5. Для полного исключения показа сохраненных значений установим свойство ИсторияВыбораПриВводе в значение Не использовать.

В случаях, когда требуется гарантированно перекрыть стандартное поведение на программном уровне, проанализируем обработку события НачалоВыбора для поля ввода. Для этого перейдем к событиям элемента и создадим обработчик:


&НаКлиенте
Процедура ТМЦНачалоВыбора(Элемент, ДанныеВыбора, СтандартнаяОбработка)
	
	СтандартнаяОбработка = Ложь;
	ПараметрыВыбора = Новый Структура;
	ОткрытьФорму("Справочник.Номенклатура.ФормаВыбора", ПараметрыВыбора, Элемент);
	
КонецПроцедуры

Установка параметра СтандартнаяОбработка = Ложь полностью отключает все штатные подсказки и сервисные окна платформы, открывая сразу указанную форму выбора.

Выравнивание полей и элементов в управляемой форме

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

Рассмотрим основные варианты решения проблемы неровных полей и отступов:

Метод 1. Настройка сквозного выравнивания через свойство «Объединенная»

По умолчанию у создаваемых групп свойство Объединенная имеет значение Истина. Это объединяет вертикальные колонки редактирования в соседних группах в единую сетку. Если иерархия групп сложная, проверим свойства родительских блоков:

  1. Убедимся, что для родительских групп включено свойство Объединенная.
  2. Проверим свойство формы или группы ВыравниваниеЗаголовков (значения Авто или ВыравниватьОбъединенные).

Метод 2. Разделение на параллельные колонки (Заголовки и Поля)

Если штатный механизм выравнивания не позволяет добиться нужного результата из-за разной длины надписей, разберем подход с явным разделением надписей и элементов ввода на две подгруппы:

  1. Создаем общую родительскую группу с горизонтальным группированием элементов (Группировка = Горизонтальная если возможно или Горизонтальная).
  2. Внутри создаем первую подчиненную группу с вертикальной группировкой. В нее помещаем надписи (декорации типа Надпись).
  3. Внутри создаем вторую подчиненную группу с вертикальной группировкой. В нее помещаем сами поля ввода.
  4. Для полей ввода во второй группе устанавливаем свойство ПоложениеЗаголовка в значение Нет.

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

← На главную