• 15 апреля стартует «Курс «SQL-injection Master» ©» от команды The Codeby

    За 3 месяца вы пройдете путь от начальных навыков работы с SQL-запросами к базам данных до продвинутых техник. Научитесь находить уязвимости связанные с базами данных, и внедрять произвольный SQL-код в уязвимые приложения.

    На последнюю неделю приходится экзамен, где нужно будет показать свои навыки, взломав ряд уязвимых учебных сайтов, и добыть флаги. Успешно сдавшие экзамен получат сертификат.

    Запись на курс до 25 апреля. Получить промодоступ ...

Запрос

  • Автор темы Renat11111
  • Дата начала
R

Renat11111

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




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

Renat11111

Люди плиз помогите понять как все таки в данном запросе в выборку попадают перемещенные сотрудники?
 
N

Natalya

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

WildAnther

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

Renat11111

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


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

Обучение наступательной кибербезопасности в игровой форме. Начать игру!