May 11, 2022

Если в 1С:Бухгалтерия 3.0 не начисляется зарплата

Учет зарплаты в Бухгалтерии третьей редакции, хоть и имеет некоторое развитие, довольно простецкий. Тем сильнее было моё удивление, когда клиент пожаловался на нулевые суммы в расчёте зарплаты за Апрель. Проковырявшись несколько часов, нашёл решение проблемы.


Диспозиция такая: БП 3.0.91.36, в документе Начисление зарплаты с апреля перестали заполняться суммы оклада. Недавно база была обновлена с 3.0.89 до 3.0.91. Что это: ошибка в данных или кривое обновление?

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

Для начала проверил самое очевидное: организация одна, подразделение одно — ошибки выбора быть не может. Документов начисления за апрель нет, а если бы они были, то в табличной части заполняемого документа было бы пусто.

Отработанные дни и часы в документе ставятся как надо. Значит ошибка не в графике работы или производственном календаре. Проверил их тоже (Зарплата - Справочники и настройки - Графики работы), проблем нет. На всякий случай перезаполнил, не помогло.

Провёл стандартный обряд: очистил кэш, ТиИ средствами конфигуратора, проверил файл базы утилитой chdbfl, выгрузил её в dt и загрузил обратно. Обновил на последнюю подверсию — результат нулевой.

Проверил регистр сведений Плановые начисления. Зайти в него можно через команду Все функции (Функции для технического специалиста) — суммы в нём стоят и они верные. В карточках сотрудников они также есть.

В экспериментальных целях провел Кадровый перевод, чтобы заставить программу заполнить регистры. Результата нет.

Осмотрел настройки кадрового учёта и зарплаты, каких-то проблем не нашёл. Смотреть как будто больше и нечего, всё относящееся к начислениям проверено... Остальные регистры — кадровые. И в одном из них засела проблема.

В версии 3.0.90 добавлена возможность указывать количество занимаемых сотрудником ставок при неполном рабочем дне. Это можно сделать при приеме сотрудника на работу или при кадровом перемещении. Проблема только в том, что если в настройках кадрового учёта не включена нужная функциональность (Администрирование - Функциональность - Сотрудники, флаг Неполная ставка), то никаких ставок нигде не фигурирует и не заполняется — напоминаю, я тестовый кадровый перевод сделал, и он не включал в себя дополнительных полей.

С версии 3.0.90 1С Бухгалтерия поддерживает работу с неполной ставкой. Это нужно, например, для корректного формирования статистической отчётности

За хранение ставки отвечает одноимённый реквизит в регистре сведений Кадровая история сотрудников. Если неполная ставка не используется, то приём на работу ставит сюда единицу, а дальше она просто кочует из перевода в перевод.

Кадровая история хранила пустую ставку. А должна стоять единица

В обсуждаемой базе учёт велся очень давно, с 2014 года. Тогда, ещё в ред. 2.0, тут были оформлены приёмы на работу. Которые пару лет назад успешно переехали на ред. 3.0 и спокойно лежали, пережив свёртку базы. Обновление на 3.0.91 по какой-то причине ничего не добавило в их движения. Как не актуализировало и регистр сведений. Поэтому реквизит Ставка оказался пустым, что давало нулевое начисление оклада.

Пришлось добавлять запись регистра вручную через Операцию

Пришлось добавить ручную операцию (Операции - Операции, введенные вручную), в которой заполнить регистр сведений Кадровая история (Кнопка Ещё - Выбор регистров) по всем сотрудникам.

Благо, их пять человек. Альтернативный способ — включить флаг в настройках функциональности, и сделать кадровое перемещение. После установки ставки, оклад и аванс снова стали считаться корректно.

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