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