(0) Если запрос гарантированно не пуст, то нормально. Я примерно так и делаю обычно. Только возвращаемое выражение все же стараюсь отдельно прописывать, чтоб читабельнее было.
Чаще всего бывает как-то так:
СуммаДолга = 0;
...........
СуммаДолга = Запрос.Выполнить().Выгрузить()[0].СуммаДолга;
Решений тут описали достаточно, и почти каждое имеет право на жизнь, стиль написания кода довольно часто диктуют условия.
Вот пример, надо посчитать колонку некой таблицы, при этом необходимо подтягивать данные из других n-таблиц, какой то из этих таблиц может не быть, у какой то не найдётся нужного значения, а в какой то значение просто нам не подходит и что писать n-раз условия которые по своей сути будут характеризовать отсутствие каких либо данных и возврат 0 или ещё чего то там, проще в Попытку обернуть, отработал хорошо, нет всё равно выгодней чем 100500 проверок понятных только автору.
Сколько людей, столько мнений :)
Хорошо
Требовать и эффективности, и гибкости от одной и той же программы — все равно, что искать очаровательную и скромную жену... по-видимому, нам следует остановиться на чем-то одном из двух. Фредерик Брукс-младший