Ошибка при проведении документа деление на 0

Деление на 0: как исправить ошибку в программах 1С?

Опубликовано 25.01.2022 16:09
Автор: Administrator
Просмотров: 15899

Совсем скоро предстоит начислять зарплату за январь в программах 1С. И большинство расчетчиков и бухгалтеров столкнутся с такой ошибкой в базах как «Деление на 0». Почему это происходит и как самостоятельно, не прибегая к помощи программистов, исправить самую частую ошибку января любого года расскажем в данной публикации. 

 Итак, ошибка выглядит следующим образом:

Возникает она потому, что не указана норма дней на новый календарный год.

Есть несколько причин почему так происходит:

1. Не заполнены графики работы на новый календарный год – это самая популярная ситуация.

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

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

Такие манипуляции необходимо сделать со всеми введенными графиками, в том числе индивидуальными.

2. Неверно заполнен производственный календарь

В вышеуказанных разделах 1С есть производственные календари. Редко, но бывает, что ошибка деления на 0 происходит из-за некорректно заполненного календаря.

На скриншоте приведен календарь на следующий 2023 год. Видите, он полностью красный? Именно так и выглядит эта ошибка. Разработчики к концу 2022 года ее поправят, и норма дней будет считаться корректно.

3. В графике работ все дни помечены как выходные

Да, такое тоже бывает. Иногда пользователи вводят индивидуальные графики сотрудникам, «играются» с их заполнением, но не всегда программа это понимает и порой выдает ошибку деления на 0.

4. Ошибка в формуле расчета

Иногда пользователю необходимо считать зарплату по своим индивидуальным формулам расчета. Но зачастую формула вводится неверно, отсюда и возникает эта ошибка. В этом случае мы рекомендуем обращаться к консультантам 1С. Возможно вашу формулу можно настроить штатными механизмами 1С.

Тут же стоит сказать еще об одной вытекающей из этого пункта ошибке — не верно настроен приоритет видов начислений. Именно в случае когда создается много начислений со своими формулами расчета они начинают конфликтовать со стандартным начислением оплаты по окладу.
Так что, друзья, не выдумываем велосипед там, где его давно изобрели, а обращаемся к специалистам 1С.

5. В редких случаях такая ошибка возникает в следствие экстренного отключения электроэнергии, аварийного завершения 1С. В этом случае необходимо почистить кэш и прибегнуть к тестированию базы 1С.

Автор статьи: Ирина Плотникова

Text.ru - 100.00%

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

Добавить комментарий

 +3 

   

Распечатать

Это сообщение возникает в том случае, если в алгоритме конфигурации Используется деление и не выполняется проверка значения делителя. Обычно эта ошибка возникает из-за того, что не заполнены какие-либо данные (сумма, количество, коэффициенты и т.п.). Необходимые для работы алгоритма данные должны быть заполнены, например, в документе или справочнике, элемент которого выбран в документе. Обычно эта проблема решается вводом необходимых для работы алгоритма данных и повторным запуском алгоритма (формирования отчета или проведения документов).

Решение:
в коде

Код 1C v 8.х

 //Просто проверка на то что Делитель не равен 0
Если Число(ШиринаБумаги) <> 0 Тогда
КолвоБумСПриладкой = КолвоБумаги / Число(ШиринаБумаги);
КонецЕсли;

в запросе:

Код 1C v 8.х

 ВЫБОР 
КОГДА ПартииТоваровНаСкладахОстатки.КоличествоОстаток = 0 ТОГДА 0
ИНАЧЕ ЕСТЬNULL(ПартииТоваровНаСкладахОстатки.СтоимостьОстаток / ПартииТоваровНаСкладахОстатки.КоличествоОстаток, 0)
КОНЕЦ КАК Себестоимость
   Gray776

23.12.19 — 08:58

Тут возник небольшой спор. Я утверждаю что такая ошибка выдается эской когда происходит деление на ноль. тем более в конфигураторе эска тычит в строку с дробью. Коллега не согласен он считает что таким образом обозначается более широкий спектр ошибок… Ну всё чего не может быть…

   Джо-джо

1 — 23.12.19 — 09:00

Огласите весь спектр пожалуйста

   2S

2 — 23.12.19 — 09:00

видимо коллега сто раз разработчик в других системах

   Gray776

3 — 23.12.19 — 09:01

(2) ага он в пример привел другие языки

   Gray776

4 — 23.12.19 — 09:01

(1) я не в курсе я тока знаю что деление на ноль это деление на ноль

   Hillsnake

5 — 23.12.19 — 09:01

(0) ошибка по делению на 0 возникает, когда в знаменателе 0. Искренне ваш КО.

   2S

6 — 23.12.19 — 09:03

(3) ну он по-своему прав

   ДенисЧ

7 — 23.12.19 — 09:05

Иногда деление на нуль — это просто деление на нуль.

А вот откуда взялся нуль там, где на него делят без проверки — это совсем другой вопрос…

   2S

8 — 23.12.19 — 09:07

+(6) Например, в постгри бывает всплывет ошибка с делением на ноль, но причина в другом.

   famnam

9 — 23.12.19 — 09:08

(3) а причем тут другие языки? разговор об 1С же

   Gray776

10 — 23.12.19 — 09:12

(9) ну по аналогии человек подумал… Я таки поразился и удивился подумал мож чего не знаю вот у тут спрашваю на всякий случай

   dezss

11 — 23.12.19 — 09:14

(8) это плохая обработка ошибок.

   Gray776

12 — 23.12.19 — 09:16

(11) Это как бы штатный 1С овский документик…

Ошибка тут:

{ОбщийМодуль.НалоговыйУчетУСН.Модуль(4147)}: Деление на 0

                    КоэффРасчетов = СуммаСписания / (Строка.Сумма + Строка.НДС);

Документ списание с расчетного счета по загруженной из банка выписке

   Gray776

13 — 23.12.19 — 09:19

Кстати во! мож кто сталкивался с таким багом? У меня только мысль возникла что в структура пустая строка как то попадает но блин как отловить…

   Gray776

14 — 23.12.19 — 09:21

Погашение задолженности галка стояла из-за нее …

   Gray776

15 — 23.12.19 — 09:24

Ну точнее там выбирается автоматически по документу или не погашать… кароч в этом глюк был… всем спасибо за внимание

   Gray776

16 — 23.12.19 — 09:26

косяк 1С однако … Стояло АВТОМАТИЧЕСКИ и не проводилось с НЕ ПОГАШАТЬ провелось.

(11) «(8) это плохая обработка ошибок.» (c)

   Kigo_Kigo

17 — 23.12.19 — 09:27

Да в 1С хватает «Плохая обработка ошибок», одна РЛС чего стоит

   b_ru

18 — 23.12.19 — 09:55

(16) Это у вас в головах косяк и в учете. Автоматическое погашение задолженности видит какой-то кривой остаток, которого там быть не должно. При «не погашать» платежка просто повиснет на аванс, а кривой остаток никуда не денется.

   dmrjan

19 — 23.12.19 — 10:03

(7) Обычно это документ с пустой строкой. Скажем плохо проработанный механизм обмена с Меркурием.

   IVT_2009

20 — 23.12.19 — 10:12

Как правило значение коэфицента в документе потеряно , он или неопределено или 0.

Должен быть >=1

   IVT_2009

21 — 23.12.19 — 10:12

Или в справочнике номенклатура та же бяка с коэфицентом.

  

Gray776

22 — 23.12.19 — 13:36

(18) Указали конкретный документ провелось. «Кривой остаток» восстановление последовательности наверное выпрямит но это будет позже

Добрый день, дорогие читатели. На днях одна из фирм, которую я обслуживаю обратилась ко мне с проблемой.
При закрытии месяца в 1С появлялась ошибка: Деление на 0.

{Документ.ФормированиеЗаписейКнигиПокупок.МодульОбъекта(2466)}: Деление на 0
НДССтроки = Окр(СтрокаТаблицы.НДС * СуммаБезНДССтроки / СтрокаТаблицы.СуммаБезНДС, 2);

 
delenie na 0 1C

Первым делом, я залез на форум с спросил совета у программистов 1С. Мне сказали проверить кратность в Валютах. Она должна быть равна 1.

Для перехода в раздел Валюты переходим во вкладку Банк и выбираем вкладку Валюты. Проверяем везде кратность, она должна равняться 1. Загружаем курсы валют за период, который не закрывается.

Раздел Валюты должен выглядеть следующим образом:

kursi valut 1c

После проверки своей базы я убедился, что с курсами валют и кратностью у меня полный порядок, но закрытие месяца так и не проводилось. (В большинстве случаев проблема деления на 0, заключается именно в кратности в курсах валют)

Я долго не мог разобраться в данной проблеме, перепровел все документы в книге покупок и продаж.

Лишь спустя несколько дней я нашел непроведенный документ без записей в разделе ОперацииРегламентные документы 1С.

reglamentnie dokumenti 1c

В регламентных документах НДС в конце списка я обнаружил непроведенный документ. Формирование книги покупок, в котором ничего не было записано, я его провел  и какого было мое удивление, месяц закрылся, проблема решена.

reglamentnie dokumenti 1c-2

zakritie mesyaca

На этом статья подошла к концу, надеюсь мне удалось кому-либо помочь решить данную проблему.

Деление на 0: как исправить ошибку в программах 1С?

Опубликовано 25.01.2022 16:09
Автор: Administrator
Просмотров: 10910

Совсем скоро предстоит начислять зарплату за январь в программах 1С. И большинство расчетчиков и бухгалтеров столкнутся с такой ошибкой в базах как «Деление на 0». Почему это происходит и как самостоятельно, не прибегая к помощи программистов, исправить самую частую ошибку января любого года расскажем в данной публикации. 

 Итак, ошибка выглядит следующим образом:

Возникает она потому, что не указана норма дней на новый календарный год.

Есть несколько причин почему так происходит:

1. Не заполнены графики работы на новый календарный год – это самая популярная ситуация.

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

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

Такие манипуляции необходимо сделать со всеми введенными графиками, в том числе индивидуальными.

2. Неверно заполнен производственный календарь

В вышеуказанных разделах 1С есть производственные календари. Редко, но бывает, что ошибка деления на 0 происходит из-за некорректно заполненного календаря.

На скриншоте приведен календарь на следующий 2023 год. Видите, он полностью красный? Именно так и выглядит эта ошибка. Разработчики к концу 2022 года ее поправят, и норма дней будет считаться корректно.

3. В графике работ все дни помечены как выходные

Да, такое тоже бывает. Иногда пользователи вводят индивидуальные графики сотрудникам, «играются» с их заполнением, но не всегда программа это понимает и порой выдает ошибку деления на 0.

4. Ошибка в формуле расчета

Иногда пользователю необходимо считать зарплату по своим индивидуальным формулам расчета. Но зачастую формула вводится неверно, отсюда и возникает эта ошибка. В этом случае мы рекомендуем обращаться к консультантам 1С. Возможно вашу формулу можно настроить штатными механизмами 1С.

Тут же стоит сказать еще об одной вытекающей из этого пункта ошибке — не верно настроен приоритет видов начислений. Именно в случае когда создается много начислений со своими формулами расчета они начинают конфликтовать со стандартным начислением оплаты по окладу.
Так что, друзья, не выдумываем велосипед там, где его давно изобрели, а обращаемся к специалистам 1С.

5. В редких случаях такая ошибка возникает в следствие экстренного отключения электроэнергии, аварийного завершения 1С. В этом случае необходимо почистить кэш и прибегнуть к тестированию базы 1С.

Автор статьи: Ирина Плотникова

Text.ru - 100.00%

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

Добавить комментарий

Ошибка в коде документа Закрытие месяца?

Я
   Худой

05.08.08 — 19:19

БП. версия 1.6.8.3 (и в версиях ниже  тот же текст)

Интересно. При проведении месяца, выдалась ошибка — Деление на ноль. Посмотрел текст программы. Там стоит следующее(можете найти поиском в модуле) —

ДолжноБытьСписано = Окр(Обход.Сумма * УчтеноБазаРаспределения / ВсегоБазаРаспределения, 2, 1);

Получается, что переменная «ВсегоБазаРаспределения» оказалась равна нулю. Меня не интересует почему она оказалась равной нулю. Просто совершенно непонятно, почему программисты в 1С, перед тем, как делать деление, не производят проверку на ноль. Это банальные проблемы первокласников.

Пока вставил в текст проверку

Если ВсегоБазаРаспределения = 0 Тогда

  Сообщить(«Ошибка » + БазаРаспределения+» «+БазаРаспределенияНаВыпуск);

  Продолжить

КонецЕсли;

Интересно, что при проведении документа, ситуация, когда ВсегоБазаРаспределения = 0, выдавалась при

БазаРаспределения = БазаРаспределенияНаВыпуск

Что скажете по поводу изменения?

   ТелепатБот

1 — 05.08.08 — 19:19

Книга знаний: Обновление всех модулей документов, справочников, отчетов и обработок без обновления конфигурации.

  

wertyu

2 — 05.08.08 — 19:20

(0) счет-то какой?

TurboConf — расширение возможностей Конфигуратора 1С

ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку «Обновить» в браузере.

Ветка сдана в архив. Добавление сообщений невозможно.
Но вы можете создать новую ветку и вам обязательно ответят!
Каждый час на Волшебном форуме бывает более 2000 человек.

Добрый день. 1С:Предприятие 8.3 (8.3.8.1747) УСН
Бухгалтерия предприятия (базовая), редакция 3.0 (3.0.44.155)
Добрый день, при формировании РКО на одного из сотрудников вскакивает ошибка «Деление на 0», а именно «Ошибка при выполнении обработчика — ‘ОбработкаПроведения’
по причине:
{ОбщийМодуль.НалоговыйУчетУСН.Модуль(7539)}: Деление на 0″

Подскажите пожалуйста как исправить?

Добрый день!

Цитата (guttatim):при формировании РКО на одного из сотрудников

Это выплата зарплаты из кассы?
Вы пользуетесь обработкой Выплата зарплаты расходными ордерами?

Заполнить и подать уведомление об исчисленных суммах налогов и взносов

Это выдача подотчетному лицу.

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

Здравствуйте.

Возможно, это связано с валютой. Зайдите в справочник Валюты. Откройте Российский рубль. Вверху Нажмите Курсы валют. Там должно быть заполнено курс и кратность 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
Сообщений: 20834

Тут другая ошибка, тут авансовый отчет, а не декларации

АленаКачаева

Дата регистрации: 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
Сообщений: 20834

Конфигурация какая? Хотя судя по отчету, это бюджетка!?

Bezimyashka

Дата регистрации: 15.06.2010
Сообщений: 4

Бухгалтерия бюджетного учреждения, редакция 1.0 (1.0.15.5)

Хочу сделать чтобы системы при отсутствии какого либо товара выдавала ошибку и запрещала проведение документа Расходная,  а так же при проведении формировала движение документа и рассчитывала стоимость по этой формуле


Движение.Стоимость = Выборка.Количество / Выборка.КоличествоОстаток * Выборка.СтоимостьОстаток;

Сам код модуля объекта документ расходная


Процедура ОбработкаПроведения(Отказ, РежимПроведения)



Движения.ОстаткиТоваров.Записывать = Истина;
Движения.ОстаткиТоваров.Очистить(); // очищать при перепроведении
//{{КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА
// Данный фрагмент построен конструктором.
// При повторном использовании конструктора, внесенные вручную изменения будут утеряны!!!

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| ДокТЧ.Номенклатура КАК Номенклатура,
| СУММА(ДокТЧ.Количество) КАК Количество,
| МАКСИМУМ(ЕСТЬNULL(ОстаткиТоваровОстатки.КоличествоОстаток, 0)) КАК КоличествоОстаток,
| МАКСИМУМ(ЕСТЬNULL(ОстаткиТоваровОстатки.СтоимостьОстаток, 0)) КАК СтоимостьОстаток
|ИЗ
| Документ.Расходная.Товары КАК ДокТЧ
| ЛЕВОЕ СОЕДИНЕНИЕ РегистрНакопления.ОстаткиТоваров.Остатки(&МоментВремени, ) КАК ОстаткиТоваровОстатки
| ПО ДокТЧ.Ссылка = ОстаткиТоваровОстатки.Номенклатура
|ГДЕ
| (НЕ ДокТЧ.Номенклатура.Услуга)
| И ДокТЧ.Ссылка = &Ссылка
|
|СГРУППИРОВАТЬ ПО
| ДокТЧ.Номенклатура";

Запрос.УстановитьПараметр("МоментВремени", МоментВремени());
Запрос.УстановитьПараметр("Ссылка", Ссылка);

РезультатЗапроса = Запрос.Выполнить();

Выборка = РезультатЗапроса.Выбрать();

Пока Выборка.Следующий() Цикл

Если Выборка.Количество > Выборка.КоличествоОстаток Тогда
Сообщение = Новый СообщениеПользователю;
Сообщение.Текст = "Не хватает товара" + Выборка.Номенклатура + """, из необходимых " + Выборка.КоличествоОстаток;
Сообщение.Сообщить();

Отказ = Истина;
Движения.ОстаткиТоваров.Записывать = Ложь;

КонецЕсли;

Движение = Движения.ОстаткиТоваров.ДобавитьРасход();
Движение.Период = Дата;
Движение.Номенклатура = Выборка.Номенклатура;
Движение.Количество = Выборка.Количество;
Движение.Стоимость = Выборка.Количество / Выборка.КоличествоОстаток * Выборка.СтоимостьОстаток;

КонецЦикла;

//}}КОНСТРУКТОР_ЗАПРОСА_С_ОБРАБОТКОЙ_РЕЗУЛЬТАТА


КонецПроцедуры

В итоге при проведении документа расходная вылезает ошибка «Деление на 0»
До этого в приходной сделал поступление товара с количеством 1000шт, в расходной пытаюсь списать 1 и вылетает ошибка. В регистре остатков есть запись по приходной, что пришло 1000шт.
В чем может быть проблема?

  • Ошибка при проведении 3ds аутентификации что это значит
  • Ошибка при проведении 3ds аутентификации мой налог
  • Ошибка при пробитии чека неверная цена сумма
  • Ошибка при присоединении к серверам рокет лига
  • Ошибка при присоединении к серверам rocket league