Имя: Пароль:
1C
1С v8
Управляемая форма, выбор списка
0 ParamPamPam
 
28.01.19
10:39
Создал реквизит ВариантОтбора и на форму добавил ВариантОтбораПоле

[url=https://radikal.ru][img]https://c.radikal.ru/c09/1901/b0/3d3e4ea4c795.jpg[/img][/

При создании формы заполняю список программно:

Функция ЗаполнитьСписокВариантовОтбора()
    
    Элементы.ВариантОтбораПоле.СписокВыбора.Очистить();
    
    Элементы.ВариантОтбораПоле.СписокВыбора.Добавить(1, "Произвольный отбор");
    Элементы.ВариантОтбораПоле.СписокВыбора.Добавить(2, "Неисполненные заказы");
КонецФункции

Для проверки создал процедуру
Процедура ВариантОтбораПриИзменении(Элемент)
    Сообщить("Выбранный элемент: " + Элементы.ВариантОтбораПоле.СписокВыбора);
КонецПроцедуры

Вопрос, как получить выбранное значение?
1 ParamPamPam
 
28.01.19
10:40
2 Mankubus
 
28.01.19
10:44
(0) выбранное значение получить по имени реквизита
3 ParamPamPam
 
28.01.19
10:59
(2) А можно пожалуйста по подробнее?
Сообщить("Выбранный элемент: " + Элементы.ВариантОтбора);
Выводит "Выбранный элемент: ПолеФормы"

Сообщить("Выбранный элемент: " + ЭтаФорма.ВариантОтбора);
Выводит " Выбранный элемент: ".

Сообщить("Выбранный элемент: " + ВариантОтбора);
Выводит " Выбранный элемент: ".

Что может быть?
Я хочу дальше создать условие типа:
Если ВариантОтбора = Произвольный отбор Тогда
Какой-тоЭлемент.Доступность = Ложь;
КонецЕсли;
4 АСКЕТ
 
28.01.19
11:12
а где у тебя функция возвращает значение не вижу в упор
5 ParamPamPam
 
28.01.19
11:21
Листинг модуля формы:


&НаКлиенте
Функция ЗаполнитьСписокВариантовОтбора()
    
    СписокВариантаОтбораПоле = Элементы.ВариантОтбора.СписокВыбора;    
    СписокВариантаОтбораПоле.Очистить();    
    СписокВариантаОтбораПоле.Добавить(1, "Произвольный отбор");
    СписокВариантаОтбораПоле.Добавить(2, "Неисполненные заказы");
    
    СписокВидРазмещений = Элементы.ВидРазмещений.СписокВыбора;    
    СписокВидРазмещений.Добавить(1,"Не важно");
    СписокВидРазмещений.Добавить(2,"Без размещений");
    СписокВидРазмещений.Добавить(3,"С размещениями");
    
    СписокНаличиеРазмещений = Элементы.НаличиеРазмещений.СписокВыбора;
    СписокНаличиеРазмещений.Добавить(1,"Из любых видов заказов");
    СписокНаличиеРазмещений.Добавить(2,"Из заказов покупателей");
    СписокНаличиеРазмещений.Добавить(3,"Из внутренних заказов");
    
    СписокСостояниеОтгрузки = Элементы.СостояниеОтгрузки.СписокВыбора;
    СписокСостояниеОтгрузки.Добавить(1,"Не важно");
    СписокСостояниеОтгрузки.Добавить(2,"Не получен полностью");
    СписокСостояниеОтгрузки.Добавить(3,"Получен полностью");
    
    СписокСрокОтгрузкиСравнение = Элементы.СрокОтгрузкиСравнение.СписокВыбора;
    СписокСрокОтгрузкиСравнение.Добавить(1,"Не важно");
    СписокСрокОтгрузкиСравнение.Добавить(2,"Просрочена");
    СписокСрокОтгрузкиСравнение.Добавить(3,"Меньше");
    СписокСрокОтгрузкиСравнение.Добавить(4,"Равна");
    СписокСрокОтгрузкиСравнение.Добавить(5,"Больше");
    СписокСрокОтгрузкиСравнение.Добавить(6,"Не заполнена");
    
    СписокСостояниеОплаты = Элементы.СостояниеОплаты.СписокВыбора;
    СписокСостояниеОплаты.Добавить(1,"Не важно");
    СписокСостояниеОплаты.Добавить(1,"Не оплачен полностью");
    СписокСостояниеОплаты.Добавить(1,"Оплачен полностью");
    
    СписокДатаОплаты = Элементы.ДатаОплаты.СписокВыбора;
    СписокДатаОплаты.Добавить(1,"Не важно");
    СписокДатаОплаты.Добавить(2,"Просрочена");
    СписокДатаОплаты.Добавить(3,"Меньше");
    СписокДатаОплаты.Добавить(4,"Равна");
    СписокДатаОплаты.Добавить(5,"Больше");
    СписокДатаОплаты.Добавить(6,"Не заполнена");

    Сообщить("Выбранный элемент: " + ВариантОтбора);
КонецФункции // ЗаполнитьСписокВариантовОтбора()

&НаКлиенте
Процедура ПриОткрытии(Отказ)
    ЗаполнитьСписокВариантовОтбора();
КонецПроцедуры

&НаКлиенте
Процедура ВариантОтбораПриИзменении(Элемент)
    Сообщить("Выбранный элемент: " + ЭтаФорма.ВариантОтбора);
КонецПроцедуры
6 ParamPamPam
 
28.01.19
12:08
Установил тип реквизита в произвольный, всё работает...