Запрос на получение заключенных и не заключенных договоров МОЛ
Здравствуйте, стояла задача на создание отчета, который выводил бы заключенные договора МОЛ и сотрудников, у которых они не заключены.
Чтобы узнать, какая должность имеет материальную ответственность, есть документ "Назначение должностей мол", в котором нужно выбрать подразделение и должности из этих подразделений, у которых есть МОЛ.
Далее составляется договор МОЛ уже именно на сотрудника, отчет делаю вот таким запросом.
Проблема состоит в том, что если сотрудник перевелся в другое подразделение, то он исчезает из предыдущего МОЛ (в отчете), что верно, но при создании нового МОЛ (на новое подразделение) на сотрудников данного подразделения, то они не выводятся в отчете, а только тот сотрудник, который перевёлся, хотя на него (в новом подразделении), ещё не составлен ни договор, ни назначение должности.
Чтобы узнать, какая должность имеет материальную ответственность, есть документ "Назначение должностей мол", в котором нужно выбрать подразделение и должности из этих подразделений, у которых есть МОЛ.
Далее составляется договор МОЛ уже именно на сотрудника, отчет делаю вот таким запросом.
ВЫБРАТЬ
ВЫБОР
КОГДА СЭ_ДоговорыМОЛ.Период ЕСТЬ NULL
ТОГДА "НЕ ЗАКЛЮЧЕН"
ИНАЧЕ СЭ_ДоговорыМОЛ.Период
КОНЕЦ КАК Период,
ЕСТЬNULL(КадроваяИсторияСотрудниковСрезПоследних.Сотрудник, "НЕКОРРЕКТНО ВВЕДЕННЫЕ ДАННЫЕ") КАК Сотрудник,
ЕСТЬNULL(КадроваяИсторияСотрудниковСрезПоследних.Должность, "НЕКОРРЕКТНО ВВЕДЕННЫЕ ДАННЫЕ") КАК Должность,
СЭ_ДоговорыМОЛ.ВидМатериальнойОтветственности КАК ВидМатериальнойОтветственности,
ЕСТЬNULL(КадроваяИсторияСотрудниковСрезПоследних.Подразделение, СЭ_ДолжностиМОЛСрезПоследних.Подразделение) КАК Подразделение,
ТекущиеКадровыеДанныеСотрудников.ДатаУвольнения КАК ДатаУвольнения,
КадровыйПеревод.ДатаНачала КАК ДатаНачала
ИЗ
РегистрСведений.СЭ_ДолжностиМОЛ.СрезПоследних КАК СЭ_ДолжностиМОЛСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК КадроваяИсторияСотрудниковСрезПоследних
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.СЭ_ДоговорыМОЛ КАК СЭ_ДоговорыМОЛ
ПО (СЭ_ДоговорыМОЛ.Сотрудник = КадроваяИсторияСотрудниковСрезПоследних.Сотрудник)
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ТекущиеКадровыеДанныеСотрудников КАК ТекущиеКадровыеДанныеСотрудников
ПО КадроваяИсторияСотрудниковСрезПоследних.Сотрудник = ТекущиеКадровыеДанныеСотрудников.Сотрудник
ЛЕВОЕ СОЕДИНЕНИЕ Документ.КадровыйПеревод КАК КадровыйПеревод
ПО КадроваяИсторияСотрудниковСрезПоследних.Регистратор = КадровыйПеревод.Ссылка
ПО СЭ_ДолжностиМОЛСрезПоследних.Должность = КадроваяИсторияСотрудниковСрезПоследних.Должность
И СЭ_ДолжностиМОЛСрезПоследних.Подразделение = КадроваяИсторияСотрудниковСрезПоследних.Подразделение
ГДЕ
(СЭ_ДоговорыМОЛ.Период <= &Дата
ИЛИ СЭ_ДоговорыМОЛ.Период ЕСТЬ NULL)
ПоказатьПроблема состоит в том, что если сотрудник перевелся в другое подразделение, то он исчезает из предыдущего МОЛ (в отчете), что верно, но при создании нового МОЛ (на новое подразделение) на сотрудников данного подразделения, то они не выводятся в отчете, а только тот сотрудник, который перевёлся, хотя на него (в новом подразделении), ещё не составлен ни договор, ни назначение должности.
По теме из базы знаний
- Немного о конфигурировании PostgreSQL
- Создание web-площадки на технологиях 1С, или как Водоканал сделал "Личный кабинет потребителя"
- Загрузка чеков в 1С из ФНС в документы БП, УНФ, ERP, КА и УТ
- Мониторинг ПФР/Минтруда по приказу № Пр-366. Форма для сбора сведений о заработной плате работников бюджетной сферы. Автоматическое заполнение с возможностью корректировки и консолидации и выгрузка в формате XML. ЗГУ/ЗУП 3.1
- 1С и СУБД Tantor: история одного внедрения
Найденные решения
Остальные ответы
Подписаться на ответы
Инфостарт бот
Сортировка:
Древо развёрнутое
Свернуть все
Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот