← вся теориятеория к собесу · Регистры 1С

Регистры расчёта 1С: вытеснение и перерасчёт

разбор писал Даниил, автор Сеньорчика

Зачем это спрашивают

Регистр расчёта нужен там, где начисления зависят друг от друга: оклад вытесняется больничным, премия считается от оклада, исправление прошлого месяца тянет перерасчёт. В 1С:Зарплата и управление персоналом (ЗУП) на нём держатся начисления и удержания. На собесе спрашивают про два периода и вытеснение.

// Так спрашивают: «Чем период регистрации отличается от периода действия?» «Что такое фактический период действия?» «Как работает база начисления?» «Как исправить ошибку в закрытом месяце?»

Два периода

У записи регистра расчёта два периода. Период регистрации говорит, в каком месяце начислено. Период действия говорит, за какие дни. Больничный за январь, оформленный в феврале, регистрируют февралём, а действует он в январе.

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

Вытеснение и фактический период

Вытеснение задаёт план видов расчёта: больничный вытесняет оклад на свои дни. Виртуальная таблица ФактическийПериодДействия отдаёт для оклада дни без больничного, а ДанныеГрафика берёт из графика работы число рабочих дней и часов в этом периоде.

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

База и перерасчёт

Премия 10% от оклада берёт оклад базовым видом. Виртуальная таблица БазаНачисления складывает суммы базовых видов за базовый период: для премии за октябрь это 51 000, и премия равна 5 100.

Если оклад за октябрь исправили задним числом, премия от него устарела. Ведущая связь вида расчёта регистрирует зависимую запись в объекте Перерасчёт, а пересчитывает её прикладной код. Сама платформа ничего не пересчитывает, она только отмечает, что пересчитать.

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

Как отвечать: «Больничный за прошлый месяц принесли в текущем. Что произойдёт в расчёте?»

Больничный регистрирую в текущем месяце, а период действия ставлю прошлым. Поскольку больничный вытесняет оклад, фактический период действия оклада в прошлом месяце сократится, и оклад там надо пересчитать. Прошлый месяц уже закрыт, поэтому старую запись оклада гашу сторно и записываю правильную сумму в текущем периоде регистрации. Зависимые начисления вроде премии от оклада попадут в перерасчёт по ведущей связи.

Ответ проходит всю цепочку: два периода, вытеснение, закрытый месяц, сторно и перерасчёт зависимых. Это стандартный сценарий из ЗУП, на котором проверяют понимание регистра.

На чём валят

  • −Считают отработанные дни по периоду действия записи. В оклад попадают дни больничного. Дни берут из фактического периода действия.
  • −Переписывают записи закрытого месяца. Выплаты и отчёты уже ушли. Исправляют сторно и новой записью в текущем периоде.
  • −Берут регистр расчёта для разовой премии без зависимостей. Хватит оборотного регистра накопления, регистр расчёта нужен для вытеснения и баз.
  • −Ждут, что платформа сама пересчитает премию после правки оклада. Ведущая связь только регистрирует перерасчёт, считает прикладной код.

Проверь себя

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

  1. #oc_calc_reg1 / 5
    Какой объект задаёт виды расчётов для регистра расчёта?
    A)Перечисление видов начислений
    B)План видов характеристик
    C)План видов расчёта
    D)Справочник статей расходов
    показать ответ и разбор
    +C)План видов расчёта

    // разбор: Регистр расчёта ссылается на план видов расчёта, и у каждой записи есть ВидРасчета. Связи между видами — базовые, вытесняющие, ведущие — описаны там же. ПВХ используется для характеристик и субконто, а не для расчётов.

  2. #oc_calc_reg2 / 5
    Какая виртуальная таблица регистра расчёта учитывает вытеснение?
    A)БазаНачисления с базовым периодом
    B)ФактическийПериодДействия
    C)ДанныеГрафика по периоду действия
    D)ОстаткиИОбороты по видам расчёта
    показать ответ и разбор
    +B)ФактическийПериодДействия

    // разбор: ФактическийПериодДействия возвращает периоды действия записей с учётом вытеснения: дни оклада, перекрытые больничным, из оклада исключаются. По этим периодам и графику считают отработанное время. БазаНачисления даёт суммы базы, ДанныеГрафика — дни и часы графика.

  3. #oc_calc_reg3 / 5
    Как регистр расчёта знает рабочие дни сотрудника?
    A)Из производственного календаря, встроенного в платформу
    B)Через связанный регистр сведений графиков
    C)Из табеля, введённого в записи регистра расчёта
    D)Из реквизита сотрудника «Пятидневка» в карточке
    показать ответ и разбор
    +B)Через связанный регистр сведений графиков

    // разбор: В свойствах регистра расчёта указывают регистр сведений графиков, ресурс со значением и измерение даты. Виртуальная таблица ДанныеГрафика возвращает по записи сумму значений графика за период действия. Производственный календарь — данные прикладной конфигурации, а не встроенный механизм.

  4. #oc_calc_reg4 / 5
    Премия должна считаться от суммы оклада за месяц. Какую виртуальную таблицу использует расчёт премии?
    A)БазаНачисления
    B)ФактическийПериодДействия
    C)ДанныеГрафика
    D)СрезПоследних
    показать ответ и разбор
    +A)БазаНачисления

    // разбор: БазаНачисления возвращает суммы базовых видов расчёта за базовый период записи: для премии — оклад за месяц. Базовые виды задаются в плане видов расчёта. Расчёт премии — база, умноженная на процент.

  5. #oc_calc_reg5 / 5
    Зачем у записи регистра расчёта признак «Сторно»?
    A)Перенести запись в регистр следующего периода
    B)Пометить запись на удаление при закрытии месяца
    C)Заблокировать запись от любого перерасчёта
    D)Отменить ранее начисленное в прошлом периоде
    показать ответ и разбор
    +D)Отменить ранее начисленное в прошлом периоде

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

дальше

Теорию прочитал. Навык ставится повторением

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