Имя: Пароль:
1C
 
Как проверить есть-ли поле в структуре?
0 lanc2233
 
10.06.11
03:47
Как проверить есть-ли в структуре поле с определенным наименованием?
1 iamnub
 
10.06.11
03:50
Через попытку. Или индекс.
2 unknown181538
 
10.06.11
03:58
Структура (Structure)
Свойство (Property)
Синтаксис:

Свойство(<Ключ>, <НайденноеЗначение>)
Параметры:

<Ключ> (обязательный)

Тип: Строка. Ключ для поиска свойства.
<НайденноеЗначение> (необязательный)

Тип: Произвольный. В данный параметр возвращается найденное значение. Если ключа нет в структуре, то возвращается Неопределено.
Возвращаемое значение:

Тип: Булево. Истина - ключ найден; Ложь - в противном случае.
Описание:

Получает значение элемента по указанному имени, а также проверяет, имеется ли указанное свойство.

Доступность:

Тонкий клиент, веб-клиент, сервер, толстый клиент, внешнее соединение.
Пример:

Отбор.Свойство("Дата");
3 lanc2233
 
10.06.11
04:16
Спасибо
4 КонецЕсли
 
10.06.11
09:13
(2) А что если ключ есть, но его значение Неопределено?
5 Поручик
 
10.06.11
09:28
(4) И что? Поле есть, свойство вернёт значение Неопределено.
6 КонецЕсли
 
10.06.11
09:41
(5)
Если ключа нет в структуре, то возвращается Неопределено.
Если такой ключ есть в структуре (значение неопределено), то возвращается Неопределено.

Получли Неопределено. Ну и чё? Есть ключ или нет?
7 NcSteel
 
10.06.11
09:44
(5) Возвращает Либо истина либо ложь

Если СТруктура(ИмяКлюча, ПеременнаяДляЗначение) Тогда
//Есть ключ хоть и значение Неопределено
Иначе
//Нет ничерта с этим ключом.
КонецЕсли
8 NcSteel
 
10.06.11
09:44
(7) *СТруктура.Свойство
9 unregistered
 
10.06.11
09:46
(6) Тебе шашечки или ехать?

Получил значение Неопределено. И какая разница из структуры оно взялось или нет?

Логику алгоритмов надо закладывать на значения элементов структуры, а не на факт их отсутствия или наличия. ИМХО.
10 unregistered
 
10.06.11
09:46
+ к (9) Кстати! (6) см. (7)