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

База знаний Одина — Одинэсника Форумы ODIN — Форум по 1С Предприятию Как сделать поле ввода числа с автоподбором значений из запроса?

Просмотр 1 ветки ответов
  • Автор
    Сообщения
    • #33475
      Фото аватараOdineski
      Участник

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

      • #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 ветки ответов
      • Для ответа в этой теме необходимо авторизоваться.
      База знаний 1С