|
Запрос из Зуп25 | ☑ | ||
---|---|---|---|---|
0
Дебет
01.08.16
✎
11:11
|
часть стандартного запроса из ЗУП 25, объясните нубу что значат условия после где. После Бухгалтерии, зуп как то не очень быстро подается.
ВЫБРАТЬ ТЧРаботникиОрганизации.НомерСтроки КАК НомерСтроки, ТЧРаботникиОрганизации.ДатаНачала, ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТЧРаботникиОрганизации.ДатаНачала И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавокЗавершения ИНАЧЕ ДанныеПоРаботникуДоНазначения.ЗанимаемыхСтавок КОНЕЦ КАК ЗанимаемыхСтавок, ДатыПоследнихДвиженийРаботников.Сотрудник, ДанныеПоРаботникуДоНазначения.Период, ДанныеПоРаботникуДоНазначения.ПериодЗавершения, ДанныеПоРаботникуДоНазначения.Регистратор, ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизации, ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизацииЗавершения ИЗ ВТСтрокиДокумента КАК ТЧРаботникиОрганизации ЛЕВОЕ СОЕДИНЕНИЕ (ВЫБРАТЬ ТЧРаботникиОрганизации.НомерСтроки КАК НомерСтроки, МАКСИМУМ(Работники.Период) КАК Период, Работники.Сотрудник КАК Сотрудник ИЗ ВТСтрокиДокумента КАК ТЧРаботникиОрганизации ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК Работники ПО ТЧРаботникиОрганизации.ДатаНачала >= Работники.Период ГДЕ Работники.Организация = &ГоловнаяОрганизация СГРУППИРОВАТЬ ПО ТЧРаботникиОрганизации.НомерСтроки, Работники.Сотрудник) КАК ДатыПоследнихДвиженийРаботников ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК ДанныеПоРаботникуДоНазначения ПО ДатыПоследнихДвиженийРаботников.Период = ДанныеПоРаботникуДоНазначения.Период И ДатыПоследнихДвиженийРаботников.Сотрудник = ДанныеПоРаботникуДоНазначения.Сотрудник ПО ТЧРаботникиОрганизации.НомерСтроки = ДатыПоследнихДвиженийРаботников.НомерСтроки ГДЕ ТЧРаботникиОрганизации.ПодразделениеОрганизации = ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТЧРаботникиОрганизации.ДатаНачала И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизацииЗавершения ИНАЧЕ ДанныеПоРаботникуДоНазначения.ПодразделениеОрганизации КОНЕЦ И ТЧРаботникиОрганизации.Должность = ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТЧРаботникиОрганизации.ДатаНачала И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0) ТОГДА ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.ДолжностьЗавершения.НаименованиеДляОК = &ПустаяДолжность ТОГДА ДанныеПоРаботникуДоНазначения.ДолжностьЗавершения ИНАЧЕ ДанныеПоРаботникуДоНазначения.ДолжностьЗавершения.НаименованиеДляОК КОНЕЦ ИНАЧЕ ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.Должность.НаименованиеДляОК = &ПустаяДолжность ТОГДА ДанныеПоРаботникуДоНазначения.Должность ИНАЧЕ ДанныеПоРаботникуДоНазначения.Должность.НаименованиеДляОК КОНЕЦ КОНЕЦ И ВЫБОР КОГДА ДанныеПоРаботникуДоНазначения.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) И ДанныеПоРаботникуДоНазначения.ПериодЗавершения <= ТЧРаботникиОрганизации.ДатаНачала ТОГДА ДанныеПоРаботникуДоНазначения.ПричинаИзмененияСостоянияЗавершения ИНАЧЕ ДанныеПоРаботникуДоНазначения.ПричинаИзмененияСостояния КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение) |
|||
1
hhhh
01.08.16
✎
11:19
|
наверно сотрудник временно где-то работает, то есть проверка даты, чтобы была между период и периодзавершения.
|
|||
2
Дебет
01.08.16
✎
11:24
|
зачем ставить условие на подразделение, если в таблице нет такой калонки?
|
|||
3
Дебет
01.08.16
✎
11:24
|
колонки
|
|||
4
piter3
01.08.16
✎
11:37
|
взять из ТЧ реквизиты до назначения(должность и подр-е).
.НаименованиеДляОК бррр |
|||
5
hhhh
01.08.16
✎
12:07
|
(2) ну если сотрудник бегает по подразделениям.
|
|||
6
Alexandr_U1982
01.08.16
✎
12:10
|
(0) Из какого места ЗУПа взят этот запрос?
|
|||
7
piter3
01.08.16
✎
12:11
|
Перемещение скорее всего
|
|||
8
Alexandr_U1982
01.08.16
✎
12:14
|
(7) Поискал глобальным поиском - нет такого запроса в типовом ЗУП.
Так что это часть НЕстандартного запроса из ЗУП)) |
|||
9
Alexandr_U1982
01.08.16
✎
12:15
|
(2) В какой таблице нет колонки "Подразделение"?
|
|||
10
Alexandr_U1982
01.08.16
✎
12:17
|
Ага нашел похожее))
Общий модуль "ПолныеПраваЗК", функция "ВременноСвободныеСтавкиСтрокШтатногоРасписания" |
|||
11
Alexandr_U1982
01.08.16
✎
12:43
|
Этот запрос вызывается из документов «Прием на работу» и «Кадровое перемещение». Запрос проверяет, занята ли штатная единица, на которую принимается новый сотрудник, либо перемещается уже работающий.
По поводу букв после слова «ГДЕ»: Вложенный запрос со всеми соединениями получает результирующую таблицу, в которой на каждую дату приема/перемещения (из ТЧ документов Прием/Перемещение) получен «срез» занятых штатных единиц (из регистра «РаботникиОрганизации). И потом в разделе «ГДЕ» накладывается отбор по сочетанию Подразделения и должности, для которых нужно проверить, заняты они или нет. Также добавлено условие для исключения уволенных сотрудников. Конструкция ВЫБОР…КОГДА используется для учета временных перемещений. Вот как-то так… |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |