СКД: при увольнении еще одного сотрудника задваивает значение начислений

1. HarkonLord 02.02.24 10:39 Сейчас в теме
Задача была в создании отчёта СКД по уволенным сотрудникам(с выводом Сотрудника,его табельного номера,подразделения,должности,периода работы и следом шли вывод всех подразделений,в которых он работал за период работы и всеми начислениями).

Выкладываю обработку(Отчёт СКД) и код запроса.

ПРОБЛЕМА СЛЕДУЮЩАЯ: у меня при увольнении еще одного сотрудника задваивает значение начислений. Я не понимаю,как решить эту проблему. Пример покажу скриншотом.

Код:

ВЫБРАТЬ РАЗРЕШЕННЫЕ
	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
	КадроваяИсторияСотрудниковСрезПоследних.Сотрудник.Код КАК ТабельныйНомер,
	КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
	КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
	Увольнение.ДатаУвольнения КАК ДатаУвольнения
ПОМЕСТИТЬ втУвольнение
ИЗ
	РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Увольнение КАК Увольнение
		ПО КадроваяИсторияСотрудниковСрезПоследних.Регистратор = Увольнение.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	Сотрудники.Ссылка КАК Сотрудник,
	СУММА(вз.Начислено) КАК Начислено,
	вз.Месяц КАК Месяц
ПОМЕСТИТЬ втНачисленоУдержано
ИЗ
	(ВЫБРАТЬ
		Начисления.ФизическоеЛицо КАК ФизЛицо,
		Начисления.ВидРасчета КАК ВидРасчета,
		Начисления.Результат КАК Начислено,
		Начисления.Месяц КАК Месяц
	ИЗ
		РегистрРасчета.Начисления КАК Начисления
		//) как вз
	
	ОБЪЕДИНИТЬ ВСЕ
	
	ВЫБРАТЬ
		Удержания.ФизическоеЛицо,
		Удержания.ВидРасчета,
		-Удержания.Результат,
		НАЧАЛОПЕРИОДА(Удержания.ПериодРегистрации, МЕСЯЦ)
	ИЗ
		РегистрРасчета.Удержания КАК Удержания) КАК вз
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
		ПО вз.ФизЛицо = Сотрудники.ФизическоеЛицо

СГРУППИРОВАТЬ ПО
	вз.Месяц,
	Сотрудники.Ссылка
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
	втУвольнение.Сотрудник КАК Сотрудник,
	втУвольнение.ТабельныйНомер КАК ТабельныйНомер,
	втУвольнение.Подразделение КАК Подразделение,
	втУвольнение.Должность КАК Должность,
	втУвольнение.ДатаУвольнения КАК ДатаУвольнения,
	ПриемНаРаботу.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ втПриемНаРаботу
ИЗ
	втУвольнение КАК втУвольнение
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПервых КАК КадроваяИсторияСотрудниковСрезПервых
			ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу КАК ПриемНаРаботу
			ПО КадроваяИсторияСотрудниковСрезПервых.Регистратор = ПриемНаРаботу.Ссылка
		ПО втУвольнение.Сотрудник = КадроваяИсторияСотрудниковСрезПервых.Сотрудник
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
	КадроваяИсторияСотрудников.Подразделение КАК Подразделения,
	втПриемНаРаботу.Сотрудник КАК Сотрудник,
	втПриемНаРаботу.ТабельныйНомер КАК ТабельныйНомер,
	втПриемНаРаботу.Подразделение КАК ПодразделениеНаМоментУвольнения,
	втПриемНаРаботу.Должность КАК Должность,
	втПриемНаРаботу.ДатаУвольнения КАК ДатаУвольнения,
	втПриемНаРаботу.ДатаПриема КАК ДатаПриема,
	втНачисленоУдержано.Начислено КАК Начислено,
	втНачисленоУдержано.Месяц КАК Месяц
{ВЫБРАТЬ
	Подразделения.*,
	Сотрудник.*,
	ТабельныйНомер,
	ПодразделениеНаМоментУвольнения.*,
	Должность.*,
	ДатаУвольнения,
	ДатаПриема,
	Начислено,
	Месяц}
ИЗ
	втПриемНаРаботу КАК втПриемНаРаботу
		ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
		ПО втПриемНаРаботу.Сотрудник = КадроваяИсторияСотрудников.Сотрудник
		ЛЕВОЕ СОЕДИНЕНИЕ втНачисленоУдержано КАК втНачисленоУдержано
		ПО втПриемНаРаботу.Сотрудник = втНачисленоУдержано.Сотрудник
		И втНачисленоУдержано.Месяц <= втПриемНаРаботу.ДатаУвольнения
{ГДЕ
	КадроваяИсторияСотрудников.Подразделение.*,
	втПриемНаРаботу.Сотрудник.*,
	втПриемНаРаботу.ТабельныйНомер,
	втПриемНаРаботу.Подразделение.*,
	втПриемНаРаботу.Должность.*,
	втПриемНаРаботу.ДатаУвольнения,
	втПриемНаРаботу.ДатаПриема,
	втНачисленоУдержано.Начислено,
	втНачисленоУдержано.Месяц}
Показать
Прикрепленные файлы:
НачисленоУволенным.erf
Найденные решения
3. HarkonLord 02.02.24 16:14 Сейчас в теме
UPD:Решение оказалось в графе Ресурсы СКД.
Там шел расчёт Сумма(Начисления).
Я изменил вычесляемое поле на "Сумма(Начисления)/Количество(Различные Подразделения).
Всё заработало,как должно было работать с самого начала,всем спасибо!
Остальные ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. HarkonLord 02.02.24 13:32 Сейчас в теме
UPD:Удваивается сумма начисления,если совершать кадровый перевод задним числом перед увольнением.
Как я понимаю задвоение идёт из-за того,что кадровый перевод делает так,что в подразделениях,которые отображаются в графе,где должны указываться все подразделения за период работы в зависимости от кол-ва подразделений умножает начисления.

UPD:Сделал у одного сотрудника три перевода. Да,моя догадка оказалась верной,сумма начислений(из-за того,что указано три подразделения) умножилась на три. Но вопрос,как это исправить остается открытым.
3. HarkonLord 02.02.24 16:14 Сейчас в теме
UPD:Решение оказалось в графе Ресурсы СКД.
Там шел расчёт Сумма(Начисления).
Я изменил вычесляемое поле на "Сумма(Начисления)/Количество(Различные Подразделения).
Всё заработало,как должно было работать с самого начала,всем спасибо!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот