|
ЗУП Кадровая история всех сотрудников подразделения | ☑ | ||
---|---|---|---|---|
0
lg2marvel
03.12.19
✎
11:42
|
Добрый день.
Хочу в таблицу получить сотрудников подразделения с переводами. К примеру если Иванов проработал на подразделении А с 02.10 по 05.10 и потом перевели на другую должность в этом же подразделении с 06.10 и перевели в подразделение Б 25.10 то получить хочу что-то такое: Иванов 02.10 05.10 должность 1 Иванов 06.10 25.10 должность 2 Используя программный интерфейс получаю таблицу сотрудников подразделения, но проблема в том что тут не дробятся сотрудники по должностям: ТаблицаСотрудников = КадровыйУчет.СотрудникиОрганизации(истина, ПараметрыПолучения); Затем запросом получаю кадровую историю по сотрудникам в периоде Измерения = Новый ТаблицаЗначений; Измерения.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники")); Измерения.Колонки.Добавить("ДатаНачала", Новый ОписаниеТипов("Дата")); Измерения.Колонки.Добавить("ДатаОкончания", Новый ОписаниеТипов("Дата")); Для Каждого СтрокаСотрудник Из ТаблицаСотрудников Цикл СтрокаИзмерения = Измерения.Добавить(); СтрокаИзмерения.Сотрудник = СтрокаСотрудник.Сотрудник; СтрокаИзмерения.ДатаНачала = НачалоМесяца(Объект.ПериодРегистрации); СтрокаИзмерения.ДатаОкончания = КонецМесяца(Объект.ПериодРегистрации); КонецЦикла; ЗарплатаКадрыОбщиеНаборыДанных.СоздатьВТИмяРегистра( "КадроваяИсторияСотрудников", Запрос.МенеджерВременныхТаблиц, Истина, ЗарплатаКадрыОбщиеНаборыДанных.ОписаниеФильтраДляСоздатьВТИмяРегистра(Измерения)); Запрос.Текст = "ВЫБРАТЬ РАЗЛИЧНЫЕ | КадроваяИсторияСотрудников.Период КАК Период |ПОМЕСТИТЬ ВТПериоды |ИЗ | ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ РАЗРЕШЕННЫЕ РАЗЛИЧНЫЕ | Периоды.Период КАК Период, | МАКСИМУМ(КадроваяИсторияСотрудников.Период) КАК ПериодКадроваяИстория |ПОМЕСТИТЬ ВТПериодыИстории |ИЗ | ВТПериоды КАК Периоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников | ПО Периоды.Период >= КадроваяИсторияСотрудников.Период | |СГРУППИРОВАТЬ ПО | Периоды.Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПериодыИстории.Период КАК Период, | КадроваяИсторияСотрудников.Организация КАК Организация, | КадроваяИсторияСотрудников.Подразделение КАК Подразделение, | КадроваяИсторияСотрудников.Должность КАК Должность, | КадроваяИсторияСотрудников.ФизическоеЛицо КАК ФизическиеЛица, | КадроваяИсторияСотрудников.Сотрудник КАК Сотрудник, | КадроваяИсторияСотрудников.КоличествоСтавок КАК КоличествоСтавок, | КадроваяИсторияСотрудников.ВидСобытия КАК ВидСобытия, | ВЫБОР | КОГДА ПериодыИстории.Период = КадроваяИсторияСотрудников.Период | ТОГДА КадроваяИсторияСотрудников.Регистратор | ИНАЧЕ НЕОПРЕДЕЛЕНО | КОНЕЦ КАК РегистраторКадроваяИстория |ПОМЕСТИТЬ ВТИстория |ИЗ | ВТПериодыИстории КАК ПериодыИстории | ЛЕВОЕ СОЕДИНЕНИЕ ВТКадроваяИсторияСотрудников КАК КадроваяИсторияСотрудников | ПО ПериодыИстории.ПериодКадроваяИстория = КадроваяИсторияСотрудников.Период |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | История.Период КАК Период, | История.Организация КАК Организация, | История.ФизическиеЛица КАК ФизическиеЛица, | История.Сотрудник КАК Сотрудник, | История.Подразделение КАК Подразделение, | История.Должность КАК Должность, | История.ВидСобытия КАК ВидСобытия, | История.РегистраторКадроваяИстория КАК РегистраторКадроваяИстория |ИЗ | ВТИстория КАК История | ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | История.Период КАК Период, | МАКСИМУМ(ИсторияПредыдущая.Период) КАК ПериодПредыдущий | ИЗ | ВТИстория КАК История | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ВТИстория КАК ИсторияПредыдущая | ПО История.Период > ИсторияПредыдущая.Период | | СГРУППИРОВАТЬ ПО | История.Период) КАК ПредыдущиеПериоды | ЛЕВОЕ СОЕДИНЕНИЕ ВТИстория КАК ИсторияПредыдущие | ПО ПредыдущиеПериоды.ПериодПредыдущий = ИсторияПредыдущие.Период | ПО История.Период = ПредыдущиеПериоды.Период | |УПОРЯДОЧИТЬ ПО | Период"; КадроваяИстория = Запрос.Выполнить().Выгрузить(); И далее нужно обрабатывать обе таблицы. Но можно же как-то получить человеческим способом таблицу всех сотрудников подразделения со всеми движениями? |
|||
1
El_Duke
гуру
03.12.19
✎
12:17
|
(0) Сама схема - какой то адский цирк, по 2-3 дня в разных должностях, в разных подразделениях ...
Тора говорит что каждый раз придется подписывать допсоглашение к ТД, знакомить с должностной инструкцией, инструктировать по ТБ Адский ад из бумажек и ненужных мероприятий Что то в вашем датском королевстве пошло не так |
|||
2
2S
03.12.19
✎
12:19
|
(0) странно, буквально вчера поступила такая же заявка )) город какой?
(1) у производственников это бывает, скачут как блохи из бригады в бригаду |
|||
3
2S
03.12.19
✎
12:21
|
(0) А что в ПараметрахПолучения*
|
|||
4
piter3
03.12.19
✎
12:21
|
(2) У торгашей чаще,скачут по магазинам
|
|||
5
El_Duke
гуру
03.12.19
✎
12:24
|
(2) (4) В ЗУП 3.1 это делается через Места Работы, зачем жуть из (0) разводить - ЯННП
|
|||
6
2S
03.12.19
✎
12:28
|
(5) места работы не закрывают вопрос с территориями
|
|||
7
lg2marvel
03.12.19
✎
12:28
|
(3)
Функция ПодготовитьПараметрыПолученияСотрудников() ДатаНазначения = Объект.ПериодРегистрации; ПараметрыПолучения = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц(); ПараметрыПолучения.Организация = Справочники.Организации.ОрганизацияПоУмолчанию(); ПараметрыПолучения.НачалоПериода = НачалоМесяца(ДатаНазначения); ПараметрыПолучения.ОкончаниеПериода = КонецМесяца(ДатаНазначения); ПараметрыПолучения.Подразделение = Объект.Подразделение; ПараметрыПолучения.КадровыеДанные = "ГрафикРаботы,КоличествоСтавок,Должность,ДолжностьПоШтатномуРасписанию,Подразделение,ДатаУвольнения,ДатаПриема,СостояниеПериодРегистрации,Состояние"; возврат ПараметрыПолучения; КонецФункции |
|||
8
lg2marvel
05.12.19
✎
08:54
|
вопрос пока открыт
|
|||
9
mmmarat
05.12.19
✎
09:04
|
(0) что то вы перемудрили.
Вместо получения ТЗ ТаблицаСотрудников получите ВТ КадровыйУчет.СоздатьВТСотрудникиОрганизации Создайте дополнительную ВТ с составом Сотрудник, ДатаНачала,ДатаОкончания. Поместите в ВТСотрудникиПериоды. Далее ОписаниеФильтра = ЗарплатаКадрыПериодическиеРегистры.ОписаниеФильтраДляСоздатьВТИмяРегистра("ВТСотрудникиПериоды", "Сотрудник"); ПараметрыПостроения = ЗарплатаКадрыПериодическиеРегистры.ПараметрыПостроенияДляСоздатьВТИмяРегистра(); ЗарплатаКадрыПериодическиеРегистры.СоздатьВТИмяРегистраПериоды("КадроваяИсторияСотрудников", Запрос.МенеджерВременныхТаблиц, Истина, ОписаниеФильтра, ПараметрыПостроения, "ВТСотрудникиИнтервалы"); ВТСотрудникиИнтервалы - соответственно таблица в которой есть нужные вам данные. |
|||
10
lg2marvel
05.12.19
✎
10:26
|
(9) Спасибо, буду пробовать
|
|||
11
lg2marvel
05.12.19
✎
11:51
|
Получил необходимые данные таким запросом:
ВЫБРАТЬ КадроваяИсторияСотрудниковИнтервальный.Подразделение КАК Подразделение, ВЫБОР КОГДА КадроваяИсторияСотрудниковИнтервальный.ДатаНачала < НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) ТОГДА НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) ИНАЧЕ КадроваяИсторияСотрудниковИнтервальный.ДатаНачала КОНЕЦ КАК ДатаНачала, ВЫБОР КОГДА КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания > КОНЕЦПЕРИОДА(&Период, МЕСЯЦ) ТОГДА КОНЕЦПЕРИОДА(&Период, МЕСЯЦ) ИНАЧЕ ДОБАВИТЬКДАТЕ(КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания, ДЕНЬ, -1) КОНЕЦ КАК ДатаОкончания, КадроваяИсторияСотрудниковИнтервальный.Сотрудник КАК Сотрудник, КадроваяИсторияСотрудниковИнтервальный.ДолжностьПоШтатномуРасписанию КАК ДолжностьПоШтатномуРасписанию, КадроваяИсторияСотрудниковИнтервальный.КоличествоСтавок КАК КоличествоСтавок, КадроваяИсторияСотрудниковИнтервальный.ВидСобытия КАК ВидСобытия ИЗ РегистрСведений.КадроваяИсторияСотрудниковИнтервальный КАК КадроваяИсторияСотрудниковИнтервальный ГДЕ КадроваяИсторияСотрудниковИнтервальный.Подразделение = &Подразделение И КадроваяИсторияСотрудниковИнтервальный.ДатаОкончания > НАЧАЛОПЕРИОДА(&Период, МЕСЯЦ) И КадроваяИсторияСотрудниковИнтервальный.ДатаНачала < КОНЕЦПЕРИОДА(&Период, МЕСЯЦ) И НЕ КадроваяИсторияСотрудниковИнтервальный.ВидСобытия = ЗНАЧЕНИЕ(ПЕРЕЧИСЛЕНИЕ.ВидыКадровыхСобытий.Увольнение) УПОРЯДОЧИТЬ ПО КадроваяИсторияСотрудниковИнтервальный.Сотрудник.Наименование |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |