Форум 1С
Программистам, бухгалтерам, администраторам, пользователям
Задай вопрос - получи решение проблемы
12 дек 2024, 12:36

Кто поможет разобраться с присвоением в условии "Если"

Автор visionweb, 10 мар 2024, 14:46

0 Пользователей и 1 гость просматривают эту тему.

visionweb

Добрый день!

При изучении учебника Радченко М.Г. 1С программирование для начинающих 2017 наткнулся на странице 307 с интересным листингом:

// Где-то создается структура урока.

Урок = Новый Структура("Название, НомерКабинета, Начало", "Математика", 311,
Дата(2015, 9, 1, 9, 0, 0));

// Здесь вы хотите использовать фамилию учителя.
Преподаватель = Урок.ФамилияУчителя;

Преподаватель = Неопределено;
Если НЕ Урок.Свойство("ФамилияУчителя", Преподаватель) Тогда
ПоказатьПредупреждение( , "Неизвестно, кто ведет урок");
Возврат;
КонецЕсли;

Согласно этому коду действительно обрабатывается ошибка и конфигурация запускается без ошибки. Я попробовал прописать в структуру недостающий параметр и значение:

Урок = Новый Структура("Название, НомерКабинета, Начало, ФамилияУчителя", "Математика", 311,
   Дата(2015, 9, 1, 9, 0, 0), "Петров");
   
   // Здесь вы хотите использовать фамилию учителя.
      
   Преподаватель = Неопределено;
   Если НЕ Урок.Свойство("ФамилияУчителя", Преподаватель) Тогда
      ПоказатьПредупреждение( , "Неизвестно, кто ведет урок");
      Возврат;
   КонецЕсли;
   КонецПроцедуры

И результат мне не понятен, а именно - как в Операторе Если получилось присвоить значение в переменную "Преподователь". Ведь "Если" управляет выполнением программы, основываясь на результате одного или более логических выражений, а про присвоение ни слова не сказано и в самом учебнике тоже не встречался такой пример и описание возможности.Помогите пожалуйста разобраться - это скрытый функционал ;) или я плохо усвоил материал?

И второй вопрос для чего используется "Возврат"?

antoneus

Синтакс-помощник рулит)

ЦитироватьСвойство (Property)
Синтаксис:
Свойство(<Ключ>, <НайденноеЗначение>)
Параметры:
<Ключ> (обязательный)
Тип: Строка.
Ключ для поиска свойства.
<НайденноеЗначение> (необязательный)
Тип: Произвольный.
В данный параметр возвращается найденное значение. Если ключа нет в структуре, то возвращается Неопределено.
Возвращаемое значение:
Тип: Булево.
Истина - ключ найден; Ложь в противном случае.

Здесь Возврат, по правде говоря, не нужен. А вообще он используется для того, чтобы прервать выполнение вызванной процедуры и передать управление обратно - туда, откуда был совершен вызов.

LexaK

если помогло нажмите: Спасибо!

Похожие темы (5)

Рейтинг@Mail.ru

Поиск