21 апреля 2021 г.

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

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

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

Дни и часы есть, внутри ссылок Начислено имеется строка с окладом

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

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

#1C

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

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

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

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

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

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

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

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

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

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

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

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

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

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

12 комментариев:

  1. спаисибо огромное, очень помогло!!!

    ОтветитьУдалить
  2. Спасибо Большое!!!! очень помогло!!!

    ОтветитьУдалить
  3. Огромное спасибо!!! очень помогли решить эту проблему

    ОтветитьУдалить
  4. Огромная благодарность!

    ОтветитьУдалить
  5. Огромное спасибо! вот поди догадайся!))

    ОтветитьУдалить
    Ответы
    1. На здоровье ))
      При том, что сама 1С не велит писать код так, чтобы источник ошибки был неявным. И тут же такое в коробочном решении

      Удалить
  6. Очень помогла статья! Спасибо!

    ОтветитьУдалить
  7. Здравствуйте! А с такой проблемой не сталкивались: при начислении з/пл в один месяц падает круглый оклад, в другой - какие-то копейки и неровности. Хотя, при окладе, оклад должен всегда иметь один размер. Меня попросили о помощи коллега. Подозреваю, что что-то с производственным календарем/настройками, но, т.к. сама работаю в другой редакции, пока не могу ответить на этот вопрос. Вы с таким сталкивались? Редакция 1с:Бухгалтерия 3.0.96.30, но проблема тянется с середины прошлого года

    ОтветитьУдалить
    Ответы
    1. Да, про производственный календарь хорошее предположение, потому что в БП кроме него (ну и отсутствий, понятно) на оклад ничего не влияет. Я бы с его проверки начал. Если не поможет - надо смотреть чего там в базе происходит.

      Удалить
  8. Спасибо. Столько билась, часть сотрудников рассчитывал,несколько-нет. Поставила флажок, перепровела последние кадровые-все теперь считает. Очень выручили,спасибо.

    ОтветитьУдалить