Порядок условий важен: выполняется первая подходящая ветвь, а последующие условия этой конструкции уже не проверяются.
Где и как запускать
Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.
Подготовка
Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.
Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().
Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.
Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.
Процедура ВыполнитьПример() Экспорт
Сообщить(РешениеПоЗаявке(-1, 5) = "Количество должно быть положительным");
Сообщить(РешениеПоЗаявке(0, 5) = "Количество должно быть положительным");
Сообщить(РешениеПоЗаявке(6, 5) = "Недостаточно товара");
Сообщить(РешениеПоЗаявке(3, 5) = "Можно выполнить заявку");
Сообщить(РешениеПоЗаявке(5, 5) = "Можно выполнить заявку");
КонецПроцедуры
Функция РешениеПоЗаявке(Количество, Остаток)
Если Количество <= 0 Тогда
Решение = "Количество должно быть положительным";
ИначеЕсли Количество > Остаток Тогда
Решение = "Недостаточно товара";
Иначе
Решение = "Можно выполнить заявку";
КонецЕсли;
Возврат Решение;
КонецФункцииРазбор по шагам
Передать числа в собственную функцию, которая ничего не записывает.
Сначала исключить неположительное количество; затем сравнить корректную заявку с остатком.
Иначе означает, что ни одна проверка ошибки не сработала. Присвоить результат и вернуть его вызывающему коду.
Отдельно проверить границу 5=5: дефицита нет, поэтому последняя ветвь.
Как проверить результат
Пять сообщений Истина для -1, 0, 6, 3 и 5.
Добавьте собственную проверку РешениеПоЗаявке(1,0): ожидается Недостаточно товара.
Ожидаемый результат
Подробный пример ветвления с неправильным вводом, превышением и граничным значением.
На что обратить внимание
Несколько независимых Если отличаются от одной цепочки ИначеЕсли.
После первой подходящей ветви дальнейшие ветви этой цепочки не исполняются.
Учебная функция предполагает числовые аргументы; проверка типов — отдельная задача.
Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.