Кадровые данные сотрудников в ЗУП 3.1 в отчетах

Параметры используемые для получения данных сотрудников в ЗУП 3.1. Пригодится для разработки отчетов как напоминалка.

При разработке в ЗУП часто приходится получать различные данные сотрудников, для этого используется стандартная функция"КадровыйУчет.КадровыеДанныеСотрудников".

Но список возможных параметров, в свободном доступе нигде найти не смог (видимо плохо искал).

Сама функция выглядит так:


// Возвращает таблицу значений заполненную данными сотрудников, перечисленными в
// параметре СписокНеобходимыхДанных.
//
// Параметры:
// ТолькоРазрешенные - Булево
//  СписокСотрудников - Массив ссылок на элементы справочника сотрудники или
//        СправочникСсылка.Сотрудники.
//  КадровыеДанные -  Строка - список полей данных, перечисленных через запятую
//      или Массив строк с полями данных, которые необходимо получить.
// ДатаПолученияДанных - дата на которую необходимо получить данные сотрудников,
//      применимо к данным, носящим периодический характер.
//      Если дату не указывать, будут получены самые последние данные.
//
//
//  ПоляОтбораПериодическихДанных - Структура, в качестве ключа указывается имя таблицы, содержащей
//         периодические данные (например ФИОФизическихЛиц, ГражданствоФизическихЛиц).
//         В качестве значений коллекция условий отбора,
//         соединяемых по "И" и применяемых к регистру сведений.
//         Коллекция строки которой имеют поля.
//          * ЛевоеЗначение - строка, имя поля регистра сведений.
//          * ВидСравнения - строка, вид сравнения, допустимый в языке запросов.
//          * ПравоеЗначение - значение для сравнения с полем ЛевоеЗначение.
//
// Список полей, допустимых в параметре КадровыеДанные см. КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников.
//
// Возвращаемое значение:
//   ТаблицаЗначений   - Таблица значений, содержащая запрошенные данные.
//
Функция КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина) Экспорт

// Подготовим Запрос и Менеджер временных таблиц.
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;

// Сформируем временную таблицу ВТКадровыеДанныеФизическихЛиц.
СоздатьНаДатуВТКадровыеДанныеСотрудников(Запрос.МенеджерВременныхТаблиц, ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных, ПоляОтбораПериодическихДанных, ФормироватьСПериодичностьДень);

// Выберем кадровые данные физлиц из временной таблицы.
Запрос.Текст = "ВЫБРАТЬ КадровыеДанныеСотрудников.* ИЗ ВТКадровыеДанныеСотрудников КАК КадровыеДанныеСотрудников";
КадровыеДанныеСотрудников = Запрос.Выполнить().Выгрузить();

Возврат КадровыеДанныеСотрудников;

КонецФункции

И я хочу поделится возможными параметрами используемыми в значении переменной "КадровыеДанные".

Список возможных параметров:

ФИОПолные,Пол,ТабельныйНомер,Организация,Подразделение,Должность,ДатаПриема,ДатаУвольнения,Возраст,
Фамилия, Имя, Отчество, Наименование, ФизическоеЛицоНаименование, Код, ФизическоеЛицоКод,
АдресДляИнформирования, АдресДляИнформированияПредставление, АдресЗаПределамиРФ, АдресЗаПределамиРФПредставление
АдресМестаПроживания, АдресМестаПроживанияПредставление, АдресПоПрописке,АдресПоПропискеПредставление
ТелефонДомашний, ТелефонДомашнийПредставление, ТелефонРабочий, ТелефонРабочийПредставление, EMail, EMailПредставление
ДокументПериодРегистрации, ДокументВид, ДокументКодМВД, ДокументСерия, ДокументНомер, ДокументДатаВыдачи,ДокументСрокДействия
ДокументКемВыдан, ДокументКодПодразделения, ДокументПредставление, ИнвалидностьПериодРегистрации, Инвалидность
ИнвалидностьДатаВыдачи, ИнвалидностьСрокДействияСправки, ГражданствоПериодРегистрации, Страна, ИННВСтранеГражданства,
ПроцентСевернойНадбавки, ТекущаяОрганизация, ТекущееПодразделение, ТекущаяДолжность, ТекущийВидЗанятости,
ОсновноеРабочееМестоВОрганизации, ДатаПриема, ДатаЗавершенияРаботы, ОформленПоТрудовомуДоговору, ДатаУвольнения,
ТекущаяТарифнаяСтавка, ТекущийСпособРасчетаАванса, ТекущийАванс, ДатаНачалаУчета, ПриказОПриеме, ПриказОПриемеДата,
ПриказОПриемеНомер, НазначениеПодработки, ПриказОбУвольнении, ПриказОбУвольненииДата, ПриказОбУвольненииНомер,
ПриказОбУвольненииСтатьяТКРФ, ПрекращениеПодработки, РабочееМестоПериодРегистрации, РабочееМестоРегистратор
ВидСобытия, КоличествоСтавок, ЭтоГоловнойСотрудник, УчетЗатратПериодРегистрации,
СпособОтраженияЗарплатыВБухучете, ОтношениеКЕНВД, СтатьяФинансирования, УчетЗатратДокументОснование,
ОплатаТрудаПериодЗаписи, ОплатаТрудаРегистратор, ТарифнаяСтавка, ФОТ, Надбавка, ВидЗанятостиПериодЗаписи,
ВидЗанятостиРегистратор, ВидЗанятости, АвансПериодЗаписи, АвансРегистратор, СпособРасчетаАванса, Аванс,
КлассУсловийТрудаПериодРегистрации, КлассУсловийТруда, КлассУсловийТрудаДатаРегистрацииИзменений,
ЗарплатныйПроектПериодРегистрации, ЗарплатныйПроектРегистратор, ЗарплатныйПроект, НомерЛицевогоСчета.

Как использую я:

//ПараметрШаблона в качестве параметра передается массив или единичный параметр из возможных указанных выше

ДанныеФизическогоЛица = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Объект.Сотрудник, ПараметрШаблона);
Если ДанныеФизическогоЛица.Количество() > 0 Тогда
ИскомыйРеквизит=ДанныеФизическогоЛица[0][ПараметрШаблона]);
КонецЕсли;

В основном использую для составления динамических печатных форм.

Принцип использования параметров похож на тот, что описан в статье  //infostart.ru/public/934770/

19 Comments

  1. kauksi

    Отладчик я так понимаю у вас запрещен чтобы встать на КадровыеДанныеСотрудников = Запрос.Выполнить().Выгрузить(); и посмотреть что запрос вернет и при желании выгрузить это в таблицу или текстовый документ

    Reply
  2. fromlion

    (1) Шутку оценил 🙂 , чтоб получить какие то данные в запросе их надо сначала поместить во временнуютаблицу, а временная таблица как раз и формируется на основе тех параметров которые мы передаем с помощью переменной «КадровыеДанные»

    Reply
  3. nikola17

    Добрый день! Плохо искали 🙂

    В описании функции «КадровыйУчет.КадровыеДанныеСотрудников» — Список полей, допустимых в параметре КадровыеДанные см. КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников.

    Если найдете в ОМ функцию «КадровыйУчетВнутренний.ЗапросВТКадровыеДанныеСотрудников», то в описании (в комментариях) Вы увидите БОЛЬШОЙ список параметров. 🙂

    Reply
  4. fromlion

    (3) Добрый, действительно. Приятно удивлен 🙂

    Reply
  5. user619273_alevtina

    Супер! Как проглядела раньше.

    Reply
  6. aka AMIGO

    Получил нужную мне должность парой строк:

    КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СтрокаТЧ.Сотрудник, «Должность, ДолжностьПоШтатномуРасписанию», ТекущаяДата()); //массив

    Шапка.Параметры.ДолжностьПоШР = КадровыеДанныеСотрудников[0].ДолжностьПоШтатномуРасписанию; //Вывел первое и единственное значение.

    Всё.

    ЗИК 3.1

    Reply
  7. aka AMIGO

    Годная тема. Спасибо, ТС.

    Reply
  8. leviran

    спасибо. Выбрал главное и описал просто и доступно

    Reply
  9. in_nochka

    спасибо

    Reply
  10. nico2

    Спасибо большое, действительно полезная штука

    Reply
  11. xrrg
    Reply
  12. Craig

    Огромное спасибо!!!

    Reply
  13. Provorez
    ИскомыйРеквизит=ДанныеФизическогоЛица[0][ПараметрШаблона]);

    Подскажите, что указывается в первых квадратных скобках [0]? И зачем?

    Reply
  14. fromlion

    (13)в квадратных скобках указывается индекс таблицы значений, а указывается для того, чтоб получить строку, той самой таблицы значений.

    Reply
  15. grig_nv

    а за период (например должность, подразделение, ставка)?

    Reply
  16. fromlion

    (15) только на конкретную дату параметр в функции «ДатаПолученияДанных»

    Reply
  17. grig_nv

    (16) Ну это мы научились, а вот периодические штуки как то сложно получаются, вернее нет одного — другого полного примера . Приходится интервальные регистры использовать пока под свои нужды…

    Reply
  18. 3gf

    подскажите а как получить — классный чин сотрудника?

    Reply
  19. fromlion

    (18) Это в ЗУП ГУ, скорее всего не подскажу,.

    Reply

Leave a Comment

Ваш адрес email не будет опубликован. Обязательные поля помечены *