Отбор в форме списка с помощью реквизита

27.11.23

Разработка - Работа с интерфейсом

В данной статье расскажу, как с помощью кода можно просто производить отбор в форме списка.

Создадим перечисление "КатегорияКачества" с тремя реквизитами: Качественный, С незначительными дефектами, Бракованный.

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

Теперь перейдем к форме списка вашего реквизита и добавим нужный вам параметр – "Отбор категории" типа ПеречислениеСсылка.КатегорияКачества, и создадим команду "ПоказатьВсе".

 

 

Теперь перейдем к созданному вами реквизиту "Отбор категории" в форме и выберем событие "При изменении". В этом событии добавим следующий код:

&НаКлиенте
Процедура ОтборКатегорииПриИзменении(Элемент)
Список.Отбор.Элементы.Очистить();
ЭлементОтбора = Список. Отбор. Элементы. Добавить (Тип ("ЭлементОтбораКомпоновкиДанных") ) ;
ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КатегорияКачества");
ЭлементОтбора. ВидСравнения = ВидСравненияКомпоновкиДанных. Равно;
ЭлементОтбора.ПравоеЗначение = ОтборКатегории;	
КонецПроцедуры

Добавим пару комментариев для ясности.

В данной строке, в конце, вам необходимо указать ваш реквизит, по которому будете проводить отбор. Например, у меня в форме элемента записано "Вагонка, 14х90х1000 мм", и я выбираю категорию качества "С незначительными дефектами". После этого закрываю форму, и мой элемент остается неизменным:

ЭлементОтбора.ЛевоеЗначение = Новый ПолеКомпоновкиДанных("КатегорияКачества");

В данной строке, в конце, вам следует указать только что созданный реквизит для отбора.  

ЭлементОтбора.ПравоеЗначение = ОтборКатегории;	

Проверяем, все работает:


 

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

Вот код для ее реализации:

&НаКлиенте
Процедура ПоказатьВсе(Команда)
	Список.Отбор.Элементы.Очистить(); 
	ОтборКатегории="";
КонецПроцедуры

 

См. также

Богатый редактор картинок, хранимых в базе, с возможностью РИСОВАНИЯ. Редактор внешних файлов картинок. Объект, расширяющий возможности работы с картинками из встроенного языка (Три в одном) + Обработка «Стандартизация картинок»

Работа с интерфейсом Рабочее место Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Обработка предназначена для редактирования картинок в режиме «Предприятие», с возможностью РИСОВАТЬ на них. Поддерживается работа как в обычных формах (толстый клиент) так и на управляемых формах (тонкий клиент). Обработка позволяет редактировать как картинки, хранимые в базе, так и графические файлы с диска на файловой системе. Помимо базовых функций (изменение размеров, преобразование формата, обрезание картинки, повороты и т.п.) – редактор имеет богатый набор инструментов для рисования. Доступна функция вставки изображения из буфера обмена. Также обработка может быть использована из встроенного языка как объект для редактирования картинок. Объект может быть использован: на стороне клиента, на стороне сервера, из внешнего соединения. Данная обработка будет особенно полезна тем, кто вносит картинки в базу (изображения номенклатуры, фотографии физических лиц и т.п.). Функционал реализуется с использованием JavaScript и бесплатного ПО ImageMagick (без использования внешних компонент).

6000 руб.

16.01.2015    62111    43    59    

81

[Расширения] Динамическое управление видимостью и доступностью элементов форм (УФ) (8.3.6+)

Работа с интерфейсом Платформа 1С v8.3 Управляемые формы Конфигурации 1cv8 Платные (руб)

Механизм «Динамическое управление доступом к элементам форм объектов 1С8» предназначен для обеспечения возможности оперативного управления видимостью и доступностью элементов форм документов и справочников продуктов фирмы «1С» «1С:Предприятие 8». Решение универсальное, встраивается в любую конфигурацию с минимальными доработками, что позволяет без проблем обновлять типовые решения.

5000 руб.

14.01.2016    54702    16    21    

42

Управление дашбордами

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Платные (руб)

Обработка предназначена для создания и управления дашбордами.

2400 руб.

29.06.2020    16909    22    4    

36

Новогоднее оформление для 1С

Работа с интерфейсом Платформа 1С v8.3 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Зарплата и Управление Персоналом 3.x 1С:Управление нашей фирмой 3.0 Бесплатно (free)

Добавьте новогоднего настроения! Расширение создает декорацию в виде гирлянды на некоторых формах объектов.

27.12.2023    11182    762    elcoan    45    

106

Конструктор HTML, CSS и javascript

Инструментарий разработчика Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

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

2 стартмани

10.04.2023    9895    153    acces969    31    

119

Модель состояния для MVC

Работа с интерфейсом Платформа 1С v8.3 Конфигурации 1cv8 Абонемент ($m)

"MVC плохо применима в 1С" - познакомьтесь с моделью состояния и, возможно, ваше мнение поменяется! Представленное решение является эволюционным развитием идеи реализации MVC для 1С. В новой версии добавлены DSL для описания модели состояния, а также параметризация свойств параметров и элементов формы.

1 стартмани

05.07.2022    3946    kalyaka    4    

29

Табло очереди заказов на экран телевизора

WEB-интеграция Работа с интерфейсом Платформа 1С v8.3 1С:Розница 2 Платные (руб)

Связка из веб-приложения и расширения для 1С: Розница 2.3.

3600 руб.

29.04.2022    12301    1    5    

10

Условное оформление элементов форм в пользовательском режиме 1С (управление видимостью и доступностью элементов форм)

Работа с интерфейсом Платформа 1С v8.3 Платные (руб)

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

6000 руб.

18.01.2022    8957    1    2    

6
Отзывы
1. silly 8 27.11.23 08:07 Сейчас в теме
Плюс за понятное объяснение, новичкам будет полезно :)
однако зачем придумывать велосипед? интересно где может такое пригодится в реальной разработке. Даже если сильно хочется свои отборы, почему бы не использовать отборы на скд, например?
EvgeniyOlxovskiy; user1854482; +2 Ответить
Остальные комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. silly 8 27.11.23 08:07 Сейчас в теме
Плюс за понятное объяснение, новичкам будет полезно :)
однако зачем придумывать велосипед? интересно где может такое пригодится в реальной разработке. Даже если сильно хочется свои отборы, почему бы не использовать отборы на скд, например?
EvgeniyOlxovskiy; user1854482; +2 Ответить
2. RocKeR_13 1325 27.11.23 09:35 Сейчас в теме
(1)
однако зачем придумывать велосипед? интересно где может такое пригодится в реальной разработке. Даже если сильно хочется свои отборы, почему бы не использовать отборы на скд, например?

Речь об отборе в динамическом списке. Используется практически во всех формах списков в типовых конфигурациях, но с одним отличием: обычно используют процедуру из БСП ОбщегоНазначенияКлиентСервер.УстановитьЭлементОтбораДинамическогоСписка. А отличие важное: в процедуре БСП каждый раз не очищается список отборов, а ищется существующий элемент отбора и при его отсутствии добавляется.
3. silly 8 27.11.23 09:48 Сейчас в теме
(2) я, скорее, про создание отдельных реквизитов на форме для отборов. Масштабировать сложнее, пользователь захочет еще отборы, придется лезть на форму, новые реквизиты каждый раз создавать и что-то допиливать? Может для супер простой задачки это и норм, но лично мне душе приятней сделать один раз на скд отборы для пользователей и пусть вертят как хотят :)
4. RocKeR_13 1325 27.11.23 09:52 Сейчас в теме
(3) Так-то в меню "Еще" сидит пункт "Настроить список" - с ним вообще тогда прикручивать ничего не нужно. Но есть бабушки по 70 лет, которые даже туда не залезут, не говоря о том, чтобы там что-то настроить) При проектировании всё-таки хорошим тоном считается добавить самые очевидные отборы. А дальше уже "Настроить список" в помощь.
EvgeniyOlxovskiy; +1 Ответить
5. ixijixi 1802 27.11.23 12:54 Сейчас в теме
Коллеги, вопрос.

Можно ли каким-либо способом ограничить список выбора в отборах? Не в том, которое вручную автор создает, а в том, которое добавляет платформа на основании схемы компоновки дин. списка?
6. Vasilius_Infernius 29.11.23 19:11 Сейчас в теме
(5)
ДоступныйПараметрКомпоновкиДанных (DataCompositionAvailableParameter)
ДоступныеЗначения (AvailableValues)
Использование:
Чтение и запись.
Описание:
Тип: СписокЗначений, Неопределено.
Содержит список значений, которые может принимать значение параметра.
Неопределено - значения поля неограничены.
Доступность:
Тонкий клиент, веб-клиент, мобильный клиент, сервер, толстый клиент, внешнее соединение, мобильное приложение (клиент), мобильное приложение (сервер), мобильный автономный сервер.
7. ixijixi 1802 30.11.23 08:51 Сейчас в теме
(6) Пробовал, не взлетело.

Уточнение, скорее всего важное - поле отбора строковое. Может поэтому?
Прикрепленные файлы:
ПопыткаЗаполнитьДоступныеЗначенияОтбораДинСписка.epf
Оставьте свое сообщение