Найти в Дзене
Кассовик-затейник

Деление на 0 или итоги "нерабочего апреля 2020"

Проблема: В конце апреля месяца 2020 года на предприятии при попытке расчёта заработной платы сотрудникам появилась следующая ошибка:

Ошибка: При расчете начисления "Оплата по окладу" за Апрель 2020 для сотрудника ____ ____ ____ возникла ошибкаа. Деление на 0.
Формула, используемая при расчёте:
Оклад * ДоляНеполногоРабочегоВремени * ВремяВДнях / НормаДней

Оборудование: 1С ЗУП 3.1

Решение проблемы: Деление на 0 - классическая "запрещалка", о существовании которой нам говорят ещё в школе. На ноль делить нельзя и т.п. Если происходит деление на ноль, то в первую очередь требуется посмотреть, что именно предстаёт в таком большом количестве, как ноль. Обычно - это то, что следует за знаком деления. В данном случае:

"... / НормаДней"

Стало быть, 1С решила, что у нас нет в отчётном периоде ни одного дня, который бы считался рабочим.

Потому проверим, отчего и почему так может быть. Заходим:
Настройки --> Производственные календари --> Российская Федерация:

Вуаля, так сказать, в производственном календаре 1С
Вуаля, так сказать, в производственном календаре 1С

Что мы тут видим? А мы видим, что весь апрель у нас - красного цвета! 1С обновила данные из ИТС, где их заполнили, как нерабочими. Ну, а чего вы хотели? У нас 25 числа марта месяца один человек по телевидению выступил и сказал, что до 30 апреля объявляются выходными дням с сохранением заработной платы. Но беда в том, что подобного статуса дня вроде как до того самого 25 марта 2020 не существовало. Да и сейчас так и не существует. Потому в производственном календаре и пометили все дни выходными. То бишь - не рабочими!

Комментарий: Кстати, начисление я исправлял вчера (29 апреля). И потому горит красным только апрель. Сегодня (30 апреля) уже в 7:30 позвонили из других организаций, обращаясь за помощью. И там в производственном календаре горели красными ещё 6,7 и 8 мая. А заодно автоматически изменился и производственный календарь на апрель (вновь стал нерабочим). Видимо, после обеда 29 апреля в техподдержке 1С переделали производственный календарь.

В общем, для того, чтобы начислить зп за "нерабочий" апрель организациям нужно вручную поменять производственный календарь за месяц. Делаем это так.

Нажимаем правой кнопкой мыши. Нажимаем "Изменить день"

-3

После чего выбираем "Рабочий".

-4

И так по каждому дню. В итоге должно получиться как-то вот так:

-5

После чего все начисления заработной платы должны отлично и вполне нормально проходить.

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

А заодно желаю всем здоровья!