1.
psviridov
22.06.22 14:01
Сейчас в теме
Добрый день. Правлю отчет, который по идее должен выводить ФИО сотрудника, дату приема, дату увольнения и дату перевода (если попадает в нужный период). Дата увольнения и приема выводится, а перевод выдает пустую колонку. Где я прослоупочил?
&НаСервере
Процедура ПриОткрытииНаСервере()
Объект.ДатаПо=КонецДня(ТекущаяДата());
//ДатаС=ДобавитьМесяц(ТекущаяДата(),-12); // за год
Объект.ДатаС=НачалоДня(ТекущаяДата())-6*60*60*24; // за неделю
Запрос=Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КадровыеДанные.Сотрудник.Код КАК ТабельныйНомер,
| КадровыеДанные.Сотрудник КАК Сотрудник,
| КадровыеДанные.Подразделение КАК Подразделение,
| КадровыеДанные.Должность КАК Должность,
| КадровыеДанные.ВидСобытия КАК ВидСобытия,
| КадровыеДанные.Регистратор КАК Регистратор
|
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадровыеДанные
|
|ГДЕ
|
| ( КадровыеДанные.ВидСобытия = &Увольнение
| И КадровыеДанные.Регистратор.ДатаУвольнения <= &ДатаПо И КадровыеДанные.Регистратор.ДатаУвольнения >= &ДатаС )
| ИЛИ
| ( КадровыеДанные.ВидСобытия = &Прием
| И КадровыеДанные.Регистратор.ДатаПриема <= &ДатаПо И КадровыеДанные.Регистратор.ДатаПриема >= &ДатаС )
| ИЛИ
| ( КадровыеДанные.ВидСобытия = &Перемещение
| И КадровыеДанные.Регистратор.ДатаПеремещения <= &ДатаПо И КадровыеДанные.Регистратор.ДатаПеремещения >= &ДатаС )
|
|УПОРЯДОЧИТЬ ПО
| Сотрудник.Наименование";
Запрос.УстановитьПараметр("ДатаС",Объект.ДатаС);
Запрос.УстановитьПараметр("ДатаПо",Объект.ДатаПо);
Запрос.УстановитьПараметр("Увольнение",Перечисления.ВидыКадровыхСобытий.Увольнение);
Запрос.УстановитьПараметр("Прием",Перечисления.ВидыКадровыхСобытий.Прием);
Запрос.УстановитьПараметр("Перемещение",Перечисления.ВидыКадровыхСобытий.Перемещение);
ТЗ = Запрос.Выполнить().Выгрузить();
сообщить(ТЗ.Количество());
ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
Таб = Новый ТабличныйДокумент;
ОблШапка = Макет.ПолучитьОбласть("Шапка");
ОблШапка.Параметры.ДатаС=Формат(Объект.ДатаС,"ДЛФ=D");
ОблШапка.Параметры.ДатаПо=Формат(Объект.ДатаПо,"ДЛФ=D");
Таб.Вывести(ОблШапка);
ОблСтрока = Макет.ПолучитьОбласть("Строка");
Для Каждого Стр Из ТЗ Цикл
ОблСтрока.Параметры.Сотрудник=Стр.Сотрудник.ПолучитьОбъект();
ОблСтрока.Параметры.Должность=Стр.Должность;
ОблСтрока.Параметры.Отдел=Стр.Подразделение;
если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Прием тогда
ОблСтрока.Параметры.ДатаПриема=Формат(Стр.Регистратор.ДатаПриема,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаПриема="";
конецесли;
если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Увольнение тогда
ОблСтрока.Параметры.ДатаУвольнения=Формат(Стр.Регистратор.ДатаУвольнения,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаУвольнения="";
конецесли;
если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Перемещение тогда
ОблСтрока.Параметры.ДатаПеремещения=Формат(Стр.Регистратор.ДатаПеремещения,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаПеремещения="";
конецесли;
Таб.Вывести(ОблСтрока);
КонецЦикла;
//Таб.Показать();
Файл_Выгрузки="тут путь к серверу"+ СтрЗаменить(Формат(ТекущаяДата(),"ДЛФ=D"),".","")+"_КИ.xls";
Таб.Записать(Файл_Выгрузки,ТипФайлаТабличногоДокумента.XLSX);
КонецПроцедуры
&НаКлиенте
Процедура ПриОткрытии(Отказ)
ПриОткрытииНаСервере();
Закрыть();
Сообщить("Выгрузка выполнена.");
ЗавершитьРаботуСистемы(ЛОЖЬ);
КонецПроцедуры