Ошибка «начисления не могут быть записаны при заданных настройках последовательности расчёта» в 1С ЗУП

· 6 мин

Содержание

Сообщение Начисления не могут быть записаны при заданных настройках последовательности расчёта в 1С ЗУП вылезает не на пустом месте: где-то в видах начислений закольцевалась база расчёта. Одно начисление считается «от» другого, а то, в свою очередь, «от» первого — программа не понимает, что считать раньше, и отказывается записывать.

Разберём, что именно 1С ЗУП называет последовательностью расчёта, почему начисления не могут быть записаны при таких настройках и как разорвать цикл за несколько минут — без обращения к программисту.

Ошибка чаще всего появляется в ЗУП 3.1 после того, как вы вручную создали или скопировали вид начисления, либо добавили доплату до МРОТ, ночные или сверхурочные с настройкой базы.

Что означает «последовательность расчёта начислений» в 1С ЗУП

Каждое начисление в ЗУП считается в определённом порядке. Порядок задаётся на вкладке Расчёт базы в карточке вида начисления (НастройкаНачисления).

Там два ключевых поля:

  • 🔹 Последовательность расчёта — когда считать это начисление:
    • Рассчитывается в первую очередь (первичное начисление) — не зависит ни от чего;
    • Рассчитывается после первичных начислений (зависит от других начислений).
  • 🔹 База — перечень начислений, суммы которых входят в расчёт (актуально для процентных доплат, районного коэффициента, доплаты до МРОТ и т. п.).

Логика простая: первичные начисления (оклад, тариф) считаются первыми. Всё, что зависит от них, — вторым эшелоном. Если эта иерархия ломается, 1С сообщает, что начисления не могут быть записаны при заданных настройках последовательности расчёта.

Почему начисления не могут быть записаны: циклическая зависимость

Главная причина — круговая ссылка в базе расчёта. Проще всего показать на числах.

Допустим, у вас два начисления:

НачислениеПоследовательностьБаза (от чего считается)
Премия 10%Зависит от другихОклад + Надбавка
Надбавка 15%Зависит от другихОклад + Премия

Премия считается от надбавки, а надбавка — от премии. Получается замкнутый круг: чтобы посчитать одно, нужно уже знать второе. Именно на такой конфигурации 1С ЗУП блокирует запись.

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

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

Как исправить ошибку в 1С ЗУП пошагово

Пошаговый помощник
Найдите проблемное начисление
Откройте НастройкаНачисления. Обычно это то начисление, которое вы редактировали последним. Зайдите в него.

Меняете чужую (типовую) настройку начисления — сначала сделайте резервную копию базы и согласуйте изменение с расчётчиком. Неверная база тихо исказит суммы во всех документах, где это начисление участвует.

Особые случаи, на которых спотыкаются чаще всего

Доплата до МРОТ

Доплата до МРОТ по смыслу считается в самом конце: она добирает разницу между фактической зарплатой и минимальным размером оплаты труда. Поэтому в её базу входят почти все начисления, но сама доплата не должна входить ни в чью базу. Если её случайно добавили, например, в базу районного коэффициента — получите цикл.

Ночные и сверхурочные

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

Копирование вида начисления

При копировании (Создать → на основе существующего) 1С иногда переносит в базу ссылку на само копируемое начисление. Начисление ссылается на себя — это тоже цикл. Проверяйте базу у каждой копии.

Увольнение в середине месяца

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

Частые ошибки и как их избежать

  • Меняют последовательность наугад. Сначала выясните, какое начисление считается раньше по смыслу (оклад — всегда первичный), и только потом расставляйте приоритеты.
  • Чистят базу «под ноль». Тогда процентная доплата посчитается от нуля. Убирайте из базы только то начисление, что создаёт цикл, а не всё подряд.
  • Правят только одно начисление из пары. Цикл образуют двое. Проверьте оба, иначе ошибка вернётся при следующем расчёте.
  • Не делают бэкап. Восстановить исходную конфигурацию начисления «на глаз» сложно.

Если не помогло

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

  1. 🔍 Проверьте все пользовательские начисления, а не только последнее — цикл мог сложиться из трёх и более звеньев (А → Б → В → А).
  2. 🔍 Загляните в удержания и совокупную тарифную ставку — они тоже участвуют в последовательности расчёта.
  3. 🔍 Обновите конфигурацию до актуального релиза ЗУП 3.1: часть проверок последовательности разработчики со временем смягчили.
  4. 🔍 Временно переключите проблемное начисление на Рассчитывается в первую очередь без базы, запишите, затем аккуратно верните нужную базу — так проще локализовать конфликт.
  5. 🔍 Если начисление типовое и вы его не трогали — сравните настройки с чистой демо-базой той же версии.

Частые вопросы

Где в 1С ЗУП находится настройка последовательности расчёта?
В карточке вида начисления: НастройкаНачисления → открыть начисление → вкладка Расчёт базы. Поля Последовательность расчёта и База.
Что значит «первичное начисление»?
Это начисление, которое считается в первую очередь и не зависит от других (оклад, тариф). У него не должно быть заполнена база.
Почему ошибка появилась после добавления доплаты до МРОТ?
Доплата до МРОТ включает в базу все начисления и должна считаться последней. Если её саму добавили в чью-то базу, образуется цикл — запись блокируется.
Можно ли просто удалить проблемное начисление?
Если оно не использовалось в документах — да. Но если по нему уже были начисления, удаление нарушит данные. Правильнее исправить базу, а не удалять.
Ошибка выскакивает при проведении документа, а не в справочнике. Что делать?
Принцип тот же: найдите пару начислений со встречной базой. Документ лишь запускает пересчёт, а конфликт заложен в настройках видов расчёта.
Нужен ли для исправления программист?
Нет. Разбор базы расчёта и снятие цикла делаются в пользовательском режиме. Программист нужен только при нетиповых доработках конфигурации.