Перейти к содержанию

Функция должна заканчиваться возвратом

Для упрощения чтения кода и учета всех ветвлений последним выражением в функции должен быть возврат значения. Часто, если для всех возможных выходов из функции не выполняется Возврат, это, скорее всего, ошибочно. Стоит помнить, что если в функции нет явного вызова "Возврат", то платформа 1С добавит скрытый возврат "Неопределено", что может привести к некорректному поведению программы.

Пример подозрительной функции

Функция ФункцияСОшибкой(Парам1, Парам2) 
    А = Парам1 + Парам2; 
КонецФункции

Пример исправленного кода

Функция ФункцияБезОшибки(Парам1, Парам2) 
    Возврат Парам1 + Парам2;
КонецФункции

Еще возможно следующее ветвление в функции:

Функция ФункцияСВетвлением(Знач Парам1) 
    Если Условие Тогда
        КакойТоКод();
        Возврат Парам1;
    Иначе 
        Возврат Неопределено;
    КонецЕсли;
КонецФункции

Особенности

Из проверки исключены функции с ключевым словом Асинх / Async.

См. также - Правило Функция должна возвращать значение - Правило Слишком много возвратов внутри функции - Правило Функция всегда возвращает одно и то же константное значение - Правило Проверка, что функция является процедурой