Запрос - вывести начисление для сотрудника, если он занимает должность

1. Manticor 66 19.12.13 15:49 Сейчас в теме
Конфигурация ЗУП, слегка подпилена )).
Нужно вывести надбавку например ежемесячное денежное поощерение сотрудника. Если человек не занимает должность которая есть в штатном расписании(в подразделении) (рег сведений штатное расписание), то выводим эту надбавку из НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Показатель2 - тоесть расчет для должности из рег. свед НадбавкиПоШтатномуРасписаниюОрганизаций, если же человек должность занимает - то выводим по человеку этот показатель(из плановых начислений).

Соответственно левым соединением соединям штатное распиание(оно получается главнее с работниками организации). И через выбор когда и проверкой на NULL вывожу показатель либо из НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Показатель2, либо ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель2.

ВЫБРАТЬ
	ШтатноеРасписаниеОрганизацийСрезПоследних.Организация,
	ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации,
	РаботникиОрганизацийСрезПоследних.Сотрудник,
	ШтатноеРасписаниеОрганизацийСрезПоследних.Должность,
	ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.ВидРасчетаИзмерение,
	ВЫБОР
		КОГДА РаботникиОрганизацийСрезПоследних.Сотрудник ЕСТЬ NULL 
			ТОГДА НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Показатель2
		ИНАЧЕ ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Показатель2
	КОНЕЦ КАК Поле1,
	НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Должность КАК ДолжностьШР,
	НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.ВидНадбавки,
	НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Показатель2 КАК ПоказательШР
ПОМЕСТИТЬ Вт_ЕжемесячДенежноеПоощерение
ИЗ
	РегистрСведений.ШтатноеРасписаниеОрганизаций.СрезПоследних(&НаДату, Организация = &Организация) КАК ШтатноеРасписаниеОрганизацийСрезПоследних
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(&НаДату, Организация = &Организация) КАК РаботникиОрганизацийСрезПоследних
			ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПлановыеНачисленияРаботниковОрганизаций.СрезПоследних(
					&НаДату,
					Организация = &Организация
						И (ВидРасчетаИзмерение = &ЕжемесячДенежноеПоощерение
							ИЛИ ВидРасчета = &ЕжемесячДенежноеПоощерение)) КАК ПлановыеНачисленияРаботниковОрганизацийСрезПоследних
			ПО РаботникиОрганизацийСрезПоследних.Организация = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Организация
				И РаботникиОрганизацийСрезПоследних.Сотрудник = ПлановыеНачисленияРаботниковОрганизацийСрезПоследних.Сотрудник
		ПО (РаботникиОрганизацийСрезПоследних.Организация = ШтатноеРасписаниеОрганизацийСрезПоследних.Организация)
			И (РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации = ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации)
			И (РаботникиОрганизацийСрезПоследних.Должность = ШтатноеРасписаниеОрганизацийСрезПоследних.Должность)
		ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.НадбавкиПоШтатномуРасписаниюОрганизаций.СрезПоследних(&НаДату, ВидНадбавки = &ЕжемесячДенежноеПоощерение) КАК НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних
		ПО ШтатноеРасписаниеОрганизацийСрезПоследних.ПодразделениеОрганизации = НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.ПодразделениеОрганизации
			И ШтатноеРасписаниеОрганизацийСрезПоследних.Должность = НадбавкиПоШтатномуРасписаниюОрганизацийСрезПоследних.Должность
ГДЕ
	ВЫБОР
			КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1)
					И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &НаДату
				ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
			ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
		КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
Показать


Правильно ли я замыслил,поскольку в результате выполнения запроса нет данных по должностям.
По теме из базы знаний
Ответы
В избранное Подписаться на ответы Сортировка: Древо развёрнутое
Свернуть все
2. Manticor 66 19.12.13 17:30 Сейчас в теме
(1) Manticor, структура регистров не изменена.
Оставьте свое сообщение
Вакансии
1С аналитик
Москва
зарплата от 210 000 руб.
Полный день

Руководитель направления 1С
Москва
зарплата от 350 000 руб.
Полный день

1С Программист
Москва
зарплата от 180 000 руб.
Полный день

Программист 1С
Москва
зарплата от 180 000 руб. до 220 000 руб.
Полный день

Аналитик 1С / Бизнес-аналитик
Нижний Новгород
зарплата от 100 000 руб. до 250 000 руб.
Временный (на проект)