Есть два варианта кода, выполняют одно и тоже, один с явной логикой, второй нет. Какой стул выберешь?
Функция ОпределениеВажныхДанных(ТожеВажныеДанные, СоответствиеМеждуВажнымиДанными)
ТаковПуть = ВажныеДанныеЧерезМарапупу();//булево
Если ТаковПуть Тогда
ВажныеДанные = СоответствиеМеждуВажнымиДанными[ТожеВажныеДанные];
Если Не ЗначениеЗаполнено(ВажныеДанные) Тогда
ВажныеДанные = ТожеВажныеДанные;
КонецЕсли;
Иначе
ВажныеДанные = ТожеВажныеДанные;
КонецЕсли;
Возврат ВажныеДанные;
КонецФункции
Функция ОпределениеВажныхДанных(ТожеВажныеДанные, СоответствиеМеждуВажнымиДанными)
ТаковПуть = ВажныеДанныеЧерезМарапупу();//булево
ВажныеДанные = Неопределено;
Если ТаковПуть Тогда
ВажныеДанные = СоответствиеМеждуВажнымиДанными[ТожеВажныеДанные];
КонецЕсли;
Если Не ЗначениеЗаполнено(ВажныеДанные) Тогда
ВажныеДанные = ТожеВажныеДанные;
КонецЕсли;
Возврат ВажныеДанные;
КонецФункции
#всратыеопросыотмедведя