Есть ли ошибка в запросе?

1. user-z99999 67 22.05.19 13:56 Сейчас в теме
ЗУП 2.5
Есть ли ошибка в запросе?
ВЫБРАТЬ
	РаботникиОрганизацийСрезПоследних.Сотрудник
ПОМЕСТИТЬ ВТСотрудники
ИЗ
	РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
	ВЫБОР
			КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &Период
					И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
			ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
		КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
	И ВЫБОР
			КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &Период
					И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
				ТОГДА РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизацииЗавершения
			ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
		КОНЕЦ В (&Подразделение)
;

////////////////////////////////////////////////////////////­////////////////////
ВЫБРАТЬ
	РаботникиОрганизаций.Период,
	РаботникиОрганизаций.Активность,
	РаботникиОрганизаций.Сотрудник,
	РаботникиОрганизаций.Организация,
	РаботникиОрганизаций.ЗанимаемыхСтавок,
	РаботникиОрганизаций.ОбособленноеПодразделение,
	РаботникиОрганизаций.ПодразделениеОрганизации,
	РаботникиОрганизаций.Должность,
	РаботникиОрганизаций.ГрафикРаботы,
	РаботникиОрганизаций.ПериодЗавершения,
	РаботникиОрганизаций.ЗанимаемыхСтавокЗавершения,
	РаботникиОрганизаций.ОбособленноеПодразделениеЗавершения,
	РаботникиОрганизаций.ПодразделениеОрганизацииЗавершения,
	РаботникиОрганизаций.ДолжностьЗавершения,
	РаботникиОрганизаций.ГрафикРаботыЗавершения,
	РаботникиОрганизаций.ПричинаИзмененияСостояния,
	РаботникиОрганизаций.ПричинаИзмененияСостоянияЗавершения,
	РаботникиОрганизаций.Разряд,
	РаботникиОрганизаций.РазрядЗавершения,
	РаботникиОрганизаций.бсВременныйПеревод
ИЗ
	РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
ГДЕ
	РаботникиОрганизаций.Сотрудник В
			(ВЫБРАТЬ
				Сотрудники.Сотрудник
			ИЗ
				ВТСотрудники КАК Сотрудники)
Показать


Какой смысл писать срез последний в первом запросе?
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. Alexei_Siva 183 22.05.19 14:20 Сейчас в теме
В первом запросе причина изменения состояния смотрится, видимо, чтобы уволенные в результат запроса не попали. Срез последних для того же, судя по всему, нужен.
3. user-z99999 67 22.05.19 14:21 Сейчас в теме
(2)
Так может логику ГДЕ перенести во второй запрос?
Или всё же неспроста так написан код?
4. alex-l19041 8 22.05.19 14:58 Сейчас в теме
(3) в таблицу ВТСотрудники попадут только те что удовлетворяют условиям. Тогда второй запрос отработает быстрее
5. user-z99999 67 23.05.19 13:45 Сейчас в теме
(4)
А нужны ли вообще два запроса здесь?
Может можно было написать один запрос?
6. alex-l19041 8 23.05.19 14:04 Сейчас в теме
(5) так гораздо читабельнее
РаботникиОрганизаций.Сотрудник В
            (ВЫБРАТЬ
                Сотрудники.Сотрудник
            ИЗ
                ВТСотрудники КАК Сотрудники)


а теперь представьте

РаботникиОрганизаций.Сотрудник В 
(ВЫБРАТЬ
    РаботникиОрганизацийСрезПоследних.Сотрудник

ИЗ
    РегистрСведений.РаботникиОрганизаций.СрезПоследних(&Период, ) КАК РаботникиОрганизацийСрезПоследних
ГДЕ
    ВЫБОР
            КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &Период
                    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                ТОГДА РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостоянияЗавершения
            ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПричинаИзмененияСостояния
        КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
    И ВЫБОР
            КОГДА РаботникиОрганизацийСрезПоследних.ПериодЗавершения <= &Период
                    И РаботникиОрганизацийСрезПоследних.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
                ТОГДА РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизацииЗавершения
            ИНАЧЕ РаботникиОрганизацийСрезПоследних.ПодразделениеОрганизации
        КОНЕЦ В (&Подразделение))
Показать
7. user-z99999 67 23.05.19 14:21 Сейчас в теме
(6)
Если вы осознанно начали манипурировать фрагментами запроса,
как это скажется на скорости (время выполнения запроса) ?

Вы не потеряли данные оптимизировав запрос?
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот