Не заполняется колонка в отчете.

1. psviridov 22.06.22 14:01 Сейчас в теме
Добрый день. Правлю отчет, который по идее должен выводить ФИО сотрудника, дату приема, дату увольнения и дату перевода (если попадает в нужный период). Дата увольнения и приема выводится, а перевод выдает пустую колонку. Где я прослоупочил?

&НаСервере
Процедура ПриОткрытииНаСервере()

Объект.ДатаПо=КонецДня(ТекущаяДата());
//ДатаС=ДобавитьМесяц(ТекущаяДата(),-12); // за год
Объект.ДатаС=НачалоДня(ТекущаяДата())-6*60*60*24; // за неделю

Запрос=Новый Запрос;
Запрос.Текст = "ВЫБРАТЬ РАЗРЕШЕННЫЕ
| КадровыеДанные.Сотрудник.Код КАК ТабельныйНомер,
| КадровыеДанные.Сотрудник КАК Сотрудник,
| КадровыеДанные.Подразделение КАК Подразделение,
| КадровыеДанные.Должность КАК Должность,
| КадровыеДанные.ВидСобытия КАК ВидСобытия,
| КадровыеДанные.Регистратор КАК Регистратор
|
|ИЗ
| РегистрСведений.КадроваяИсторияСотрудников КАК КадровыеДанные
|
|ГДЕ
|
| ( КадровыеДанные.ВидСобытия = &Увольнение
| И КадровыеДанные.Регистратор.ДатаУвольнения <= &ДатаПо И КадровыеДанные.Регистратор.ДатаУвольнения >= &ДатаС )
| ИЛИ
| ( КадровыеДанные.ВидСобытия = &Прием
| И КадровыеДанные.Регистратор.ДатаПриема <= &ДатаПо И КадровыеДанные.Регистратор.ДатаПриема >= &ДатаС )
| ИЛИ
| ( КадровыеДанные.ВидСобытия = &Перемещение
| И КадровыеДанные.Регистратор.ДатаПеремещения <= &ДатаПо И КадровыеДанные.Регистратор.ДатаПеремещения >= &ДатаС )
|
|УПОРЯДОЧИТЬ ПО
| Сотрудник.Наименование";

Запрос.УстановитьПараметр("ДатаС",Объект.ДатаС);
Запрос.УстановитьПараметр("ДатаПо",Объект.ДатаПо);
Запрос.УстановитьПараметр("Увольнение",Перечисления.ВидыКадровыхСобытий.Увольнение);
Запрос.УстановитьПараметр("Прием",Перечисления.ВидыКадровыхСобытий.Прием);
Запрос.УстановитьПараметр("Перемещение",Перечисления.ВидыКадровыхСобытий.Перемещение);
ТЗ = Запрос.Выполнить().Выгрузить();
сообщить(ТЗ.Количество());

ОбработкаОбъект = РеквизитФормыВЗначение("Объект");
Макет = ОбработкаОбъект.ПолучитьМакет("Макет");
Таб = Новый ТабличныйДокумент;
ОблШапка = Макет.ПолучитьОбласть("Шапка");
ОблШапка.Параметры.ДатаС=Формат(Объект.ДатаС,"ДЛФ=D");
ОблШапка.Параметры.ДатаПо=Формат(Объект.ДатаПо,"ДЛФ=D");
Таб.Вывести(ОблШапка);
ОблСтрока = Макет.ПолучитьОбласть("Строка");

Для Каждого Стр Из ТЗ Цикл

ОблСтрока.Параметры.Сотрудник=Стр.Сотрудник.ПолучитьОбъект();
ОблСтрока.Параметры.Должность=Стр.Должность;
ОблСтрока.Параметры.Отдел=Стр.Подразделение;

если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Прием тогда
ОблСтрока.Параметры.ДатаПриема=Формат(Стр.Регистратор.ДатаПриема,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаПриема="";
конецесли;
если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Увольнение тогда
ОблСтрока.Параметры.ДатаУвольнения=Формат(Стр.Регистратор.ДатаУвольнения,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаУвольнения="";
конецесли;
если Стр.ВидСобытия=Перечисления.ВидыКадровыхСобытий.Перемещение тогда
ОблСтрока.Параметры.ДатаПеремещения=Формат(Стр.Регистратор.ДатаПеремещения,"ДЛФ=D");
иначе
ОблСтрока.Параметры.ДатаПеремещения="";
конецесли;

Таб.Вывести(ОблСтрока);

КонецЦикла;

//Таб.Показать();

Файл_Выгрузки="тут путь к серверу"+ СтрЗаменить(Формат(ТекущаяДата(),"ДЛФ=D"),".","")+"_КИ.xls";
Таб.Записать(Файл_Выгрузки,ТипФайлаТабличногоДокумента.XLSX);

КонецПроцедуры


&НаКлиенте
Процедура ПриОткрытии(Отказ)

ПриОткрытииНаСервере();
Закрыть();
Сообщить("Выгрузка выполнена.");
ЗавершитьРаботуСистемы(ЛОЖЬ);

КонецПроцедуры
По теме из базы знаний
Ответы
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
2. soft_wind 22.06.22 14:22 Сейчас в теме
как вариант Регистратор.ДатаПеремещения - может быть не заполнена

и вообще зачем Даты из Регистратора берете?
в записи регистра, Период или Дата и есть дата этого события! его и берите!
Оставьте свое сообщение

Для получения уведомлений об ответах подключите телеграм бот:
Инфостарт бот