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