1с управляемое приложение список выбора

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

Эти свойства можно установить в палитре свойств элемента формы Поле ввода , а можно задать программно при создании формы. Например:

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Элементы.Город.РежимВыбораИзСписка = Истина;
Элементы.Город.СписокВыбора.Добавить(«Москва»);
Элементы.Город.СписокВыбора.Добавить(«Монино»);
Элементы.Город.СписокВыбора.Добавить(«Щелково»);

Список выбора в поле Город будет выглядеть следующим образом:

Демонстрационные примеры с интерактивно и программно сформированным списком выбора реквизита справочника находится в каталоге 1CITS/EXE/FAQ/List. Они выполнены на версии платформы 8.2.9.356.

В предыдущей статье «Изучаем список значений 1С» я показал, каким образом можно программного работать со списком значений. Мы научились добавлять, вставлять и загружать нужные элементы в список. Но со списком значений можно работать на управляемой форме 1С, когда он используется в качестве реквизита этой формы. В этой статье мы разберем вопросы работы со списком значений на форме.

На управляемой форме 1С список значений можно разместить в качестве реквизита управляемой формы.

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

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

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

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

Теперь на форме можно работать с этим списком, выбирая нужные объекты, указанного типа.

С реквизитом формы мы можем работать как с обычным списком значений. Например, заполним созданный нами список всеми складами, которые можно использовать.

&НаСервере
Процедура ПриСозданииНаСервере ( Отказ , СтандартнаяОбработка )

Запрос = Новый Запрос ;
Запрос . Текст = «ВЫБРАТЬ
| Склады.Ссылка КАК Ссылка,
| Склады.Представление КАК Представление
|ИЗ
| Справочник.Склады КАК Склады
|ГДЕ
| НЕ Склады.НеИспользовать» ;
Выборка = Запрос . Выполнить (). Выбрать ();

Пока Выборка . Следующий () Цикл
Список . Добавить ( Выборка . Ссылка , Выборка . Представление );
КонецЦикла;

В этом случае, список заполниться сразу при открытии формы.

Более подробно о работе со списками значений и другими интересными объектами языка программирования в 1С читайте в моей книге «Программировать в 1С за 11 шагов»

Изучайте программирование в 1С в месте с моей книги «Программировать в 1С за 11 шагов»

  1. Книга написана понятным и простым языком — для новичка.
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Научитесь понимать архитектуру 1С;
  4. Станете писать код на языке 1С;
  5. Освоите основные приемы программирования;
  6. Закрепите полученные знания при помощи задачника;

Отличное пособие по разработке в управляемом приложении 1С, как для начинающих разработчиков, так и для опытных программистов.

  1. Очень доступный и понятный язык изложения
  2. Книга посылается на электронную почту в формате PDF. Можно открыть на любом устройстве!
  3. Поймете идеологию управляемого приложения 1С
  4. Узнаете, как разрабатывать управляемое приложение;
  5. Научитесь разрабатывать управляемые формы 1С;
  6. Сможете работать с основными и нужными элементами управляемых форм
  7. Программирование под управляемым приложением станет понятным

Промо-код на скидку в 15% — 48PVXHeYu


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

можно оплатить вручную:

Яндекс.Деньги — 410012882996301
Web Money — R955262494655

Управляемые формы. Настраиваем отбор в списке выбора.

Исходные данные:
Информационная база на основе конфигурации «1С:ERP Управление предприятием 2». Несколько пользователей могут создавать в базе документы «Табель учёта рабочего времени», причём у каждого пользователя есть свой перечень подразделений, по которым он может ввести табель. Список доступных подразделений для каждого пользователя хранится в регистре сведений.

Задача:
Сделать так, чтобы в форме документа «Табель учёта рабочего времени» при заполнении реквизита «Подразделение» пользователь мог выбирать только из доступных ему подразделений. То есть, нужно организовать отбор.

Реализация решения:
Можно выполнить решение непосредственно в конфигурации, а можно воспользоваться механизмом расширений конфигурации.

Итак, в режиме «Конфигуратор», в списке объектов конфигурации находим документ «Табель учёта рабочего времени» и открываем для редактирования его форму «Форма документа».

Нас интересует элемент формы «Подразделение» и его кнопка «Выбор из списка». Обработаем событие «НачалоВыбора», создав соответствующую процедуру в модуле формы.

ДанныеВыбора – этим параметром мы и формируем список выбора. В итоге, пользователь, нажав кнопку выбора, увидит сформированный нами список подразделений.

Но есть ещё одна проблема: если пользователь начнёт вводить название подразделения в поле ввода, то система предложит ему список всех подразделений, а не только доступных.

Я попробовал исправить это таким образом:

Но ничего не вышло. Поле ввода вообще перестало заполняться.

После этого была ещё попытка добиться желаемого результата с помощью события «ИзменениеТекстаРедактирования», однако и она не увенчалась успехом. В синтаксис-помощнике, в описании этого события, говорится, что оно не допускает вызова серверных процедур, а получение списка нужных подразделений видится логичным именно на сервере.

Более удачной стала мысль сформировать список подразделений при создании формы. И в соответствии с этой мыслью в обработчик события «ПриСозданииНаСервере» был добавлен следующий код:

Вот после такой настройки выбор в поле «Подразделение» стал работать так, как нам нужно.

Оцените статью
Все о Windows 10
Добавить комментарий

Не копируйте текст!
Adblock
detector