Расчет остатков отпуска (включая дополнительные) при увольнении, Зарплата и управление персоналом КОРП 2.5

23.08.19

Учетные задачи - Зарплата

Обработка заполнения табличной части остатками Основного отпуска + Дополнительными (из карточки должности сотрудника на момент увольнения). Исправление в модуле, либо внешняя обработка заполнения табличной части документа. Код открыт (в описании).

Файлы

ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.

Наименование Скачано Купить файл
Расчет остатков отпуска (включая дополнительные) при увольнении, Зарплата и управление персоналом КОРП 2.5:
.epf 6,60Kb
1 2 500 руб. Купить

Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний

Оформите подписку на компанию для решения рабочих задач

Оформить подписку и скачать решение со скидкой

Вы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».

  • 0% комиссии — оплата напрямую исполнителю;
  • Исполнители любого масштаба — от отдельных специалистов до команд под проект;
  • Прямой обмен контактами между заказчиком и исполнителем;
  • Безопасная сделка — при необходимости;
  • Рейтинги, кейсы и прозрачная система откликов.

     Типовая редакция конфигурации "Зарплата и управление персоналом КОРП 2.5" не выполняет расчет остатков дополнительных отпусков при увольнении (в т.ч. например обязательно положенные северные отпуска). Согласно модуля расчета отпусков основным ежегодным отпуском для расчета является отпуск используемый в основном виде расчета "Оплата отпуска по календарным дням" (реквизит ежегодные отпуска).

Для скачивания предлагаю обработку подключения к табличной части "Сотрудники организации" документа "Увольнение из организации".

Для тех кто открывал конфигурацию для изменения, предлагаю свое решение, можно внести исправление в модуль документа.

Исправил 1 процедуру, добавил 1 функцию.

Все изменения в модуле документа "Увольнения из организации".

 

1) Процедура "РассчитатьКоличествоДнейОтпуска" (свой блок в рамках //&&&)

// Процедура рассчитывает количество дней отпуска, которые необходимо компенсировать или удержать
//
Процедура РассчитатьКоличествоДнейОтпуска(СтрокаТЧ, СведенияОСотрудниках = Неопределено) Экспорт
	
	Если Не ЗначениеЗаполнено(СтрокаТЧ.Сотрудник) ИЛИ Не ЗначениеЗаполнено(СтрокаТЧ.ДатаУвольнения) ИЛИ СтрокаТЧ.ПорядокРасчетаОтпуска.Пустая() Тогда
		Возврат;
	КонецЕсли;
	
	Результат = ОстаткиОтпусков.ОстатокОтпускаСотрудникаНаДату(СтрокаТЧ.Сотрудник, СтрокаТЧ.ДатаУвольнения, Истина, СтрокаТЧ.ПорядокРасчетаОтпуска);
	
	СтрокаТЧ.РабочийГодС							= Результат.РабочийГодС;
	СтрокаТЧ.РабочийГодПо							= Результат.РабочийГодПо;
	СтрокаТЧ.ДнейЧасовКомпенсацииУдержанияОтпуска	= Результат.ОстатокНаДату * ?(Результат.ОстатокНаДату >= 0, 1, -1);
	СтрокаТЧ.ПризнакКомпенсацииОтпуска				= Результат.ОстатокНаДату >= 0;
//&&& Начало изменения
	КоличествоДополнительногоОтпуска = 0;
	ДополнительныеОтпускаПоСотруднику = СтрокаТЧ.Сотрудник.ТекущаяДолжностьОрганизации.ЕжегодныеОтпуска;
	Для Каждого СтрокаДО ИЗ ДополнительныеОтпускаПоСотруднику Цикл
		Если СтрокаДО.КоличествоДнейОтпускаВГод = 0 Тогда
			Продолжить;
		КонецЕсли;
		РезультатДО = ОстаткиОтпуска_ОстатокОтпускаСотрудникаНаДату(СтрокаТЧ.Сотрудник, СтрокаТЧ.ДатаУвольнения, Истина, СтрокаТЧ.ПорядокРасчетаОтпуска, СтрокаДО.ВидЕжегодногоОтпуска, СтрокаДО.КоличествоДнейОтпускаВГод);
		КоличествоДополнительногоОтпуска = КоличествоДополнительногоОтпуска + РезультатДО.ОстатокНаДату;
	КонецЦикла;	
	ДнейОстатка = Результат.ОстатокНаДату + КоличествоДополнительногоОтпуска * ?(Результат.ОстатокНаДату + КоличествоДополнительногоОтпуска >= 0, 1, -1);
	СтрокаТЧ.ДнейЧасовКомпенсацииУдержанияОтпуска	= ДнейОстатка;
	СтрокаТЧ.ПризнакКомпенсацииОтпуска				= ДнейОстатка >= 0;
//&&& Конец изменения
	УвольнениеИзОрганизацийПереопределяемый.ДополнительноУточнитьДниКомпенсации(СтрокаТЧ, ПолучитьСведенияОСотрудниках(СведенияОСотрудниках, СтрокаТЧ.Сотрудник));
	
КонецПроцедуры

2) Добавил функцию, куда передаю свое значение отпуска (дополнительного из должности):

//&&& 
Функция ОстаткиОтпуска_ОстатокОтпускаСотрудникаНаДату(Сотрудник, ДатаОстатков = '00010101', ЭтоРасчетПриУвольнении = Ложь, ПорядокРасчетаОсновногоОтпуска = Неопределено, ВидДополнительногоОтпуска, КоличествоДнейДополнительногоОтпуска = 0) Экспорт 
	
	Если Не ЗначениеЗаполнено(Сотрудник) Тогда
		Возврат 0;
	КонецЕсли;
	
	Если Не ЗначениеЗаполнено(ДатаОстатков) Тогда
		ДатаОстатков = НачалоДня(ТекущаяДатаСеанса());
	КонецЕсли;
	
	ТаблицаДанных = ОстаткиОтпусков.ОписаниеТаблицыДанных();
	
	Строка = ТаблицаДанных.Добавить();
	Строка.Сотрудник							= Сотрудник;
	Строка.ДатаОстатков							= НачалоДня(ДатаОстатков);
	Строка.ЭтоРасчетПриУвольнении				= ЭтоРасчетПриУвольнении;
	Строка.ОтборПоВидуЕжегодногоОтпуска			= ВидДополнительногоОтпуска;
	
	Результат = ОстаткиОтпусков.ОстаткиОтпусков(ТаблицаДанных)[0];
	
	ОстаткиВРазрезеРабочихЛетИВидовОтпусков = Новый Массив;
	Для Каждого РабочийГод Из Результат.ДанныеРасчета Цикл
		Если РабочийГод.ДоступноДляСписанияВЭтомГоду = 0 Тогда
			Продолжить;
		КонецЕсли;
		ОстаткиВРазрезеРабочихЛетИВидовОтпусков.Добавить(Новый Структура("ВидЕжегодногоОтпуска, ОсталосьДней, РабочийГодС, РабочийГодПо, ПоследнийРабочийГод",
			РабочийГод.ВидЕжегодногоОтпуска, РабочийГод.ДоступноДляСписанияВЭтомГоду, РабочийГод.ДатаНачала, РабочийГод.ДатаОкончания, РабочийГод.ПоследнийРабочийГод));
	КонецЦикла;
	
	Возврат Новый Структура("ОстатокНаДату, РабочийГодС, РабочийГодПо, Примечание, ОстаткиВРазрезеВидовОтпусков, ОстаткиВРазрезеРабочихЛетИВидовОтпусков",
		Результат.ОстатокНаДату, Результат.РабочийГодС, Результат.РабочийГодПо, Результат.Примечание, Результат.ОстатокНаДатуПоВидамЕжегодныхОтпусков, ОстаткиВРазрезеРабочихЛетИВидовОтпусков);
	
КонецФункции

В модуль документа не стал добавлять комментарии при расчете, во внешней обработке заполнения табличной части, они есть:

Результат расчета по сотруднику: ******* *************** ************************
    Остаток основного отпуска: 4,670
    Остаток дополнительного отпуска (Доп.отпуск за работу в местностях с особыми климатическими условиями, дн/год:16,000): 2,670
Всего остаток отпуска: 7,340

 

Тестировалось на конфигурации: Зарплата и управление персоналом КОРП, редакция 2.5 (2.5.143.1).

Вступайте в нашу телеграмм-группу Инфостарт

Остатки отпуска Увольнение дополнительный отпуск

См. также

Перенос данных 1C Зарплата Бюджетный учет Программист Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Государственные, бюджетные структуры Россия Бюджетный учет Платные (руб)

Обработки для быстрого перехода с конфигураций «КАМИН:Расчет зарплаты для бюджетных учреждений 3.5» и «КАМИН:Зарплата для бюджетных учреждений 5.5» на конфигурацию «Зарплата и кадры государственного учреждения».

20740 руб.

28.07.2016    71677    192    158    

158

Зарплата Корректировка данных Бухгалтер 1С 8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет НДФЛ Платные (руб)

Внешняя обработка сравнивает НДФЛ из расчетного листка и НДФЛ из регистра, на разницу формирует документы в 2 шага. Исправляет расхождения, в том числе, когда Аванс больше Зарплаты

9760 руб.

01.09.2023    8971    322    93    

22

Зарплата Производство готовой продукции (работ, услуг) Учет рабочего времени Рабочее место Бизнес-аналитик Пользователь Руководитель проекта 1С:Предприятие 8 1С:Управление торговлей 10 1С:Управление нашей фирмой 1.6 1С:ERP Управление предприятием 2 1С:Бухгалтерия 3.0 1С:Управление торговлей 11 1С:Комплексная автоматизация 2.х 1С:Управление нашей фирмой 3.0 1С:Торговля и склад 7.7 Бытовые услуги, сервис Оптовая торговля, дистрибуция, логистика Электротехника и микроэлектроника Управленческий учет Платные (руб)

Модуль или расширение «Сервисный центр для 1С» позволяет принимать в ремонт оборудование (компьютеры, бытовая техника и т.п.), оформлять заявки инженеров на посещение клиентов и вести начисление заработной платы для сотрудников. Позволяет наладить автоматизированный учет в сервисном центре на уже существующей базе.

18800 руб.

01.11.2012    107345    132    1    

142

Зарплата Бухгалтер 1С:Предприятие 8 1С:Зарплата и Управление Персоналом 3.x Бухгалтерский учет Платные (руб)

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

5800 руб.

17.11.2020    27388    16    0    

17

Корректировка данных Зарплата Бухгалтер 1С:Предприятие 8 1С:Зарплата и кадры бюджетного учреждения 1С:Зарплата и Управление Персоналом 3.x Россия Бухгалтерский учет НДФЛ Платные (руб)

Проверено на начало 2026 года. Обработка исправляет технические ошибки по НДФЛ, взаиморасчетам с сотрудниками в 1С:ЗУП (1С:ЗКГУ) на начало года. Фактически все ошибки, которые проявляются в ведомостях на выплату, расчетных листках, при заполнении ведомостей на выплату и отчетах 6-НДФЛ и т.д. нужно начинать исправлять с начала расчетного года. Это позволит быть уверенными, что после завершения расчетов предыдущего года, начали работать с «чистого листа» без ошибочных остатков.

10980 руб.

06.10.2023    9819    41    23    

47

Зарплата Кадровый учет Бухгалтер Пользователь 1С 8.3 1С:Управление торговлей 11 Россия Управленческий учет Платные (руб)

Если не хотите ставить тяжёлую ЗУП? Нужен только табель и начисление по своим правилам? Рекомендуем этот модуль подключается к УТ, получаете табель, начисление и создание Расходный кассовый ордер/Списание безналичных денежных средств без типовой ЗУП

20740 руб.

27.04.2026    895    3    0    

1
Для отправки сообщения требуется регистрация/авторизация