20.06.18 — 09:44
Доброе утро,
посоветуйте пожалуйста что можно попробовать.
Розница 2.2, в нее конвертацией из 7.7 загружена Установка цен, пустых строк в ТЧ нет, заполнены цены, единицы измерения.
При открытии загруженного документа вылетает ошибка Деление на ноль, если этот же док Скопировать, то форму создания скопированного открывает, тч заполнена как и должна, не изменяя ничего сохраняю копию, она открывается, все хорошо. Что не так может быть с загруженным документом? как понимаю при открытии формы чего-то не хватает, но чего…
вот ошибка
{Документ.УстановкаЦенНоменклатуры.Форма.ФормаДокумента.Форма(3665)}: Ошибка при вызове метода контекста (Выполнить)
РезультатЗапроса = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
по причине:
Ошибка SQL: Деление на 0
по причине:
Деление на 0 значения типа Numeric
вот запрос на который ругается и не может выполнить
Запрос = Новый Запрос(»
|ВЫБРАТЬ
| ВременнаяТаблицаТовары.Индекс КАК Индекс,
| ВременнаяТаблицаТовары.Номенклатура КАК Номенклатура,
| ВременнаяТаблицаТовары.Характеристика КАК Характеристика,
| ВременнаяТаблицаТовары.ВидЦены КАК ВидЦены,
| ВременнаяТаблицаТовары.Цена КАК Цена,
| ВременнаяТаблицаТовары.Упаковка КАК Упаковка,
| ВременнаяТаблицаТовары.ЦенаИзмененаВручную КАК ЦенаИзмененаВручную
|ПОМЕСТИТЬ
| ВременнаяТаблицаТовары
|ИЗ
| &Товары КАК ВременнаяТаблицаТовары
|ИНДЕКСИРОВАТЬ ПО Номенклатура, Характеристика, ВидЦены
|;
|ВЫБРАТЬ
| Товары.Индекс КАК Индекс,
| Товары.Номенклатура КАК Номенклатура,
| Товары.Характеристика КАК Характеристика,
| Товары.Номенклатура.ЕдиницаИзмерения КАК ЕдиницаИзмерения,
| Товары.Номенклатура.ЦеноваяГруппа КАК ЦеноваяГруппа,
| ВЫБОР
| КОГДА Товары.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ОбщиеДляВидаНоменклатуры)
| ТОГДА ИСТИНА
| КОГДА Товары.Номенклатура.ВидНоменклатуры.ИспользованиеХарактеристик = ЗНАЧЕНИЕ(Перечисление.ВариантыВеденияДополнительныхДанныхПоНоменклатуре.ИндивидуальныеДляНоменклатуры)
| ТОГДА ИСТИНА
| ИНАЧЕ ЛОЖЬ
| КОНЕЦ КАК ХарактеристикиИспользуются,
| Товары.ВидЦены КАК ВидЦены,
| Товары.Цена КАК Цена,
| Товары.ЦенаИзмененаВручную КАК ЦенаИзмененаВручную,
| ВЫБОР
| КОГДА ЦеныНоменклатуры.Упаковка = Товары.Упаковка
| ТОГДА ЦеныНоменклатуры.Цена
| ИНАЧЕ ЦеныНоменклатуры.Цена / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
| КОНЕЦ КАК ДействующаяЦена,
| ВЫРАЗИТЬ(ВЫБОР
| КОГДА ЦеныНоменклатуры.Цена <> 0
| ТОГДА 100 * (Товары.Цена — ВЫБОР
| КОГДА ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, &ПустаяУпаковка) = Товары.Упаковка
| ТОГДА ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
| ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
| КОНЕЦ) / ВЫБОР
| КОГДА ЕСТЬNULL(ЦеныНоменклатуры.Упаковка, &ПустаяУпаковка) = Товары.Упаковка
| ТОГДА ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0)
| ИНАЧЕ ЕСТЬNULL(ЦеныНоменклатуры.Цена, 0) / ЕСТЬNULL(ЦеныНоменклатуры.Упаковка.Коэффициент, 1) * ЕСТЬNULL(Товары.Упаковка.Коэффициент, 1)
| КОНЕЦ
| ИНАЧЕ 0
| КОНЕЦ КАК ЧИСЛО(19, 2)) КАК Процент,
| Товары.Упаковка КАК Упаковка
|ИЗ
| ВременнаяТаблицаТовары КАК Товары
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ЦеныНоменклатуры КАК ЦеныНоменклатуры
| ПО (ЦеныНоменклатуры.ВидЦены = Товары.ВидЦены)
| И (ЦеныНоменклатуры.Характеристика = Товары.Характеристика)
| И (ЦеныНоменклатуры.Номенклатура = Товары.Номенклатура)
| И (ЦеныНоменклатуры.Период В
| (ВЫБРАТЬ
| МАКСИМУМ(Цены.Период)
| ИЗ
| РегистрСведений.ЦеныНоменклатуры КАК Цены
| ГДЕ
| Цены.ВидЦены = Товары.ВидЦены
| И Цены.Номенклатура = Товары.Номенклатура
| И Цены.Характеристика = Товары.Характеристика
| И Цены.Период <= &Дата))
|
|УПОРЯДОЧИТЬ ПО
| Индекс
|ИТОГИ
| МИНИМУМ(ЕдиницаИзмерения)
|ПО
| Номенклатура,
| Характеристика
|»);
Деление на 0: как исправить ошибку в программах 1С?
- Опубликовано 25.01.2022 16:09
- Автор: Administrator
- Просмотров: 10748
Совсем скоро предстоит начислять зарплату за январь в программах 1С. И большинство расчетчиков и бухгалтеров столкнутся с такой ошибкой в базах как «Деление на 0». Почему это происходит и как самостоятельно, не прибегая к помощи программистов, исправить самую частую ошибку января любого года расскажем в данной публикации.
Итак, ошибка выглядит следующим образом:

Возникает она потому, что не указана норма дней на новый календарный год.
Есть несколько причин почему так происходит:
1. Не заполнены графики работы на новый календарный год – это самая популярная ситуация.
В 1С: ЗУП ред. 3.1 они находятся в разделе «Настройка» – «Предприятие» — «Графики работы сотрудников», в 1С: Бухгалтерии предприятия ред. 3.0 — в разделе «Зарплата и кадры» — «Справочники и настройки» — «Графики работы».

По кнопке «Заполнить» сформируется график и ошибка уйдет.

Такие манипуляции необходимо сделать со всеми введенными графиками, в том числе индивидуальными.
2. Неверно заполнен производственный календарь
В вышеуказанных разделах 1С есть производственные календари. Редко, но бывает, что ошибка деления на 0 происходит из-за некорректно заполненного календаря.
На скриншоте приведен календарь на следующий 2023 год. Видите, он полностью красный? Именно так и выглядит эта ошибка. Разработчики к концу 2022 года ее поправят, и норма дней будет считаться корректно.
3. В графике работ все дни помечены как выходные
Да, такое тоже бывает. Иногда пользователи вводят индивидуальные графики сотрудникам, «играются» с их заполнением, но не всегда программа это понимает и порой выдает ошибку деления на 0.
4. Ошибка в формуле расчета
Иногда пользователю необходимо считать зарплату по своим индивидуальным формулам расчета. Но зачастую формула вводится неверно, отсюда и возникает эта ошибка. В этом случае мы рекомендуем обращаться к консультантам 1С. Возможно вашу формулу можно настроить штатными механизмами 1С.
Тут же стоит сказать еще об одной вытекающей из этого пункта ошибке — не верно настроен приоритет видов начислений. Именно в случае когда создается много начислений со своими формулами расчета они начинают конфликтовать со стандартным начислением оплаты по окладу.
Так что, друзья, не выдумываем велосипед там, где его давно изобрели, а обращаемся к специалистам 1С.
5. В редких случаях такая ошибка возникает в следствие экстренного отключения электроэнергии, аварийного завершения 1С. В этом случае необходимо почистить кэш и прибегнуть к тестированию базы 1С.
Автор статьи: Ирина Плотникова

Понравилась статья? Подпишитесь на рассылку новых материалов

Добавить комментарий
1
2
Показывать по
10
20
40
сообщений
Новая тема
Ответить
АленаКачаева
Дата регистрации: 19.01.2009
Сообщений: 48
Добрый день! При проведении авансового отчета программа пишет Деление на 0 и не проводит док-т.Однако при проведении той же самой операции в демо версии все в порядке.1С:Предприятие 8.1 (8.1.12.101)Бухгалтерия предприятия, редакция 1.6 (1.6.11.7). Подскажите, пожалуйста, в чем может быть причина? Спасибо
Vladko
Дата регистрации: 27.08.2007
Сообщений: 2643
это значит, что число в знаменателе у деления равно нулю. Это всё что можно сказать по данной информации.<br>А если напишите подробнее ошибку(всё что пишет комп), то можно и по-конкретнее сказать где смотреть
EAX88
Дата регистрации: 23.06.2008
Сообщений: 159
Советую в посике сообщений набрать «ошибка деления на ноль» совсем недавно эта тема очень-очень подробно разбиралась и были найдены решения! В итоге это ошибка 1С-ников, в следующем релизе, который уже не за горами, обещали поправить!!!
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20833
Тут другая ошибка, тут авансовый отчет, а не декларации
АленаКачаева
Дата регистрации: 19.01.2009
Сообщений: 48
При проведении док-та так и пишет «Деление на 0». Подробно:Ошибка при выполнении обработчика — ‘{Документ.АвансовыйОтчет(856)}: Деление на 0′<br>по причине:<br>{Документ.АвансовыйОтчет(856)}: Деление на 0<br>Спасибо!
Денис (САМАРА)
Дата регистрации: 09.04.2008
Сообщений: 8351
Там происходит пересчет по курсу — либо курс валюты равен нулю, либо кратность валюты документа равна нулю.
АленаКачаева
Дата регистрации: 19.01.2009
Сообщений: 48
Спасибо огромное! Получилось!
Bezimyashka
Дата регистрации: 15.06.2010
Сообщений: 4
«При формировании отчета «Накопительная ведомость по расходу продуктов питания» выдает ошибку: Деление на 0.<br>Подробно:<br>{Отчет.НакопительнаяВедомостьПоРасходуПродуктовПитания0504038.МодульОбъекта(816)}: Деление на 0<br>Макет.Параметры.пЦена = Данные.Сумма / Данные.Количество;<br><br>Подскажите, что делать. Заранее спасибо»
Prikum
активный пользователь
офлайн
Дата регистрации: 18.02.2002
Сообщений: 20833
Конфигурация какая? Хотя судя по отчету, это бюджетка!?
Bezimyashka
Дата регистрации: 15.06.2010
Сообщений: 4
Бухгалтерия бюджетного учреждения, редакция 1.0 (1.0.15.5)
Проблема
При формировании документа Расчет и установка себестоимости в Розница 2.2.7.39 летит ошибка, в серверном варианте:
{ОбщийМодуль.ЗапасыСервер.Модуль(437)}: Ошибка при вызове метода контекста (Выполнить)
Результат = Запрос.Выполнить();
по причине:
Ошибка выполнения запроса
по причине:
Ошибка при выполнении операции над данными:
Ошибка SQL: Деление на 0
В файловом варианте:
Деление на 0 значения типа Numeric
Решение
Когда не формируется себестоимость это печальбеда для руководителя, но это нормально, если магазины живут от инвентаризации до инвентаризации и на складах множество номенклатуры с минусовыми остатками. Программа не посчитает себестоимость, так как в формуле ниже нет проверки деления на ноль:
СУММА(СебестоимостьПоПоступлениям.СуммаОборот) / СУММА(СебестоимостьПоПоступлениям.Количество) КАК Стоимость
Решение есть, идём в конфигуратор в общий модуль ЗапасыСервер.
Нас интересует Функция СформироватьУзлыКорректировкиСписанияСтоимости
В ней ищем Запрос:
СГРУППИРОВАТЬ ПО
СебестоимостьПоПоступлениям.Магазин,
СебестоимостьПоПоступлениям.Номенклатура,
СебестоимостьПоПоступлениям.Характеристика,
СебестоимостьПоПоступлениям.МагазинОтправитель
Никакой проверки 1Сниками на нулевые значения не написано, поэтому допишем её:
СГРУППИРОВАТЬ ПО
СебестоимостьПоПоступлениям.Магазин,
СебестоимостьПоПоступлениям.Номенклатура,
СебестоимостьПоПоступлениям.Характеристика,
СебестоимостьПоПоступлениям.МагазинОтправительИМЕЮЩИЕ
СУММА(СебестоимостьПоПоступлениям.Количество) <> 0
Все, теперь деления на ноль не будет и себестоимость будет корректно формироваться.
Добрый день. 1С:Предприятие 8.3 (8.3.8.1747) УСН
Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.44.155)
Добрый день, при формировании РКО на одного из сотрудников вскакивает ошибка «Деление на 0», а именно «Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.НалоговыйУчетУСН.Модуль(7539)}: Деление на 0″
Подскажите пожалуйста как исправить?

Добрый день!
Цитата (guttatim):при формировании РКО на одного из сотрудников
Это выплата зарплаты из кассы?
Вы пользуетесь обработкой Выплата зарплаты расходными ордерами?
Заполнить и подать уведомление об исчисленных суммах налогов и взносов
Это выдача подотчетному лицу.

Я поискала, такой ошибки не зарегистрировано. Но это программная ошибка.
Либо обновитесь, вашему релизу почти два месяца, либо напишите разработчику в 1С.

Здравствуйте.
Возможно, это связано с валютой. Зайдите в справочник Валюты. Откройте Российский рубль. Вверху Нажмите Курсы валют. Там должно быть заполнено курс и кратность 1.
Заполняйте платежки с актуальными на сегодня КБК, кодами дохода и другими обязательными реквизитами
Всем спасибо за помощь, все перепробовала, не помогло, пригласили специалиста за денежку, отправила
запрос в 1с, жду решения от них теперь.

Напишите потом, в чем была проблема.