Содержание:
1. Обычное приложение 1С
Выпадающий список (меню), это элемент управления пользовательского интерфейса, давно и прочно прописавшийся во всех распространенных системах разработки, в том числе и в системе разработки 1С.
Удобен он тем, что экономит место на форме, и позволяет сделать выбор из выпадающего списка с несколькими значениями, который открывается при определенном действии пользователя, обычно - при нажатии мышкой на кнопке открытия или выбора в поле списка. Список значений может быть большим или маленьким, заранее заданным, или формирующимся динамически, но показывается он на форме только тогда, когда нужен пользователю для осуществления выбора значения.
1С платформа 8.3 может работать в режимах обычного и управляемого приложения.
Рассмотрим, как реализуется создание выпадающего списка и чем различается его использование в разных режимах работы 1С Предприятие 8.3.
Для примера возьмем простой справочник (Код, Наименование) с реквизитом «ВыборИзСписка», с типом данных «Число».
1. Обычное приложение 1С
В режиме обычного приложения 1С в редакторе формы, в панели инструментов редактора выбираем элемент управления «Поле выбора» и размещаем его на форме элемента справочника:
Размещение Поля выбора в обычном приложения 1С
Также это можно сделать командой главного меню «Форма / Вставить элемент управления».
Теперь откроем панель свойств этого элемента управления и посмотрим, какие свойства нам могут понадобиться:
- «Данные». Это тот реквизит, значение которого показывается в поле выбора, и в котором будет сохранено выбранное из списка значение, непосредственно или после дополнительной обработки. В нашем случае это реквизит «ВыборИзСписка» справочника «Справочник1»;
- «Строки списка выбора» - ссылка на сам список, из которого мы будем выбирать. Подробнее разберем его ниже;
- «НачалоВыбораИзСписка» - событие, возникающее при нажатии на кнопку открытия списка, но ДО его показа пользователю. С ним в модуле формы связан одноименный метод, в котором обычно реализуется программное заполнение списка выбора;
- «ОбработкаВыбора» - событие, возникающее после того, как пользователь сделал в списке выбор, но до помещения выбранного значения в элемент управления. В модуле формы с ним связан одноименный метод, в котором проводится программная обработка выбранного значения или связанных с ним данных.
Откроем список выбора по ссылке свойства «Строки списка выбора»:
Строки списка выбора в обычном приложении 1С
Здесь колонка «Значение» – это собственно значения, которые будут использованы при выборе, а «Представление» - то, что будет видеть пользователь в списке. Значения могут быть только типов «Число», «Строка», «Дата», «Булево».
Т.е. это тот вариант, когда мы жестко задаем список выбора в конфигураторе, и он остается неизменным при работе 1С 8.3 Предприятие.
Однако в ходе формирование выпадающего списка нам может понадобиться менять состав списка выбора в зависимости от каких-либо условий или параметров. Сделать это можно в любой момент жизни формы – при открытии или при наступлении какого-либо события в других элементах управления формы, обуславливающего состав списка.
Как пример очистки и заполнения списка в момент открытия формы:
Заполнение списка при формировании выпадающего списка
Или уже в момент открытия списка для выбора:
Заполнение списка после формирования выпадающего списка
Если же после выбора из списка значения нам нужно выполнить какие-либо действия, обусловленные выбранным значением, то сделать это удобнее всего в процедуре «ОбработкаВыбора» этого элемента управления. Здесь в параметр «Выбранное значение» передается значение, которое мы выбрали в списке:
Процедура ОбработкаВыбора
Посмотрим теперь, как выглядит наш выпадающий список в режиме обычного приложения в 1С:
Выпадающий список в режиме в 1С
2. Управляемое приложение 1С
В режиме управляемого приложения 1С элемент управления на форме размещается иначе, чем в обычном при формировании выпадающего списка. В окне редактора форм из правой верхней части переносим реквизит или параметр в левую верхнюю часть – в список элементов. При этом на форму помещается элемент управления «Поле ввода» и у него в палитре свойств уже прописано свойство «ПутьКДанным» (в нашем случае – реквизит «ВыборИзСписка»).
Начало создания выпадающего списка в управляемом приложении 1С
В палитре свойств элемента управления в управляемом приложении 1С нам будут интересны следующие:
- В разделе «Использование» свойство «РежимВыбораИзСписка» отмечаем галочкой. При этом на элементе управления появляется кнопка открытия списка;
Кнопка открытия списка в управляемом приложении 1С
- Свойство «СписокВыбора» заполняется и работает так же, как и в обычном приложении, только окно ввода списка открывается при нажатии кнопки «…»;
Окно ввода списка в управляемом приложении 1С
- В разделе «События» уже знакомые нам «НачалоВыбораИзСписка» и «ОбработкаВыбора», которые работают так же, как и в обычном приложении в 1С, с учетом того, что в управляемом приложении 1С мы можем выполнять нужные действия по подготовке выпадающего списка с несколькими значениями и обработке результата выбора раздельно – на Клиенте и на Сервере, в зависимости от того, где и какие данные нам доступны:
Создание обработчика событий в управляемом приложении 1С
Ну и внешне, конечно, управляемое приложение в 1С отличается от обычного, и в нем наш выпадающий список для 1С будет выглядеть так:
Выпадающий список в 1С
Специалист компании «Кодерлайн»
Вячеслав Болейко