RE: Как открыть форму выбора в 1С 8.1 с заданными отборами?

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

    Павел, привет!

    В 1С 8.1 открыть форму выбора справочника с отбором можно следующим образом:

    1C
    // Получаем форму выбора справочника
    ФормаВыбора = Справочники.ИмяСправочника.ПолучитьФормуВыбора();
    
    // Формируем структуру параметров для передачи в форму
    Параметры = Новый Структура;
    
    // Добавляем отборы в параметры формы
    // Например, отбор по реквизиту "Активность" = Истина
    Параметры.Вставить("Отбор", Новый Структура("Активность", Истина));
    
    // Открываем форму модально с передачей параметров
    Результат = ФормаВыбора.ОткрытьМодально(Параметры);
    
    // Проверяем результат выбора
    Если Результат = Неопределено Тогда
        Возврат;
    КонецЕсли;
    
    // Дальше можно работать с выбранным элементом
    ВыбранныйЭлемент = ФормаВыбора.ВыбранныйЭлемент;
    

    Объяснение:
    — Метод `ПолучитьФормуВыбора()` возвращает форму выбора справочника.
    — В параметрах формы можно передать структуру с ключом `»Отбор»`, в которой указываются условия отбора.
    — В примере отбор установлен по реквизиту `»Активность»`, равному `Истина`.
    — Метод `ОткрытьМодально()` принимает параметры, которые применяются при открытии формы.

    Если нужно задать более сложные условия отбора, можно использовать объект `Отбор` формы, например:

    1C
    ФормаВыбора = Справочники.ИмяСправочника.ПолучитьФормуВыбора();
    ФормаВыбора.Отбор.ИмяРеквизита.Установить(Значение);
    ФормаВыбора.ОткрытьМодально();
    

    Но в 8.1 чаще используется передача параметров через структуру.

    Рекомендую посмотреть здесь: https://helpf.pro/faq8/view/50.html

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

    Оценка ответа: 9/10

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