• Paranoid - курс по анонимности и безопасности в сети от команды codeby. Защита персональных данных, анонимность в сети интернет, настройка виртуальных машин, безопасная передача данных, анти форензика и еще много всего полезного. Подробнее ...

Запрос

Renat11111

Well-known member
20.04.2008
123
0
#1
У перечисления ПричиныИзмененияСостояния есть еще три значения: Прием на работу, увольнение, перемещение. В запросе должны выбираться токо принятые и перемещенные сотрудники.
Вот тут как бы отсекаются все кроме принятых тоесть и уволенные и перемещенные. В других местах тоже отбор указан токо для принятых. Как в запрос попадают перемещенные сотрудники для меня вот уже 3 дня загадка. Помогите кто может.
ГДЕ
РаботникиОрганизаций.Организация = &парамГоловнаяОрганизация
И РаботникиОрганизаций.ПричинаИзмененияСостояния = &Прием




Запрос.УстановитьПараметр("Прием", Перечисления.ПричиныИзмененияСостояния.ПриемНаРаботу);
Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| ВзаиморасчетыСРаботникамиОрганизацииОстатки.Физлицо,
| 0 КАК Сумма,
| 0 КАК КомпенсацияЗаЗадержкуЗарплаты,
| &парамНеВыплачено КАК ВыплаченностьЗарплаты,
| Истина КАК Авторасчет
|ИЗ
| РегистрНакопления.ВзаиморасчетыСРаботникамиОрганизаций.Остатки(
| &парамДата,
| Организация = &парамОрганизация
| И ПериодВзаиморасчетов = &парамМесяц";
//Если Не ПодразделениеОрганизации.Пустая() Тогда
Запрос.Текст = Запрос.Текст + "
| И Физлицо В
| (ВЫБРАТЬ
| РаботникиОрганизацийСрезПоследних.Сотрудник.Физлицо КАК Физлицо
| ИЗ
| (ВЫБРАТЬ
| РаботникиОрганизаций.Сотрудник КАК Сотрудник
| ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(РаботникиОрганизаций.Период) КАК Период,
| РаботникиОрганизаций.Сотрудник КАК Сотрудник
| ИЗ
| РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
| ГДЕ
| РаботникиОрганизаций.Организация = &парамГоловнаяОрганизация
|
|
|
| И РаботникиОрганизаций.ПричинаИзмененияСостояния = &Прием
| И РаботникиОрганизаций.Период <= &парамДата
| И РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| И РаботникиОрганизаций.Проект = &Проект
| И РаботникиОрганизаций.Объект = &Объект
| СГРУППИРОВАТЬ ПО
| РаботникиОрганизаций.Сотрудник) КАК ПоследниеДаты
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций КАК РаботникиОрганизаций
| ПО ПоследниеДаты.Период = РаботникиОрганизаций.Период
| И РаботникиОрганизаций.ПричинаИзмененияСостояния = &Прием
| И (РаботникиОрганизаций.Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| )
| И ПоследниеДаты.Сотрудник = РаботникиОрганизаций.Сотрудник) КАК АктуальныеПриказы
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ РегистрСведений.РаботникиОрганизаций.СрезПоследних(
| &парамДата,
| Организация = &парамГоловнаяОрганизация
| И Сотрудник.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| ) КАК РаботникиОрганизацийСрезПоследних
| ПО АктуальныеПриказы.Сотрудник = РаботникиОрганизацийСрезПоследних.Сотрудник
| ГДЕ
| РаботникиОрганизацийСрезПоследних.Проект = &Проект
| И РаботникиОрганизацийСрезПоследних.Объект = &Объект
| "+ТекстУсловияПоПодразделению+"
|)";
//КонецЕсли;
Запрос.Текст = Запрос.Текст + "
|) КАК ВзаиморасчетыСРаботникамиОрганизацииОстатки
|ГДЕ
| ВзаиморасчетыСРаботникамиОрганизацииОстатки.СуммаВзаиморасчетовОстаток > 0
|УПОРЯДОЧИТЬ ПО
| ВзаиморасчетыСРаботникамиОрганизацииОстатки.Физлицо.Наименование";
 

Renat11111

Well-known member
20.04.2008
123
0
#2
Люди плиз помогите понять как все таки в данном запросе в выборку попадают перемещенные сотрудники?
 

Natalya

Active member
02.02.2008
25
0
#3
Что значит перемещённые сотрудники? Сотрудники, у которых есть документ "Кадровое перемещение"? Если это так, то они должны попадать, так как у них есть "Приём на работу" и они являются штатными сотрудниками.
 
W

WildAnther

#4
Может тогда метить, если перемещеный такими то доками ставь галочку в регистре, если уволен то галочку другую ну и т.д. и т.п.
 

Renat11111

Well-known member
20.04.2008
123
0
#5
Что значит перемещённые сотрудники? Сотрудники, у которых есть документ "Кадровое перемещение"? Если это так, то они должны попадать, так как у них есть "Приём на работу" и они являются штатными сотрудниками.
Может тогда метить, если перемещеный такими то доками ставь галочку в регистре, если уволен то галочку другую ну и т.д. и т.п.

Вы не поняли запроса.... Там в отборе отсекаются все записи регистра где реквизиту ИзмененияСостояния присвоено значение отличное от перечислтчения прием. То что отсекаются уволенные это хорошо, но перемещенные не убираются.