← Назад к вопросам
Что такое вытесняющие виды расчётов?
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: Итого
КВыплате = СуммаОбычных - НДФЛ;
КонецПроцедуры
Различие с обычными видами расчётов
| Аспект | Обычный вид | Вытесняющий вид |
|---|---|---|
| Суммирование | Складываются | Заменяют |
| Взаимодействие | Независимы | Исключают друг друга |
| Пример | Оклад + Премия | Отпуск вытесняет оклад |
| Условия | Всегда | По условию (отпуск, болезнь) |
| Результат | Сумма всех | Только активный вид |
Конфигурация вытесняющего вида
// В конфигураторе для справочника БазовыеВидыРасчётов:
// Параметры вытесняющего вида:
- Вытесняющий: Да/Нет
- ВытесняемыеВиды: перечисление видов, которые вытесняются
- ВидУчётаПериодов: указывает период вытеснения
- УслВид: условие для активации
Важные замечания
- Приоритет — если активно несколько вытесняющих видов, используется с наивысшим приоритетом
- Сохранение данных — вытеснённые виды не теряются, могут быть восстановлены
- Налоги — вычеты считаются от вытесняющего вида (НДФЛ от отпускных, а не от оклада)
- Отчётность — как в обычных, так и в аналитических отчётах видны вытеснённые виды
Практическое применение
Вытесняющие виды используются в модулях:
- Зарплата и кадры — для отпусков, больничных
- Управление персоналом — для отсутствий
- Кадровое делопроизводство — для учёта командировок
Это критический механизм для корректного расчёта зарплаты в России, где отпуск и болезнь требуют замены оклада на пособие.
Итого: вытесняющий вид расчёта это механизм, который полностью заменяет обычные начисления при определённых условиях (отпуск, болезнь), обеспечивая правильный расчёт зарплаты согласно законодательству.