1C-Code → Ошибки 1С → Деление на ноль
Сообщение платформы: Деление на ноль
Делитель оказался нулём. Само сообщение понятное; интересно другое — откуда взялся ноль, ведь в коде обычно стоит переменная, а не цифра.
ЦенаЗаЕдиницу = Сумма / Количество; // количество бывает нулевым
Ноль в количестве, в курсе валюты, в базе распределения — обычное дело в незаполненном документе. Данные приходят от людей, и ноль там будет.
Среднее = Итого / Массив.Количество(); // пустой массив → ноль
СУММА(Количество) // по пустой группе даёт NULL, а ЕСТЬNULL(..., 0) — ноль
В запросе деление на ноль не роняет выполнение, а даёт NULL в результате — и ошибка всплывает позже, в другом месте, где этот NULL используют.
Проверяйте делитель прямо перед делением: Если Количество <> 0 Тогда. В запросах — ВЫБОР КОГДА Количество = 0 ТОГДА 0 ИНАЧЕ Сумма / Количество КОНЕЦ. И решите заранее, что считать правильным ответом при нуле: ноль, пустое значение или отказ. Это вопрос учёта, а не программирования.
Проверить себя на практике. В тренажёре те же ошибки возникают на настоящем интерпретаторе языка 1С: сообщения дословно те же, что у платформы, но исправить их можно сразу в браузере, без установки и без риска для рабочей базы.