СКД: при увольнении еще одного сотрудника задваивает значение начислений
Задача была в создании отчёта СКД по уволенным сотрудникам(с выводом Сотрудника,его табельного номера,подразделения,должности,периода работы и следом шли вывод всех подразделений,в которых он работал за период работы и всеми начислениями).
Выкладываю обработку(Отчёт СКД) и код запроса.
ПРОБЛЕМА СЛЕДУЮЩАЯ: у меня при увольнении еще одного сотрудника задваивает значение начислений. Я не понимаю,как решить эту проблему. Пример покажу скриншотом.
Код:
Выкладываю обработку(Отчёт СКД) и код запроса.
ПРОБЛЕМА СЛЕДУЮЩАЯ: у меня при увольнении еще одного сотрудника задваивает значение начислений. Я не понимаю,как решить эту проблему. Пример покажу скриншотом.
Код:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник КАК Сотрудник,
КадроваяИсторияСотрудниковСрезПоследних.Сотрудник.Код КАК ТабельныйНомер,
КадроваяИсторияСотрудниковСрезПоследних.Подразделение КАК Подразделение,
КадроваяИсторияСотрудниковСрезПоследних.Должность КАК Должность,
Увольнение.ДатаУвольнения КАК ДатаУвольнения
ПОМЕСТИТЬ втУвольнение
ИЗ
РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.Увольнение КАК Увольнение
ПО КадроваяИсторияСотрудниковСрезПоследних.Регистратор = Увольнение.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ
Сотрудники.Ссылка КАК Сотрудник,
СУММА(вз.Начислено) КАК Начислено,
вз.Месяц КАК Месяц
ПОМЕСТИТЬ втНачисленоУдержано
ИЗ
(ВЫБРАТЬ
Начисления.ФизическоеЛицо КАК ФизЛицо,
Начисления.ВидРасчета КАК ВидРасчета,
Начисления.Результат КАК Начислено,
Начисления.Месяц КАК Месяц
ИЗ
РегистрРасчета.Начисления КАК Начисления
//) как вз
ОБЪЕДИНИТЬ ВСЕ
ВЫБРАТЬ
Удержания.ФизическоеЛицо,
Удержания.ВидРасчета,
-Удержания.Результат,
НАЧАЛОПЕРИОДА(Удержания.ПериодРегистрации, МЕСЯЦ)
ИЗ
РегистрРасчета.Удержания КАК Удержания) КАК вз
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Справочник.Сотрудники КАК Сотрудники
ПО вз.ФизЛицо = Сотрудники.ФизическоеЛицо
СГРУППИРОВАТЬ ПО
вз.Месяц,
Сотрудники.Ссылка
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ
втУвольнение.Сотрудник КАК Сотрудник,
втУвольнение.ТабельныйНомер КАК ТабельныйНомер,
втУвольнение.Подразделение КАК Подразделение,
втУвольнение.Должность КАК Должность,
втУвольнение.ДатаУвольнения КАК ДатаУвольнения,
ПриемНаРаботу.ДатаПриема КАК ДатаПриема
ПОМЕСТИТЬ втПриемНаРаботу
ИЗ
втУвольнение КАК втУвольнение
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПервых КАК КадроваяИсторияСотрудниковСрезПервых
ВНУТРЕННЕЕ СОЕДИНЕНИЕ Документ.ПриемНаРаботу КАК ПриемНаРаботу
ПО КадроваяИсторияСотрудниковСрезПервых.Регистратор = ПриемНаРаботу.Ссылка
ПО втУвольнение.Сотрудник = КадроваяИсторияСотрудниковСрезПервых.Сотрудник
;
////////////////////////////////////////////////////////////////////////////////
ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ
КадроваяИсторияСотрудников.Подразделение КАК Подразделения,
втПриемНаРаботу.Сотрудник КАК Сотрудник,
втПриемНаРаботу.ТабельныйНомер КАК ТабельныйНомер,
втПриемНаРаботу.Подразделение КАК ПодразделениеНаМоментУвольнения,
втПриемНаРаботу.Должность КАК Должность,
втПриемНаРаботу.ДатаУвольнения КАК ДатаУвольнения,
втПриемНаРаботу.ДатаПриема КАК ДатаПриема,
втНачисленоУдержано.Начислено КАК Начислено,
втНачисленоУдержано.Месяц КАК Месяц
{ВЫБРАТЬ
Подразделения.*,
Сотрудник.*,
ТабельныйНомер,
ПодразделениеНаМоментУвольнения.*,
Должность.*,
ДатаУвольнения,
ДатаПриема,
Начислено,
Месяц}
ИЗ
втПриемНаРаботу КАК втПриемНаРаботу
ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников
ПО втПриемНаРаботу.Сотрудник = КадроваяИсторияСотрудников.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ втНачисленоУдержано КАК втНачисленоУдержано
ПО втПриемНаРаботу.Сотрудник = втНачисленоУдержано.Сотрудник
И втНачисленоУдержано.Месяц <= втПриемНаРаботу.ДатаУвольнения
{ГДЕ
КадроваяИсторияСотрудников.Подразделение.*,
втПриемНаРаботу.Сотрудник.*,
втПриемНаРаботу.ТабельныйНомер,
втПриемНаРаботу.Подразделение.*,
втПриемНаРаботу.Должность.*,
втПриемНаРаботу.ДатаУвольнения,
втПриемНаРаботу.ДатаПриема,
втНачисленоУдержано.Начислено,
втНачисленоУдержано.Месяц}
ПоказатьПрикрепленные файлы:
НачисленоУволенным.erf

Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
UPD:Удваивается сумма начисления,если совершать кадровый перевод задним числом перед увольнением.
Как я понимаю задвоение идёт из-за того,что кадровый перевод делает так,что в подразделениях,которые отображаются в графе,где должны указываться все подразделения за период работы в зависимости от кол-ва подразделений умножает начисления.
UPD:Сделал у одного сотрудника три перевода. Да,моя догадка оказалась верной,сумма начислений(из-за того,что указано три подразделения) умножилась на три. Но вопрос,как это исправить остается открытым.
Как я понимаю задвоение идёт из-за того,что кадровый перевод делает так,что в подразделениях,которые отображаются в графе,где должны указываться все подразделения за период работы в зависимости от кол-ва подразделений умножает начисления.
UPD:Сделал у одного сотрудника три перевода. Да,моя догадка оказалась верной,сумма начислений(из-за того,что указано три подразделения) умножилась на три. Но вопрос,как это исправить остается открытым.
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот