При оформлении документов увольнение, командировка, начисление зп, по сотрудникам возникла ошибка: Деление на 0.

1. katrineKA 19.01.21 08:27 Сейчас в теме
Добрый день.

1С:Предприятие 8.3 (8.3.18.1208)
1С:Комплексная автоматизация 2 (2.4.13.71)

При оформлении документов увольнение, командировка, начисление зп, по сотрудникам возникла ошибка: Деление на 0.
Начали работать в базе с 01.01.2021. Данные по сотрудникам введены через Начальную штатную расстановку.

В базе несколько юрлиц. По каким-то сотрудникам документы увольнение и командировки уже оформлены, ошибок не возникло. По каким-то появились.

Производственный календарь заполнен, графики работы сотрудников заполнены.

Смотрю сейчас на конкретный пример с сотрудником, пытаюсь найти закономерность ошибки.
По Сотруднику начальные данные в штатной расстановке Оплата по окладу (по часам). Кадровых движений не было. Введен документ Табель. Необходимо провести увольнение, но возникает ошибка деления на ноль.

Формула начисления: Оклад * ВремяВЧасах / НормаЧасов

Я думаю, может какие-то первоначальные настройки в организациях не были сделаны, либо в начислении ошибка.
Пожалуйста помогите разобраться.
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
3. ASG74 19.01.21 08:50 Сейчас в теме
(1) Добрый день. Посмотрите производственный календарь заполнен или нет....

Извините, увидела, что заполнен....
4. katrineKA 19.01.21 08:56 Сейчас в теме
(3) Заполнен на 2021 год и на 2020 год.
25. katrineKA 19.01.21 12:14 Сейчас в теме
(1) По данному графику, который я здесь уже привела, был благополучно уволен другой сотрудник, но из другой организации и с другим видом оплаты.
Ребят, может посмотреть в сторону настроек начисления и организации? Что там можно проверить?
26. i-ber 19.01.21 12:25 Сейчас в теме
(25) Взгляните еще, на всякий случай, Кадры-Сотрудники-Начисления и удержания-История, вдруг кто-то ввел документ Кадрового перевода с датой перед Увольнением, где выбран другой график. Тут вроде, кроме графиков, ничего не должно быть, явно НормаЧасов=0. Вдруг) Дата увольнения ведь Январь 2021?
Простите, вижу, что дата увольнения 12.01.2021....
katrineKA; +1 Ответить
27. ASG74 19.01.21 12:33 Сейчас в теме
(25) а настройку графика можно посмотреть, которая по ссылке "Изменить свойства графика"

все увидела скрин...
29. MurmurSoul 19.01.21 13:26 Сейчас в теме
(25) может стоит просмотреть непосредственно регистры через функции тех специалиста? Тот же РС "График работы сотрудников" с отбором по этому сотруднику.
36. Vinzor 92 02.09.23 01:40 Сейчас в теме
(1) В сообщении об ошибке как правило есть Наименование графика и за какой год. (опыт)
Вот этот график ищите и сделайте заполнение именно за этот год.
2. ilnur75 19.01.21 08:38 Сейчас в теме
очевидно что по данному сотруднику НормаЧасов=0 , а на 0 делить нельзя. Это сообщение и выходит.
учет раб.времени для разных подразделений может быть по табелю, а может и по графику. Обратите внимание на дату документа.
а лучше зайдите отладчиком в код где эта формула расчета , там проверьте значения НормаЧасов и других.
6. katrineKA 19.01.21 08:59 Сейчас в теме
(2) Дата документа нормальная, 12.01.2021, увольнение например пытаюсь сделать сейчас, текущая дата.

"учет раб.времени для разных подразделений может быть по табелю, а может и по графику" - где это проверить? в карточке подразделения есть поле График работы, но он везде у нас не заполнен.
5. ASG74 19.01.21 08:57 Сейчас в теме
индивидуальных графиков нет?
7. katrineKA 19.01.21 09:00 Сейчас в теме
(5) Индивидуальных графиков нет.
9. user633533_encantado 11 19.01.21 09:23 Сейчас в теме
(7) В карточке сотрудника что указано в качестве графика работы ?
10. katrineKA 19.01.21 10:03 Сейчас в теме
(9) Указан график - Сменный 2 11-ти часовой
Прикрепленные файлы:
11. user633533_encantado 11 19.01.21 10:04 Сейчас в теме
13. katrineKA 19.01.21 10:13 Сейчас в теме
(11) Заполнен.
Прикрепленные файлы:
19. MurmurSoul 19.01.21 11:34 Сейчас в теме
(10) так, чисто ради любопытства. А почему стоит галочка неполного рабочего времени и неполной рабочей недели?
20. katrineKA 19.01.21 11:37 Сейчас в теме
(19) Кадровики настраивали. Точно не знаю)) думаю потому что он сменный.
21. MurmurSoul 19.01.21 11:40 Сейчас в теме
(20) ну вообще неполное рабочее время - это если сотрудник норму не вырабатывает. У вас, судя по скринам графика, среднее количество часов 160 в месяц, вполне себе полная рабочая неделя.
katrineKA; +1 Ответить
22. katrineKA 19.01.21 11:53 Сейчас в теме
(21) Поняла. Исправила.
но на ошибку не повлияло :(
8. ASG74 19.01.21 09:04 Сейчас в теме
а какая настройка определения нормы времени у сотрудника стоит?
14. katrineKA 19.01.21 10:14 Сейчас в теме
(8) Где это посмотреть?
Вид времени Явка.
А норма это где?
16. user633533_encantado 11 19.01.21 10:43 Сейчас в теме
(14) Норма указывается в графике, в вашем случае эта норма берется из этого графика.
katrineKA; +1 Ответить
17. ASG74 19.01.21 11:11 Сейчас в теме
(14) в вашем случае можно посмотреть в начальной штатной расстановке, в форме где зарплата устанавливается.

а вообще мы когда переносили данные из зуп 2.5 в 3 приходилось вручную перезаписывать графики, потому что при переносе не все корректно заполнялось....
katrineKA; +1 Ответить
18. katrineKA 19.01.21 11:31 Сейчас в теме
(17) сейчас перевыбрала График, перепровела документ. Никаких изменений :(
Прикрепленные файлы:
28. ASG74 19.01.21 12:38 Сейчас в теме
(18) по ссылке которая в колонке зарплата можно посмотреть как у сотрудника норма времени берется
12. TShef 19.01.21 10:13 Сейчас в теме
Может был кадровый перевод в начале месяца и старый график не заполнен, а проверили только текущие графики?
15. katrineKA 19.01.21 10:15 Сейчас в теме
(12) Перевода не было.

График на 2020 кстати тоже заполнен, но по идее он не должен участвовать, увольнение же в текущем году делаю.
23. i-ber 19.01.21 11:54 Сейчас в теме
Попробуйте посмотреть, когда на экран выходит ошибка. Вот где пишется, что деление на 0, там же должна быть выведена формула. Посмотрите, что за формула. И что пишет после "/".
У нас да, тоже сейчас возникают такие ошибки в документе "Начисление зарплаты и взносов". У таких сотрудников не заполнен у нас график на январь 2021 года (заходим в сотрудника, из него в график).
24. katrineKA 19.01.21 12:09 Сейчас в теме
(23) Там формула из начисления Оклад * ВремяВЧасах / НормаЧасов
Графики заполнены. Уже не знаю что еще проверить.
Прикрепленные файлы:
30. Maystrenko_Ivan 19.01.21 15:16 Сейчас в теме
Добрый день.

Общий совет: попробуйте проверить заполненность всех полей в карточке сотрудников.
31. SlavaKron 21.01.21 14:00 Сейчас в теме
Нет ли каких обменов с другой кадровой базой? Получилось воспроизвести эту ошибку – в справочнике "Показатели расчета зарплаты" создал дубль предопределенного элемента "Норма часов" и подставил его в начисление "Оплата по окладу (по часам)".
katrineKA; +1 Ответить
32. katrineKA 22.01.21 13:50 Сейчас в теме
(31) Именно в этом и оказалась ошибка. Задвоились предопределенные элементы.
Исправили их и все наладилось.

Всем большое спасибо за участие и помощь. Думаю приведенные варианты решений и проверок данных, пригодятся для решения подобной ошибки деления на 0, без дублирования предопределенных элементов.
44. Vinzor 92 01.10.23 15:37 Сейчас в теме
(32) Жирный минус программисту, кто писал правила обмена.
В правилах обмена предопределенные элементы ищут по имени и не "заменяют" и не "создают такой же".
Применяют найденный.
33. Oksanab 22.03.22 11:30 Сейчас в теме
Здравствуйте, у меня такая же проблема, дайте совет пож. все вышеперечисленное проверила и показатели не двоятся.
34. user1654599 01.09.23 21:16 Сейчас в теме
(1) В данном случае посмотрите в конфигураторе как осуществляется расчет оклада, расчет оклада должен осуществляться только при изменении нормы часов. В другом случае расчет осуществляться не должен. Тогда ошибка должна исчезнуть. Такие дела.
35. user1654599 01.09.23 21:29 Сейчас в теме
Да, это усложняет расчет, поскольку в данном случае приходится вновь поттверждать каждый раз норму часов после ввода оклада. Но для того, чтобы этого избежать оклад привязывается к должности, норма же часов, привязывается к месяцу календарного года. Время же в часах привязывается либо к должности, либо к работнику. Создаётся соответствующий документ, регистры свелений непериодические. В общем модуле пишутся соответствующие функции и процедуры, равно как и в модуле формы документа пишутся соответствующие процедуры. Все ошибка должна исчезнуть. Почему такая ошибка возникает, потому что не задана норма часов, возникает вопрос, к чему привязана норма часов, очевидно к месяцу того года, в котором работник работает. Так и осушествите эту привязку, или попросите разработчиков осуществить ее. Детская ошибка. Такие дела
37. Vinzor 92 01.10.23 11:39 Сейчас в теме
(35) есть ещё приём для ленивых.
В формуле проверять показатель, на который делится, на "ноль" и обходить это, сразу приравнивая результат вычисления к нулю. Тернарным оператором.
Это для тех, кому неинтересно смотреть историю графиков сотрудника, проверять их на заполненность, и вообще пофиг, что результат расчета будет ноль.
Типа "Ну ноль значит ноль, зато документ не ругается"
38. user1654599 01.10.23 11:56 Сейчас в теме
(37) Объясните, как показатель может делиться на 0. На ноль как известно делить нельзя. Поэтому если какой то показатель делится на 0, значит есть ошибка в формуле расчета. Надо исправлять формулу.
39. Vinzor 92 01.10.23 12:39 Сейчас в теме
(38)
?(Делитель = 0, 0, Выражение где что-то делится на Делитель)
40. user1654599 01.10.23 12:54 Сейчас в теме
(39) При оформлении увольнения, или командировки ничего не может делиться на 0. Почему, да потому что есть месячный оклад. Количество рабочих дней в месяце никак не может быть равно нулю
Следовательно Строка табличной части. Дневной оклад Работника=СтрокаТабличнойЧасти.ОкладРаботника/СтрокаТабличнойЧасти.НормативноеКоличествоРабочихДней;
СтрокаТабличнойЧасти.ЗаработнаяПлатаРаботника=СтрокаТабличнойЧасти.КоличествоДнейОтработанныхРаботником*Строка табличной части. Дневной оклад Работника;
Поскольку значение выражения СтрокаТабличнойЧасти.НормативноеКоличествоРабочихДней не может быть равно 0. Следовательно ошибка деления на 0 исчезает
41. Vinzor 92 01.10.23 13:29 Сейчас в теме
(40) Но бывает же равно нулю. Когда график сотрудника, действующий в период фактического действия данного начисления, не заполнен.
Об этом идёт речь весь топик.
42. user1654599 01.10.23 13:56 Сейчас в теме
(41) А причем здесь график сотрудника. У Вас есть нормативное количество рабочих дней, так называемый производственный календарь, который утверждается постановлением Правительства
Вы не можете принять на работу сотрудника, не установив ему нормативное количество рабочих дней. Ибо СтрокаТабличнойЧасти.НормативноеКоличествоРабочихДней привязывается не к конкретному сотруднику, а к должности данного сотрудника. И все ошибка деления на 0 исчезает
43. Vinzor 92 01.10.23 15:29 Сейчас в теме
(42) Вы с ЗУПом знакомы хоть немного?
Сотруднику так или иначе устанавливается график работы. Либо из числа общих, либо индивидуальный (на месяц). Там и нормируется его время.
Действующий график можно увидеть в соответствующем регистре, первичном и интервальном.
При расчете зарплаты учитываются все графики, которые действовали у сотрудника в рассчитываемых периодах.

Зайду с другой стороны. Говоря "не можете принять на работу сотрудника, не установив ему нормативное количество дней".
В каком объекте метаданных выражается "установленное сотруднику количество рабочих дней".
Как (чем) непосредственно назначается сотруднику "Это" при приеме на работу.
Какая норма времени (в виде каких единиц измерения) берется в расчет при суммированном учете времени?
Какие нормы есть при суммированном учете?
Как и чем, какими документами, каким объектом метаданных в этих документах может меняться норма времени у сотрудника в течение его трудовой деятельности?
Как принять сотрудника на неполный рабочий день, что для этого надо сделать?
Как и что можно настроить, чтобы сотрудника принять или перевести на неполный рабочий день?

Я еще кучу вопросов могу задать, но есть ощущение, что вы не ответите, ибо не в курсе.

В данном топике трабл был в дублировании предопределенного показателя зарплаты "НормаЧасов".
Опишите, его. Буквально, что он значит, с чем связан ?
45. user1654599 01.10.23 15:54 Сейчас в теме
У Вас, что на каждого сотрудника устанавливается свой норматив рабочего времени, так что ли. В этом случае ошибки деления на 0 не избежать. Но если норматив рабочего времени привязать не к конкретному сотруднику, а к должности, например кассир должен работать столько и столько то на ставку. В этом случае деления на 0 очень легко избежать, поскольку привязка идёт не к конкретному работнику, а к должности работника. А по поводу неполного рабочего дня то же задача решается очень просто. СтрокаТабличной части. Заработная платаРаботника= СтрокаТабличнойЧасти. Ставка*СтрокаТабличнойЧасти.ОкладПоДолжности. Вам прежде всего надо понять механизм начисления заработной платы работникам Вашей организации. А уже затем конфигурировать 1С под свои потребности. Я принципиальный противник типовых конфигураций. Ибо они навязывают бизнесу свою логику протекания бищнес-процессов, а так быть не должно.
46. user1654599 01.10.23 15:57 Сейчас в теме
А вообще по поводу учета рабочего времени читайте трудовое право, и исходя из положений Трудового кодекса и локальных правовых актов конфигурируйте 1С под свои нужды. По другому увы никак.
47. user1654599 01.10.23 16:05 Сейчас в теме
Если же Вы используйте суммированный учёт рабочего времени, то тогда каждому сотруднику на месяц создаётся отдельный документ, в шапке указываются данные сотрудника, а в табличной части указываются операции,и проводимые сотрудником, дата операции, время операции, количество часов, и затем этот документ проводится по регистру накопления приход, где в качестве измерения выступают сотрудник, должность, операции, а в качестве ресурсов,иколичество часов. Затем по этому регистру накопления приход делается отчет. Прежде всего надо понять логику бизнес процессов, принятых в организации, а затем уже конфигурировать 1С исходя из логики бизнес процессов организации, но никак не наоборот.
48. user1654599 01.10.23 16:10 Сейчас в теме
(41) Посему, надо разобраться, к чему привязана норма часов. Норма часов привязывается к должности, а не к сотруднику. И указывается она в периодическом независимом регистре сведений, у которых есть следующие измерения:должность, норма часов. И в таком случае норма часов проставляется при выборе должности, а не сотрудника. Вот и все решение задачи.
49. Vinzor 92 01.10.23 16:20 Сейчас в теме
(48) Изучите ЗУП, а не излагайте фантазии.
Связка простая. Норма времени - в графике (регистр сведений), график связан с сотрудником (регистр сведений).

Это - описание с ИТС
Плановое рабочее время (сотрудников) фиксируется в графиках работы организации, которые назначаются сотрудникам документами: Прием на работу, Прием на работу списком, Кадровый перевод, Кадровый перевод списком, Изменение графика работы списком (раздел Кадры – Приемы, переводы, увольнения). Графики работы организации описываются в справочнике Графики работы сотрудников (раздел Настройка – Графики работы сотрудников). В программе есть возможность описывать произвольное количество самых разнообразных графиков работы – для пятидневной или шестидневной рабочей недели, сменного режима работы, для нормального, неполного или сокращенного рабочего времени (подробнее о настройке графиков работы смотрите материалы раздела Настройка графиков работы).

Наряду с общим графиком сотруднику может быть установлен оперативный индивидуальный график работы на месяц. В этом случае плановое время для сотрудника за этот месяц будет определяться не по графику работы организации, присвоенному ему кадровыми документами, а по индивидуальному графику, введенному с помощью документа Индивидуальный график (раздел Зарплата – Индивидуальные графики). Подробнее о настройке индивидуального графика см. статью Оформление индивидуального графика работы.

Взято с https://its.1c.ru/db/staff1c/content/33766/zup30

Это - мой вам ответ как разработчика в ЗУПе.
"Привязанный" к сотруднику график хранится в РС "График работы сотрудников" и "График работы сотрудников интервальный" (второй удобнее для применения в запросах).
В нем хранится привязка графика к сотруднику по периоду.
Норма времени хранится в РС "Графики работы по видам времени". Там по измерению "График" хранятся значения нормы в днях и часах по разным "видам времени" на каждый день календарного периода.
50. user1654599 01.10.23 16:45 Сейчас в теме
(41) Ну и ради Бога, но тогда не жалуетесь, что у Вас возникает ошибка деления на 0 при незаполненным графике работы сотрудников. И не простите ее исправить. И не спрашивайте ни у кого, как Вам исправить данную ошибку.
51. Vinzor 92 01.10.23 16:47 Сейчас в теме
(50) Вы меня с кем-то путаете. Я не жалуюсь, а даю советы тем, кто не разбирается в данной теме, в чем причина.
52. user1654599 01.10.23 17:02 Сейчас в теме
(41) Ну и ради Бога, а я говорю, о возможности разработки своих конфигураций, при которых данная ошибка не возникает.
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот