|
Как правильно узнать выбранное значение в реквизите ссылочного типа
| ☑ |
0
kamila0713
26.09.19
✎
10:51
|
Управляемая форма. Есть реквизит на форме,например, ТипТоплива он ссылочного типа(ПеречислениеСсылка). Требуется проверить, какое значение выбрал пользователь. Есть много вариантов, ниже те которые МНЕ(начинающему) пришли самыми первыми. Но как правильно осуществлять проверку?
&НаКлиенте событие ПриИзменении
--------
1. Если Объект.ТипТоплива = ПредопределенноеЗначение("Перечисление.ВидТоплива.Бензин") Тогда....
2. Если Строка(Объект.ТипТоплива) = "Бензин" Тогда....
3. Если Элементы.ТипТоплива.ТекстРедактирования = "Бензин" Тогда....
|
|
1
Василий Алибабаевич
26.09.19
✎
10:57
|
(0) Я за вариант 1.
|
|
2
Fish
26.09.19
✎
10:59
|
(1) Однозначно 1
|
|
3
kamila0713
26.09.19
✎
10:59
|
(1) А если тип СправочникСсылка и Справочник без предопределенных?
|
|
4
kamila0713
26.09.19
✎
11:00
|
(2) А есть еще другие варианты? С учетом (3)
|
|
5
GROOVY
26.09.19
✎
11:03
|
(3) Если такое хочется сделать, то стоит себя всячески отговаривать.
|
|
6
piter3
26.09.19
✎
11:04
|
Варианты 2 и 3 призывают к сожжению
|
|
7
Кац
26.09.19
✎
11:07
|
(4) Правильно будет так
Объект.ТипТоплива = МойРеквизитФормыВидТопливаБензин
|
|
8
palsergeich
26.09.19
✎
11:08
|
2 и 3 это путь в ад.
Так ты узнаешь, что бывают дубли и бензинов в базе может быть за сотню, а нужен только один.
Если нужно сравнивать с непредопределенным элементом - выносите в настройки и посмотрите как работает кеш на клиенте в типовых или модуль с повторным использованием.
Все решается, но сравнение строк - это последнее дело.
|
|
9
kamila0713
26.09.19
✎
11:14
|
(6), (8) Но, первый вариант это вызов сервера СП: "Вызов метода выполняет обращение к серверу".
А второй вариант плох только тем что это "сравнение строк", то есть дурной тон? Как это может к ошибке привести, к сожалению, не понял.
|
|
10
piter3
26.09.19
✎
11:15
|
(9) пользователь добавил пробел и твой код в унитаз
|
|
11
kamila0713
26.09.19
✎
11:18
|
(9) Да, вы правы
|
|