Откуда 1С берёт базу для расчёта: базовый период на практике

· 9 мин

Содержание

Базовый период в 1С — это интервал дат, за который программа собирает начисления-основу (базу) для другого начисления. Премия 10% за квартал берёт базу с 1 января по 31 марта, отпускные — за 12 месяцев до начала отпуска. Задаётся он в записи регистра расчёта: у неё есть реквизиты БазовыйПериодНачало и БазовыйПериодКонец.

Пользователь ЗУП чаще всего видит базовый период под другими именами: «расчётный период» среднего заработка, «период, за который начисляется премия». Разработчик настраивает его в конфигураторе — в свойствах регистра расчёта и плана видов расчёта. Ниже обе стороны: что настроить и как проверить, что база посчитана верно.

Что такое базовый период в 1С и зачем он нужен

В платформе 1С:Предприятие 8.3 расчёт зарплаты построен на регистрах расчёта. Каждое начисление — запись регистра. Одни начисления зависят от других: премия — от оклада, доплата за вредность — от отработанного времени, пособие — от заработка за прошлые годы.

Начисления, от которых зависит расчёт, называют базовыми. Базовый период отвечает на вопрос «за какие даты брать базовые начисления».

Без него программа не знает, что премию за квартал нужно считать от окладов января, февраля и марта, а не только от текущего месяца.

📌 Где базовый период нужен чаще всего:

  • 💰 премии за квартал или год, рассчитанные процентом от начислений;
  • 🏖️ отпускные и компенсация отпуска — по среднему заработку;
  • 🩺 пособия по нетрудоспособности и по беременности и родам;
  • 📊 доплаты процентом от фактического заработка за прошлые месяцы.

Базовый период, период регистрации и период действия: в чём разница

У записи регистра расчёта может быть три периода. Их путают, и отсюда большая часть вопросов «почему база не та».

ПериодЧто означаетПример для премии за 1-й квартал
Период регистрацииМесяц, в котором начисление отражено в учётеАпрель
Период действияДаты, к которым начисление относится по существуАпрель (или период работы, если начисление по времени)
Базовый периодДаты, из которых берутся базовые начисления1 января — 31 марта

💡 Простое правило: период регистрации — «когда начислили», период действия — «за что», базовый период — «от чего считали».

Как платформа выбирает записи в базу

В плане видов расчёта для вида расчёта задаётся зависимость от базы. Вариантов три:

  1. Не зависит — база не нужна, базовый период не используется.
  2. По периоду регистрации — в базу попадают записи базовых видов расчёта, у которых период регистрации входит в базовый период.
  3. По периоду действия — в базу попадает та часть базовых начислений, чей фактический период действия пересекается с базовым периодом.

Разница видна на сторно. Допустим, в апреле сторнировали часть мартовского оклада. По периоду регистрации эта запись относится к апрелю и в базу первого квартала не войдёт. По периоду действия она относится к марту и уменьшит базу премии.

Где задаётся базовый период в 1С

В конфигураторе: регистр и план видов расчёта

Чтобы у записей появились реквизиты базового периода, в свойствах регистра расчёта включают флажок «Базовый период». После этого у регистра появляются стандартные реквизиты БазовыйПериодНачало и БазовыйПериодКонец.

Дальше настраивают план видов расчёта, к которому привязан регистр:

  1. Откройте вид расчёта (например, «Премия квартальная») в режиме 1С:Предприятие или в предопределённых данных.
  2. На закладке базовых видов расчёта укажите, от каких начислений он считается: оклад, доплаты, надбавки.
  3. В свойствах вида расчёта выберите тип зависимости: по периоду регистрации или по периоду действия.

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

В ЗУП 3.1: где пользователь видит базу

В типовой «Зарплате и управлении персоналом» базовый период заполняется программой по правилам начисления. Пользователь управляет им косвенно:

  • в карточке начисления (Настройка → Начисления) указан состав базы — какие начисления в неё входят;
  • в документе премии выбирается период, за который она начисляется (месяц, квартал, год — зависит от настройки начисления);
  • в документах «Отпуск» и «Больничный лист» показывается расчётный период и данные для среднего заработка.

Базовый период для среднего заработка: отпуск и больничный

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

ВыплатаРасчётный периодНорма
Отпускные, компенсация отпуска12 календарных месяцев перед месяцем начала отпускаст. 139 ТК РФ, Положение № 922
Пособие по нетрудоспособности, по беременности и родам2 календарных года перед годом наступления случаяст. 14 закона № 255-ФЗ

Пример. Отпуск начинается 15 апреля. Расчётный период — с 1 апреля прошлого года по 31 марта текущего. Апрель текущего года в базу не входит, даже если работник уже отработал в нём две недели.

Замена лет для пособий

Если в одном или обоих годах расчётного периода работник был в отпуске по беременности и родам или по уходу за ребёнком, по его заявлению эти годы можно заменить предшествующими. Условие — замена увеличивает пособие.

В ЗУП это делается в самом документе больничного: в блоке данных для расчёта среднего заработка есть возможность заменить годы. После замены проверьте, что программа подтянула заработок за новые годы — если работник тогда работал у другого работодателя, данные вносятся по справке о заработке.

💡 Если заработка в расчётном периоде не было или он ниже минимального, пособие считают от МРОТ. ЗУП делает это сам, но в документе видно, какой вариант применён, — стоит сверить.

Почему база посчитана неверно: частые причины

Когда сумма премии или отпускных не сходится с ручным расчётом, причина почти всегда в одном из пунктов ниже.

Диагностика: выберите симптом

Ещё одна типичная ситуация — изменили базу задним числом. Например, в мае провели исправление мартовского оклада, а квартальная премия уже начислена в апреле. Премия посчитана от старой суммы и сама не изменится.

Как исправить ошибки в базе и пересчитать начисление

Шаг 1. Найдите, что не так в базе

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

Шаг 2. Исправьте источник

  • Начисление не входит в базу — добавьте его в состав базы в карточке зависимого начисления.
  • Ошибка в базовом начислении прошлого месяца — исправьте документ этого месяца через механизм исправления, а не правкой закрытого периода «вручную».
  • Не те данные для среднего — исправьте их в самом документе отпуска или больничного либо внесите данные справки.

Шаг 3. Пересчитайте зависимое начисление

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

В ЗУП это выглядит так: при следующем начислении зарплаты появляется перерасчёт прошлого периода, или документ премии нужно перезаполнить и провести повторно.

Не проводите копию документа премии, чтобы «досчитать» разницу. Получится двойное начисление и двойной НДФЛ. Если копию уже провели — отмените её проведение и пометьте на удаление.

Шаг 4. Проверьте налоги и взносы

Пересчёт меняет сумму начисления, а значит НДФЛ и взносы того месяца, где он отражён. Если месяц уже закрыт и отчётность сдана, оцените, нужна ли уточнённая отчётность.

Как заполнить базовый период программно

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

Движение = Движения.Начисления.Добавить();
Движение.ПериодРегистрации = НачалоМесяца(Дата);
Движение.ВидРасчета = ПланыВидовРасчета.Начисления.ПремияКвартальная;
Движение.Сотрудник = Сотрудник;
Движение.ПериодДействияНачало = НачалоМесяца(Дата);
Движение.ПериодДействияКонец = КонецМесяца(Дата);
// База — предыдущий квартал
НачалоПрошлогоКвартала = НачалоКвартала(ДобавитьМесяц(Дата, -3));
Движение.БазовыйПериодНачало = НачалоПрошлогоКвартала;
Движение.БазовыйПериодКонец = КонецКвартала(НачалоПрошлогоКвартала);

Имена регистра и видов расчёта здесь условные — подставьте свои.

Получить базу удобно запросом к виртуальной таблице базы. Она называется по шаблону База<ИмяБазовогоРегистра> и возвращает ресурсы с окончанием «База»:

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

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

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

Пример: премия за квартал и отпускные

Квартальная премия 10%

Сотрудник получал оклад 60 000 ₽ в январе и феврале. В марте отработал половину месяца — оклад 30 000 ₽. Ещё в феврале была доплата за совмещение 5 000 ₽, она входит в базу.

База за 1 января — 31 марта: 60 000 + 60 000 + 30 000 + 5 000 = 155 000 ₽. Премия: 155 000 × 10% = 15 500 ₽. Начисление в апреле, базовый период — первый квартал.

Если доплату не включить в состав базы, премия выйдет 15 000 ₽. Разница в 500 ₽ — первый признак, что нужно открыть карточку начисления.

Отпускные

Отпуск 14 календарных дней с 15 апреля. Расчётный период отработан полностью, заработок за 12 месяцев — 720 000 ₽.

Среднедневной заработок: 720 000 / 12 / 29,3 = 2 047,78 ₽. Отпускные: 2 047,78 × 14 = 28 668,92 ₽.

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

Частые вопросы о базовом периоде

Можно ли поменять базовый период в уже проведённом документе ЗУП?
Да, если начисление позволяет выбрать период. Измените период в документе, перезаполните и проведите повторно. Если месяц закрыт — используйте исправление документа.
Базовый период может быть в будущем?
Технически платформа позволяет задать любые даты. Но базы за будущие месяцы ещё нет, и результат будет нулевым или неполным. Для начислений «авансом» базовым периодом делают прошедшие месяцы.
Зачем базовый период, если есть период действия?
Период действия говорит, к каким датам относится само начисление. Базовый период — откуда брать данные для расчёта. Для премии за квартал они различаются: действует она в апреле, а база — за январь–март.
Входит ли в базу начисление, которое ещё не проведено?
Нет. В базу попадают только записи регистра, то есть проведённые документы. Поэтому сначала проводят базовые начисления, потом зависимые.
Есть ли базовый период в 1С:Бухгалтерии?
В БП 3.0 зарплата считается упрощённо, и пользователь с базовым периодом напрямую не работает. Это понятие нужно в ЗУП, ERP и других конфигурациях с полноценным расчётом зарплаты, а также разработчикам.

Источники

  • Трудовой кодекс РФ, статья 139
  • Федеральный закон от 29.12.2006 № 255-ФЗ, статья 14
  • Постановление Правительства РФ от 24.12.2007 № 922