|
ЗУП, срез регистра не выводит последние значения | ☑ | ||
---|---|---|---|---|
0
Штурман
10.04.12
✎
11:26
|
Пытаюсь вывести последние оклады сотрудников в ЗУП (2.5.45.3)
Запрос таков: ВЫБРАТЬ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник, ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета, ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 ИЗ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(&КонецПериода) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних ГДЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета = &ВидРасчета где видрасчета = Оклад по дням запрос по большинству в принципе выводит правильно последние оклады, однако если у сотрудника было кадровое перемещение с такого-то по такое-то число, то почему-то всегда выводит временный оклад как собственно вывести последние правильные оклады тогда? |
|||
1
dva1c
10.04.12
✎
11:37
|
Из примера взял:
ТекстЗапроса = "ВЫБРАТЬ | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Период, | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Регистратор, | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Организация, | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник, | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчета, | ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель1 |ПОМЕСТИТЬ ПоследниеОклады |ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(, ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПлановыеНачисленияРаботниковОрганизаций.Сотрудник, | ПлановыеНачисленияРаботниковОрганизаций.Регистратор, | ПлановыеНачисленияРаботниковОрганизаций.Организация, | ПлановыеНачисленияРаботниковОрганизаций.Период, | ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета, | ПлановыеНачисленияРаботниковОрганизаций.Показатель1 |ПОМЕСТИТЬ ПредыдущиеОклады |ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ | ПлановыеНачисленияРаботниковОрганизаций.Сотрудник КАК Сотрудник, | ПлановыеНачисленияРаботниковОрганизаций.Организация КАК Организация, | МАКСИМУМ(ПлановыеНачисленияРаботниковОрганизаций.Период) КАК МаксПериод | ИЗ | РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций КАК ПлановыеНачисленияРаботниковОрганизаций | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПоследниеОклады КАК ПоследниеОклады | ПО ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = ПоследниеОклады.Сотрудник | И ПлановыеНачисленияРаботниковОрганизаций.Организация = ПоследниеОклады.Организация | И ПлановыеНачисленияРаботниковОрганизаций.Показатель1 <> ПоследниеОклады.Показатель1 | И ПлановыеНачисленияРаботниковОрганизаций.Период < ПоследниеОклады.Период | ГДЕ | ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО | | СГРУППИРОВАТЬ ПО | ПлановыеНачисленияРаботниковОрганизаций.Сотрудник, | ПлановыеНачисленияРаботниковОрганизаций.Организация) КАК Подзапрос | ПО ПлановыеНачисленияРаботниковОрганизаций.Сотрудник = Подзапрос.Сотрудник | И ПлановыеНачисленияРаботниковОрганизаций.Организация = Подзапрос.Организация | И ПлановыеНачисленияРаботниковОрганизаций.Период = Подзапрос.МаксПериод |ГДЕ | ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаИзмерение = НЕОПРЕДЕЛЕНО |; | |//////////////////////////////////////////////////////////////////////////////// |ВЫБРАТЬ | ПоследниеОклады.Организация, | ПоследниеОклады.Сотрудник, | ПоследниеОклады.Регистратор, | ПоследниеОклады.Период, | ПоследниеОклады.ВидРасчета, | ПоследниеОклады.Показатель1, | ПредыдущиеОклады.Регистратор КАК РегистраторНовый, | ПредыдущиеОклады.Период КАК ПериодНовый, | ПредыдущиеОклады.ВидРасчета КАК ВидРасчетаНовый, | ПредыдущиеОклады.Показатель1 КАК Показатель1Новый |ИЗ | ПоследниеОклады КАК ПоследниеОклады | ВНУТРЕННЕЕ СОЕДИНЕНИЕ ПредыдущиеОклады КАК ПредыдущиеОклады | ПО ПоследниеОклады.Организация = ПредыдущиеОклады.Организация | И ПоследниеОклады.Сотрудник = ПредыдущиеОклады.Сотрудник"; |
|||
2
dva1c
10.04.12
✎
11:39
|
+(1) Т.е. одним ПлановыеНачисленияРаботниковОрганизацийСрезПоследних обойтись трудновато.
|
|||
3
dva1c
10.04.12
✎
11:39
|
(0) Смотри, пробуй, анализируй.
|
|||
4
Штурман
12.04.12
✎
04:34
|
спасиб )
|
|||
5
guitar_player
12.04.12
✎
05:29
|
(0) посмотри как в типовых пишут...
Вместо своих последних 2х полей добавь эти ВЫБОР КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= &КонецПериода ТОГДА ПлановыеНачисленияРаботниковОрганизаций.ВидРасчетаЗавершения ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.ВидРасчета КОНЕЦ ВЫБОР КОГДА ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1) И ПлановыеНачисленияРаботниковОрганизаций.ПериодЗавершения <= &КонецПериода ТОГДА ПлановыеНачисленияРаботниковОрганизаций.Показатель1Завершения ИНАЧЕ ПлановыеНачисленияРаботниковОрганизаций.Показатель1 КОНЕЦ |
|||
6
guitar_player
12.04.12
✎
05:30
|
(5) Соответственно в условие тоже нужно первое поле вставить
PS Если нужно найти основное начисление, а не только оклад по дням, то нужно писать по другому |
Форум | Правила | Описание | Объявления | Секции | Поиск | Книга знаний | Вики-миста |