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