Коротко
Во встроенном языке выполнено деление на ноль. Обычно знаменатель — количество, курс, коэффициент пересчёта или сумма, которая в данных оказалась нулевой.
Как выглядит
{ОбщийМодуль.ПримерМодуля.Модуль(512)}: Деление на 0
Цена = Сумма / Количество;
Причины
- В строке документа количество равно нулю, а программа рассчитывает цену или долю делением суммы на количество.
- Не заполнен коэффициент единицы измерения или кратность валюты, и пересчёт идёт делением на ноль.
- Курс валюты на дату документа не загружен или равен нулю.
- Сумма распределяется пропорционально базе, у которой все значения нулевые.
- В доработке или внешней обработке нет проверки знаменателя перед делением.
- Документ создан загрузкой или обменом, и в нём не заполнены количество или коэффициент, которые при вводе вручную заполняются формой.
Что делать
Пользователю
- Проверьте строки документа: нет ли строк с нулевым количеством, нулевой суммой или пустой единицей измерения.
- Если документ в валюте, проверьте, загружен ли курс на дату документа.
- Исправьте данные и повторите действие. Если ошибка остаётся, передайте полный текст администратору.
- Если ошибка возникает в отчёте, попробуйте другой период или отбор и сообщите администратору, при каких настройках она появляется.
Администратору
- По модулю в фигурных скобках определите, чей это код: типовой, расширения или внешней обработки.
- Найдите в журнале регистрации объект, на котором возникла ошибка.
- Проверьте справочные данные, участвующие в расчёте: коэффициенты единиц измерения, кратность и курсы валют.
Разработчику
- Перед делением проверяйте знаменатель на ноль и явно решайте, какое значение вернуть в этом случае.
- Для распределений обрабатывайте нулевую базу отдельной веткой: например, распределяйте поровну или переносите всю сумму на одну строку.
- Не скрывайте ошибку конструкцией «Попытка» без записи в журнал: иначе неверный результат пройдёт незамеченным.
Помогло?
Работаете с 1С постоянно? После регистрации сопоставитель отвечает на 50 запросов в сутки вместо 10. Зарегистрироваться
Не помогло? Напишите специалисту
Ответ придёт на указанный email. Текст ошибки вставьте целиком, вместе со стеком.
Частые вопросы
Почему ошибка появилась на одном документе, а на других нет?
Она зависит от данных: деление на ноль происходит только там, где знаменатель — количество, курс или база распределения — оказался нулевым.
Можно ли просто удалить строку с нулём?
Если строка с нулевым количеством попала в документ по ошибке, да. Если она нужна, исправлять придётся код расчёта.
Комментарии
Комментариев пока нет. Если решение сработало иначе, чем описано, расскажите об этом.
Войдите, чтобы оставить комментарий.