public object ПолучитьСоответствиеФизлицИПодразделенийОрганизаций(/*ФизЛица, ПарамДата, ПарамГоловнаяОрганизация*/)
{
//Запрос = Новый Запрос;
//Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
//Запрос.УстановитьПараметр("ФизЛица",ФизЛица);
//Запрос.УстановитьПараметр("ПарамДата",ПарамДата);
//Запрос.УстановитьПараметр("ПарамГоловнаяОрганизация",ПарамГоловнаяОрганизация);
/*Запрос.Текст =
"ВЫБРАТЬ РАЗРЕШЕННЫЕ
| СотрудникиОрганизаций.Ссылка КАК Сотрудник,
| СотрудникиОрганизаций.ВидДоговора,
| СотрудникиОрганизаций.Физлицо,
| СотрудникиОрганизаций.ВидЗанятости КАК ВидЗанятости
|ПОМЕСТИТЬ ВТСотрудники
|ИЗ
| Справочник.СотрудникиОрганизаций КАК СотрудникиОрганизаций
|ГДЕ
| СотрудникиОрганизаций.Организация = &ПарамГоловнаяОрганизация
| И СотрудникиОрганизаций.Физлицо В(&ФизЛица)
| И СотрудникиОрганизаций.ВидЗанятости <> ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ВнутреннееСовместительство)
| И СотрудникиОрганизаций.ВидДоговора <> ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ДоговорУправленческий)
|
|ИНДЕКСИРОВАТЬ ПО
| Сотрудник
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| РаботникиОсновноеМесто.Сотрудник КАК Сотрудник,
| РаботникиОсновноеМесто.ПодразделениеОрганизации КАК Подразделение,
| СотрудникиОрганизаций.Физлицо КАК Физлицо,
| СотрудникиОрганизаций.ВидЗанятости КАК ВидЗанятости
|ПОМЕСТИТЬ ВТДанныеОРаботниках
|ИЗ
| РегистрСведений.РаботникиОрганизаций.СрезПоследних(&ПарамДата, Сотрудник.ФизЛицо В (&ФизЛица)) КАК РаботникиОсновноеМесто
| ЛЕВОЕ СОЕДИНЕНИЕ ВТСотрудники КАК СотрудникиОрганизаций
| ПО РаботникиОсновноеМесто.Сотрудник = СотрудникиОрганизаций.Сотрудник
|ГДЕ
| ВЫБОР
| КОГДА РаботникиОсновноеМесто.ПериодЗавершения <= &ПарамДата
| И РаботникиОсновноеМесто.ПериодЗавершения <> ДАТАВРЕМЯ(1, 1, 1, 0, 0, 0)
| ТОГДА РаботникиОсновноеМесто.ПричинаИзмененияСостоянияЗавершения
| ИНАЧЕ РаботникиОсновноеМесто.ПричинаИзмененияСостояния
| КОНЕЦ <> ЗНАЧЕНИЕ(Перечисление.ПричиныИзмененияСостояния.Увольнение)
|
|ИНДЕКСИРОВАТЬ ПО
| ВидЗанятости,
| Физлицо
|;
|
|////////////////////////////////////////////////////////////////////////////////
|ВЫБРАТЬ
| ДанныеОРаботниках.Подразделение,
| СписокСотрудников.Физлицо КАК Физлицо
|ИЗ
| (ВЫБРАТЬ
| МАКСИМУМ(РаботникиОсновноеМесто.Сотрудник) КАК Сотрудник,
| РаботникиОсновноеМесто.Физлицо КАК Физлицо,
| 1 КАК Приоритет
| ИЗ
| ВТДанныеОРаботниках КАК РаботникиОсновноеМесто
| ГДЕ
| РаботникиОсновноеМесто.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)
|
| СГРУППИРОВАТЬ ПО
| РаботникиОсновноеМесто.Физлицо
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| МАКСИМУМ(РаботникиСовместительство.Сотрудник),
| РаботникиСовместительство.Физлицо,
| 2
| ИЗ
| ВТДанныеОРаботниках КАК РаботникиСовместительство
| ГДЕ
| РаботникиСовместительство.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)
|
| СГРУППИРОВАТЬ ПО
| РаботникиСовместительство.Физлицо
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| МАКСИМУМ(СотрудникиДУ.Сотрудник),
| СотрудникиДУ.Физлицо,
| ВЫБОР
| КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
| ТОГДА 4
| ИНАЧЕ 5
| КОНЕЦ
| ИЗ
| ВТСотрудники КАК СотрудникиДУ
|
| СГРУППИРОВАТЬ ПО
| СотрудникиДУ.Физлицо,
| ВЫБОР
| КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
| ТОГДА 4
| ИНАЧЕ 5
| КОНЕЦ) КАК СписокСотрудников
| ВНУТРЕННЕЕ СОЕДИНЕНИЕ (ВЫБРАТЬ
| СписокФизическихЛиц.Физлицо КАК Физлицо,
| МИНИМУМ(СписокФизическихЛиц.Приоритет) КАК Приоритет
| ИЗ
| (ВЫБРАТЬ
| РаботникиОсновноеМесто.Физлицо КАК Физлицо,
| 1 КАК Приоритет
| ИЗ
| ВТДанныеОРаботниках КАК РаботникиОсновноеМесто
| ГДЕ
| РаботникиОсновноеМесто.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.ОсновноеМестоРаботы)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| РаботникиСовместительство.Физлицо,
| 2
| ИЗ
| ВТДанныеОРаботниках КАК РаботникиСовместительство
| ГДЕ
| РаботникиСовместительство.ВидЗанятости = ЗНАЧЕНИЕ(Перечисление.ВидыЗанятостиВОрганизации.Совместительство)
|
| ОБЪЕДИНИТЬ
|
| ВЫБРАТЬ
| СотрудникиДУ.Физлицо,
| ВЫБОР
| КОГДА СотрудникиДУ.ВидДоговора = ЗНАЧЕНИЕ(Перечисление.ВидыДоговоровСФизЛицами.ТрудовойДоговор)
| ТОГДА 4
| ИНАЧЕ 5
| КОНЕЦ
| ИЗ
| ВТСотрудники КАК СотрудникиДУ) КАК СписокФизическихЛиц
|
| СГРУППИРОВАТЬ ПО
| СписокФизическихЛиц.Физлицо) КАК СписокФизическихЛиц
| ПО СписокСотрудников.Физлицо = СписокФизическихЛиц.Физлицо
| И СписокСотрудников.Приоритет = СписокФизическихЛиц.Приоритет
| ЛЕВОЕ СОЕДИНЕНИЕ ВТДанныеОРаботниках КАК ДанныеОРаботниках
| ПО СписокСотрудников.Сотрудник = ДанныеОРаботниках.Сотрудник";*/
//ПодразделенияФизлиц = Новый Соответствие;
//Выборка = Запрос.Выполнить().Выбрать();
while(true/*Выборка.Следующий()*/)
{
//ПодразделенияФизлиц.Вставить(Выборка.Физлицо, Выборка.Подразделение);
}
return null;
}