Вход | Регистрация
 

Структура Метод "Свойство()"

Структура Метод "Свойство()"
Я
   BaldKiwi
 
11.02.21 - 08:48
Добрый день, есть процедура, в которую передаётся структура, после чего она перебирается, и если у ключа структуры есть значение, то она выполняет один код, если значения нет, то выполняется другой код, вот возникла такая проблема, что когда я проверяю, структуру через Структура.Свойство("Имя", Неопределено), то у меня в любом случае, если есть такой ключ в структуре, то у меня отрабатывает всегда один код, подскажите, я с помощью метода Свойства(), могу проверить значение в структуре Истина, Ложь или его там нет или нужно другим способом это делать?
   Йохохо
 
1 - 11.02.21 - 08:55
Ctrl+F1
   Guk
 
2 - 11.02.21 - 08:55
Если Структура.Свойство(ИмяСвойства) = Неопределено Тогда
  //нет такого свойства

Иначе
  //есть такое свойство

КонецЕсли;
   ДенисЧ
 
3 - 11.02.21 - 08:56
(2) ЛжОшь...

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

Или так:
Значение = Неопределено;
ТвояСтруктура.Свойство("ИмяКлюча", Значение);// - если свойство(ключ) есть, то в переменную Значение - будет записано собственно значение.
   программистище
 
14 - 11.02.21 - 09:53
(12) в общем случае да, но автор писал про Булево
   BaldKiwi
 
15 - 11.02.21 - 09:58
(11) (12) (13) только сейчас дошло, что в 2й параметр будет происходить запись значения, разобрался и решил проблему свою, спасибо большое за помощь!!!

Список тем форума
 
Компьютеры — это как велосипед. Только для нашего сознания. Стив Джобс
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.