Имя: Пароль:
1C
1С v8
Отчёт Кадровые перемещения с изменением должности и подразделения
,
0 rscrw
 
27.05.21
13:34
Написал свой первый отчёт, но столкнулся с проблемой

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

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

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

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

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

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

сравнение Пред.Должность<>Тек.Должность и Тек.Подразделение<>Пред.Подразделение

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

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

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

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

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

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

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

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