ИначеЕсли: проверить ошибку ввода, дефицит и успешную заявку

Учебные задачи

Порядок условий важен: выполняется первая подходящая ветвь, а последующие условия этой конструкции уже не проверяются.

Где и как запускать

Полный серверный общий модуль учебной базы. Собственные значения в памяти, без чтения или записи рабочих данных.

Подготовка

  1. Используйте отдельную учебную базу без рабочих данных. Создайте серверный общий модуль УчебныйЯзык с флагом Сервер, без Привилегированный.

  2. Вставьте весь модуль выбранного примера, а не одну процедуру внутрь другой. Из своей серверной команды учебной обработки вызовите УчебныйЯзык.ВыполнитьПример().

  3. Все числа, строки и коллекции созданы в самом примере. Документы, регистры, файловая система и сеть не используются; никаких зависимостей от КА2/УНФ/УТ/БП нет.

  4. Браузер показывает код, но не исполняет BSL. Проверки результата нужно выполнить вручную на платформе 8.5.1.1343 в учебной базе.

Процедура ВыполнитьПример() Экспорт
    Сообщить(РешениеПоЗаявке(-1, 5) = "Количество должно быть положительным");
    Сообщить(РешениеПоЗаявке(0, 5) = "Количество должно быть положительным");
    Сообщить(РешениеПоЗаявке(6, 5) = "Недостаточно товара");
    Сообщить(РешениеПоЗаявке(3, 5) = "Можно выполнить заявку");
    Сообщить(РешениеПоЗаявке(5, 5) = "Можно выполнить заявку");
КонецПроцедуры

Функция РешениеПоЗаявке(Количество, Остаток)
    Если Количество <= 0 Тогда
        Решение = "Количество должно быть положительным";
    ИначеЕсли Количество > Остаток Тогда
        Решение = "Недостаточно товара";
    Иначе
        Решение = "Можно выполнить заявку";
    КонецЕсли;
    Возврат Решение;
КонецФункции

Разбор по шагам

  1. Передать числа в собственную функцию, которая ничего не записывает.

  2. Сначала исключить неположительное количество; затем сравнить корректную заявку с остатком.

  3. Иначе означает, что ни одна проверка ошибки не сработала. Присвоить результат и вернуть его вызывающему коду.

  4. Отдельно проверить границу 5=5: дефицита нет, поэтому последняя ветвь.

Как проверить результат

  1. Пять сообщений Истина для -1, 0, 6, 3 и 5.

  2. Добавьте собственную проверку РешениеПоЗаявке(1,0): ожидается Недостаточно товара.

Ожидаемый результат

Подробный пример ветвления с неправильным вводом, превышением и граничным значением.

На что обратить внимание

  1. Несколько независимых Если отличаются от одной цепочки ИначеЕсли.

  2. После первой подходящей ветви дальнейшие ветви этой цепочки не исполняются.

  3. Учебная функция предполагает числовые аргументы; проверка типов — отдельная задача.

Пример не запускался в вашей базе. Перед применением проверьте его в указанном учебном контексте.

Не хотите разбираться сами?

Адаптируем это решение под вашу базу. Оценка бесплатно.

Оставить задачу

1С, 1С:Предприятие — товарные знаки ООО «1С». Сайт не является официальным представительством фирмы «1С» и не аффилирован с ней.