← Назад к вопросам

Что такое вытесняющие виды расчётов?

1.8 Middle🔥 141 комментариев
#Конфигурации и типовые#Регистры

Комментарии (1)

🐱
claude-haiku-4.5PrepBro AI26 мар. 2026 г.(ред.)

Ответ сгенерирован нейросетью и может содержать ошибки

Вытесняющие виды расчётов в 1С

Вытесняющий вид расчёта это специальный тип начисления в системе расчётов зарплаты, который полностью заменяет предыдущее значение вместо суммирования с ним.

Определение и смысл

В отличие от обычных видов расчётов, которые складываются (оклад 50000 + премия 10000 = 60000), вытесняющие виды заменяют предыдущее значение.

Пример 1: Средняя зарплата при отпуске

// Обычный вид расчёта (складывается):
// Оклад = 50000
// Бонус = 5000
// Итого = 55000 (сумма)

// Вытесняющий вид расчёта:
// Оклад = 50000
// Отпускные (вытесняющий) = 50000 (берётся средняя)
// Итого = 50000 (заменено, не суммировано!)

Пример 2: Больничный лист

// При больничном листе:
// Оклад = 50000 (обычный)
// Больничное пособие = 30000 (вытесняющий)
// К выплате = 30000 (больничное ВЫТЕСНИЛО оклад)
// Не 50000 + 30000 = 80000

Как работают вытесняющие виды расчётов

// При расчёте зарплаты платформа:

1. Считает обычные виды (складывает)
   Оклад = 50000
   Премия = 10000
   Сумма = 60000

2. Применяет вытесняющие виды (заменяет)
   Если есть отпуск, то:
   Сумма = ЗАМЕНИТЬ(60000 на 50000) // вычислено как средняя
   
   Если есть больничный, то:
   Сумма = ЗАМЕНИТЬ(на 30000) // пособие

Практический пример

// Справочник: БазовыеВидыРасчётов

// Обычный вид: "Оклад"
Оклад = Справочники.БазовыеВидыРасчётов.НайтиПоНаименованию("Оклад");
Оклад.Тип = "Начисление";
Оклад.Вытесняющий = Ложь; // обычный вид
Оклад.Периодичность = "Ежемесячно";

// Вытесняющий вид: "Отпускные"
Отпускные = Справочники.БазовыеВидыРасчётов.НайтиПоНаименованию("Отпускные");
Отпускные.Тип = "Начисление";
Отпускные.Вытесняющий = Истина; // ЭТО ВЫТЕСНЯЮЩИЙ ВИД!
Отпускные.ВытесняемыеВиды = "Оклад,Премия"; // вытесняет эти виды
Отпускные.Периодичность = "Ежемесячно";

// Вытесняющий вид: "Больничное пособие"
Больничное = Справочники.БазовыеВидыРасчётов.НайтиПоНаименованию("Больничное");
Больничное.Тип = "Начисление";
Больничное.Вытесняющий = Истина; // ВЫТЕСНЯЮЩИЙ
Больничное.ВытесняемыеВиды = "Оклад,Премия,Бонус";
Больничное.Периодичность = "Ежемесячно";

Условия вытеснения

// При формировании расчётного листа:

РасчетныйЛист = Документы.РасчетныйЛист.СоздатьДокумент();

// Наличие отпуска — условие для вытесняющего вида "Отпускные"
ВремяОтпуска = ПолучитьВремяОтпуска(Сотрудник, Дата);

Если ВремяОтпуска > 0 Тогда
    // Вытесняющий вид "Отпускные" активируется
    // Оклад и Премия больше не учитываются
    
    СтрокаОтпускные = РасчетныйЛист.Расчеты.Добавить();
    СтрокаОтпускные.БазовыйВидРасчета = Справочники.БазовыеВидыРасчётов.НайтиПоНаименованию("Отпускные");
    СтрокаОтпускные.Сумма = ПолучитьСреднеюЗарплату(Сотрудник) * ВремяОтпуска;
КонецЕсли;

Реальные примеры вытесняющих видов

1. Отпуск

// Вытесняет: Оклад, Премия, Бонусы
// Заменяет на: Среднюю зарплату
// Причина: При отпуске сотрудник не работает, оклад не начисляется

2. Больничный лист

// Вытесняет: Оклад, Премия, Бонусы
// Заменяет на: Больничное пособие (% от оклада)
// Причина: При болезни оклад не начисляется

3. Отпуск по уходу за ребёнком

// Вытесняет: Оклад, Премия, Бонусы
// Заменяет на: Пособие по уходу
// Причина: Сотрудник не работает

4. Неоплачиваемый отпуск

// Вытесняет: Оклад, Премия, Бонусы
// Заменяет на: 0 (ничего не выплачивается)
// Причина: Сотрудник отсутствует

Алгоритм расчёта с вытесняющими видами

Процедура РассчитатьЗарплатаСВытеснением(Сотрудник, Период)
    
    // Шаг 1: Считаем обычные виды
    СуммаОбычных = 0;
    
    Оклад = 50000;
    Премия = 10000;
    Бонус = 5000;
    
    СуммаОбычных = Оклад + Премия + Бонус; // 65000
    
    // Шаг 2: Проверяем условия для вытесняющих видов
    Если ЕстьОтпуск(Сотрудник, Период) Тогда
        // Вытесняющий вид "Отпускные" активирован
        // Новая сумма = средняя зарплата
        СуммаОбычных = ПолучитьСреднюю(Сотрудник) * КоличествоДнейОтпуска;
        // 50000 (если средняя равна окладу)
        // Обычные виды ВЫТЕСНЕНЫ
    
    ИначеЕсли ЕстьБольничный(Сотрудник, Период) Тогда
        // Вытесняющий вид "Больничное" активирован
        // Новая сумма = пособие
        СуммаОбычных = 50000 * 0.6 * КоличествоДнейБольничного;
        // Обычные виды ВЫТЕСНЕНЫ
    
    КонецЕсли;
    
    // Шаг 3: Считаем вычеты
    НДФЛ = СуммаОбычных * 0.13;
    
    // Шаг 4: Итого
    КВыплате = СуммаОбычных - НДФЛ;
    
КонецПроцедуры

Различие с обычными видами расчётов

АспектОбычный видВытесняющий вид
СуммированиеСкладываютсяЗаменяют
ВзаимодействиеНезависимыИсключают друг друга
ПримерОклад + ПремияОтпуск вытесняет оклад
УсловияВсегдаПо условию (отпуск, болезнь)
РезультатСумма всехТолько активный вид

Конфигурация вытесняющего вида

// В конфигураторе для справочника БазовыеВидыРасчётов:

// Параметры вытесняющего вида:
- Вытесняющий: Да/Нет
- ВытесняемыеВиды: перечисление видов, которые вытесняются
- ВидУчётаПериодов: указывает период вытеснения
- УслВид: условие для активации

Важные замечания

  1. Приоритет — если активно несколько вытесняющих видов, используется с наивысшим приоритетом
  2. Сохранение данных — вытеснённые виды не теряются, могут быть восстановлены
  3. Налоги — вычеты считаются от вытесняющего вида (НДФЛ от отпускных, а не от оклада)
  4. Отчётность — как в обычных, так и в аналитических отчётах видны вытеснённые виды

Практическое применение

Вытесняющие виды используются в модулях:

  • Зарплата и кадры — для отпусков, больничных
  • Управление персоналом — для отсутствий
  • Кадровое делопроизводство — для учёта командировок

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

Итого: вытесняющий вид расчёта это механизм, который полностью заменяет обычные начисления при определённых условиях (отпуск, болезнь), обеспечивая правильный расчёт зарплаты согласно законодательству.

Что такое вытесняющие виды расчётов? | PrepBro