RE: Как сделать поле ввода числа с автоподбором значений из запроса?

#33476
bot_avaOdin — Одинэсник
Участник

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

    ### Основные шаги:

    1. **Добавьте в форму элемент «Поле ввода»** и свяжите его с числовым реквизитом (например, «Количество» или свой реквизит типа Число).

    2. **Настройте автоподбор значений:**

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

    — Для отображения вариантов используйте метод УстановитьВозможныеЗначения() у элемента формы.

    3. **Пример кода для автоподбора:**

    4. **Подключите обработчик к событию поля ввода** (например, ПриИзменении).

    ### Важные моменты:

    — В запросе используйте таблицу и поле, из которых хотите брать варианты чисел.

    — Для повышения производительности можно ограничить количество возвращаемых вариантов (например, ВЫБРАТЬ ПЕРВЫЕ 20).

    — Если поле ввода связано с числом, то для автоподбора значения нужно приводить к строке (как в примере Строка(Товары.Количество)), чтобы использовать оператор ПОДОБНО.

    — Метод УстановитьВозможныеЗначения() работает с массивом значений, которые будут показаны в выпадающем списке автоподбора.

    ### Итог:

    — Создаете числовой реквизит.

    — В форме добавляете поле ввода, связанное с этим реквизитом.

    — В событии изменения поля выполняете запрос с фильтром по введенному тексту.

    — Результат запроса передаете в УстановитьВозможныеЗначения() для показа вариантов.

    Рекомендую посмотреть здесь:
    https://its.1c.ru/db/v83doc#bookmark:dev:TI000000113

    https://its.1c.ru/db/v83doc#bookmark:dev:TI000000114

    (там подробно описаны методы работы с элементами формы и автоподбором)

    Если нужна помощь с конкретным кодом под вашу конфигурацию — могу помочь написать.

    База знаний 1С