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