|
Структура Метод "Свойство()" | ☑ | ||
---|---|---|---|---|
0
BaldKiwi
11.02.21
✎
08:48
|
Добрый день, есть процедура, в которую передаётся структура, после чего она перебирается, и если у ключа структуры есть значение, то она выполняет один код, если значения нет, то выполняется другой код, вот возникла такая проблема, что когда я проверяю, структуру через Структура.Свойство("Имя", Неопределено), то у меня в любом случае, если есть такой ключ в структуре, то у меня отрабатывает всегда один код, подскажите, я с помощью метода Свойства(), могу проверить значение в структуре Истина, Ложь или его там нет или нужно другим способом это делать?
|
|||
1
Йохохо
11.02.21
✎
08:55
|
Ctrl+F1
|
|||
2
Guk
11.02.21
✎
08:55
|
Если Структура.Свойство(ИмяСвойства) = Неопределено Тогда
//нет такого свойства Иначе //есть такое свойство КонецЕсли; |
|||
3
ДенисЧ
11.02.21
✎
08:56
|
(2) ЛжОшь...
Возвращаемое значение: Тип: Булево. Истина - ключ найден; Ложь в противном случае. Описание: |
|||
4
SiAl-chel
11.02.21
✎
08:56
|
(1) +1
|
|||
5
Guk
11.02.21
✎
08:58
|
(3) да. не проснулся...
|
|||
6
FIXXXL
11.02.21
✎
08:59
|
(0) тебе наличие в структуре Ключа надо проверить? или значение по Ключу?
|
|||
7
BaldKiwi
11.02.21
✎
09:06
|
(6) Мне нужно проверить наличие значения в структуре и какое там значение, если его нет, то 1 код, если какое-то опр значение, то другой код
|
|||
8
BaldKiwi
11.02.21
✎
09:06
|
(3) (1) да, смотрел, что возвращает, если ключ найден, но что-то с 2м значением видимо не так понял
|
|||
9
Йохохо
11.02.21
✎
09:09
|
(8) в 1с ленивые вычисления, если ты сделаешь (ключесть) И (ключ=1) то при ключесть ложь, второе условие проверяться не будет и ошибки не будет
|
|||
10
BaldKiwi
11.02.21
✎
09:18
|
(9) Проблема в том, что ключ всегда будет истина, вот нужно еще именно значение сравнивать, думал можно сделать через Свойство и значение проверить сразу же
|
|||
11
программистище
11.02.21
✎
09:27
|
Если СтруктураБлаБлаБла.Свойство("БлаБла") И СтруктураБлаБлаБла.БлаБла Тогда
Иначе КонецЕсли; если свойства нет, вторая проверка обрубается |
|||
12
Йохохо
11.02.21
✎
09:32
|
(11) СтруктураБлаБлаБла.БлаБла = ЗначениеБлаБла =)
|
|||
13
youalex
11.02.21
✎
09:47
|
(8) 2 параметр у метода Свойство() - это дополнительный способ получения значения.
Т.е. ты можешь получить значение стандартно, по ключу: Значение = ТвояСтруктура.ИмяКлюча (можно предварительно проверить наличие такого ключа(свойства)) Или так: Значение = Неопределено; ТвояСтруктура.Свойство("ИмяКлюча", Значение); // - если свойство(ключ) есть, то в переменную Значение - будет записано собственно значение. |
|||
14
программистище
11.02.21
✎
09:53
|
(12) в общем случае да, но автор писал про Булево
|
|||
15
BaldKiwi
11.02.21
✎
09:58
|
(11) (12) (13) только сейчас дошло, что в 2й параметр будет происходить запись значения, разобрался и решил проблему свою, спасибо большое за помощь!!!
|
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |