Вход | Регистрация
 
1С:Предприятие :: 1С:Предприятие 8 общая

Отчёт Кадровые перемещения с изменением должности и подразделения

Отчёт Кадровые перемещения с изменением должности и подразделения
Я
   rscrw
 
27.05.21 - 13:34
Написал свой первый отчёт, но столкнулся с проблемой

Цель разработать отчет, в котором бы отражались сотрудники за определенный период, имеющие в этом периоде кадровые перемещения с изменением должности - с указанием предыдущей и новой должности. С этим худо бедно справился
Также в данный отчет должны входит кадровые перемещения в случае изменения подразделения

И тут появлятся загвоздка.
В пунктах где езменяется подразделение тоже подтягивает преидущая должность хотя она менялась вне этого периода

Нуждаюсь в совете каким образом это можно исправить, ниже текст запроса

Выбрать
    Тек.Сотрудник,
    Тек.Должность,
    Тек.Подразделение,
    Пред.Должность как ПредДолжность,
    Пред.Подразделение как ПредПодразделение,
    Тек.Период КАК Период,
    Тек.ПредПериод
из(ВЫБРАТЬ
    Тек.Сотрудник,
    Тек.Должность,
    Тек.Подразделение,
    Тек.Период КАК Период,
    Максимум(Пред.Период) как ПредПериод
ИЗ
    РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних КАК Тек
    Левое соединение РегистрСведений.КадроваяИсторияСотрудников как Пред
    по Пред.Сотрудник=Тек.Сотрудник
    и Пред.Период<Тек.Период и Пред.Должность<>Тек.Должность и Тек.Подразделение<>Пред.Подразделение
Сгруппировать по Тек.Сотрудник,Тек.Должность,Тек.Период,Тек.Подразделение) как Тек
    Левое соединение РегистрСведений.КадроваяИсторияСотрудников как Пред
    по Пред.Сотрудник=Тек.Сотрудник и Пред.Период=Тек.ПредПериод
{ГДЕ
(Тек.Период МЕЖДУ &ДатаНачала И &ДатаОкончания)}
   rscrw
 
1 - 28.05.21 - 07:20
Бамп..
   DrZombi
 
2 - 28.05.21 - 09:06
(0) Рекомендую взять за основу типовой отчет, и понять, по какому принципу работают 1С разработчики ЗУП-а.
И написать на основе их отчета свою(й) ... :)
   DrZombi
 
3 - 28.05.21 - 09:07
(0) >>> Нуждаюсь в совете каким образом это можно исправить, ниже текст запроса

Все в топку.
   DrZombi
 
4 - 28.05.21 - 09:09
(0) Вот, подсмотри там как оно доделано. https://infostart.ru/public/1418512/
   rscrw
 
5 - 28.05.21 - 11:16
(4) Не имею стартмани к сожалению, а так на инфостарте и для 3ей редакции есть данный отчёт

Убрав данное сравнение Пред.Должность<>Тек.Должность и Тек.Подразделение<>Пред.Подразделение Отчёт впринципе начал корректно выполнять требумые функции, единственное он отображает увольнения тоже ( приём на работу я исключил добавив отбор Пред.Должность заполнена). Вот теперь думаю как увольнения исключить из него
   rscrw
 
6 - 28.05.21 - 11:19
(4) Прошу прощения, не заметил что он для 3ей редакции тоже.
В любом случае не могу его ни скачать ни понять по скринам как конкретно это реализовано, т.к. только начинаю писать отчёты
   hhhh
 
7 - 28.05.21 - 11:42
(5) сами понимаете это сравнение
сравнение Пред.Должность<>Тек.Должность и Тек.Подразделение<>Пред.Подразделение 

это дебилизм. Это же надо было такое придумать? Правильно, что убрали.
   rscrw
 
8 - 28.05.21 - 11:53
Решил поставь тип документа у регистратора кадровое перемещение и кадровое перемещение списком, вот только поле обьекта КадроваяИсторияСотрудниковСрезПоследних.Регистратор не найдено...
   Dmitry77
 
9 - 28.05.21 - 12:03
https://infostart.ru/1c/articles/942569/  здесь есть как получить кадровую историю сотрудника. Из полученной кадровой истории нужно выбрать лишь то что удовлетворяет условию.
   rscrw
 
10 - 04.06.21 - 07:44
Чтоб не плодить тему бампну эту.

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

Может у кого есть идеи почему?
Ниже текст запроса

ВЫБРАТЬ
                Тек.Сотрудник КАК Сотрудник,
                Тек.Должность КАК Должность,
                Тек.Подразделение КАК Подразделение,
                Пред.Должность КАК ПредДолжность,
                Пред.Подразделение КАК ПредПодразделение,
                Тек.Период КАК Период,
                Тек.ПредПериод КАК ПредПериод,
                Пред.Регистратор КАК Регистратор,
                Тек.Регистратор КАК Регистратор1
ИЗ
                (ВЫБРАТЬ
                               Тек.Сотрудник КАК Сотрудник,
                               Тек.Должность КАК Должность,
                               Тек.Подразделение КАК Подразделение,
                               Тек.Период КАК Период,
                               МАКСИМУМ(Пред.Период) КАК ПредПериод,
                               Тек.Регистратор КАК Регистратор
                ИЗ
                               РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(
                                                               ,
                                                               ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.КадровыйПеревод)
                                                                               ИЛИ ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.КадровыйПереводСписком)) КАК Тек
                                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК Пред
                                               ПО (Пред.Сотрудник = Тек.Сотрудник)
                                                               И (Пред.Период < Тек.Период)
                
                СГРУППИРОВАТЬ ПО
                               Тек.Сотрудник,
                               Тек.Должность,
                               Тек.Период,
                               Тек.Подразделение,
                               Тек.Регистратор) КАК Тек
                               ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КадроваяИсторияСотрудников КАК Пред
                               ПО (Пред.Сотрудник = Тек.Сотрудник)
                                               И (Пред.Период = Тек.ПредПериод)
ГДЕ
                Тек.Период МЕЖДУ &ДатаНачала И &ДатаОкончания
   rscrw
 
11 - 04.06.21 - 09:49
бамп
   СвинТуз
 
12 - 04.06.21 - 09:56
выбрать из выбрать
напоминает Ленина с его незабвенным учиться учиться а потом учиться
   СвинТуз
 
13 - 04.06.21 - 09:58
(11) "бамп" если = bump интересное многозначное слово
   rscrw
 
14 - 04.06.21 - 10:48
(12) ну первый отчёт в жизни, как умею написал

Может подскаешь почему сотрудников с приказом на увольнение он пропускает?
   DrZombi
 
15 - 04.06.21 - 11:01
(6) Кинул тебе в почту, посмотри.
   DrZombi
 
16 - 04.06.21 - 11:01
(14) Потому что отбор ты не задал, что бы отобрать только не уволенных :)
   rscrw
 
17 - 04.06.21 - 11:53
(16) разве это не то
ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.КадровыйПеревод) ИЛИ ТИПЗНАЧЕНИЯ(Регистратор) = ТИП(Документ.КадровыйПереводСписком))
 (15) Спасибо сейчас посмотрю
   DrZombi
 
18 - 04.06.21 - 12:10
(17) нет.
Уволенные Каким документом оформляются?
   rscrw
 
19 - 04.06.21 - 12:13
(18) Увольнение и Увольнение списком
   DrZombi
 
20 - 04.06.21 - 12:24
(19) А у вас?
   DrZombi
 
21 - 04.06.21 - 12:25
(19) Я запутался, Вам нужно видеть только работающих?
Тогда у вас нет условия, что бы отобрать только работников.

Вы смотрите во вчера, хотя перемещение могло пройти и в 15-том году.
   DrZombi
 
22 - 04.06.21 - 12:26
Осильте тот отчет, который я вам выслал, он типовой.
1С не просто так использует свой механизм построения запроса в отчетах СКД.

(кстати, он помогает обойти блокировки безопасности)
   rscrw
 
23 - 04.06.21 - 12:35
(22) Понял буду разбираться
(21) Да необходило было выделять только перемещения, без увольнений и приёмов
   DrZombi
 
24 - 04.06.21 - 12:46
(23) А как вы отфильтровали уволенных? :)
   DrZombi
 
25 - 04.06.21 - 12:46
Уволенных сотрудников.
   DrZombi
 
26 - 04.06.21 - 12:46
Особенно из прошлого :)
   rscrw
 
27 - 04.06.21 - 13:07
(24) Ну сделал регистратор тип документа перемещение

По сути задание за указанный период показывать сотрудников с перемещениями и их прошлыми должностями, если сотрудник потом был уволен это не имеет значения.
   rscrw
 
28 - 04.06.21 - 13:08
(26) Сейчас по вашему отчёту смотрю, вроде бы всё отлично только некоторым сотрудникам в колонках прошлая должность и прошлое подразделение - пустые поля.
Почему так?
   DrZombi
 
29 - 04.06.21 - 13:20
(28) Нет по ним прошлого. Либо этот сотрудник был один раз принят и не перемещался по должности ли по подразделению.
   DrZombi
 
30 - 04.06.21 - 13:20
Разверни по Регистратору
 
 


Список тем форума
 
ВНИМАНИЕ! Если вы потеряли окно ввода сообщения, нажмите Ctrl-F5 или Ctrl-R или кнопку "Обновить" в браузере.