Skip to content
лого - блог 1с программиста

Блог 1С программиста

Наработки, заметки и другая информация по 1С

  • Главная
  • ЗУП 3.1
    • Разработка
      • Обработки
      • Отчеты
      • Печатные формы
      • Расширения
    • Инструкции
    • Ответы техподдержки 1С
    • Общие вопросы
  • УХ 3.2
  • ДО 2.1
  • Интеграции и обмены
  • Шаблоны и заготовки
    • Типовые приемы
    • Отчеты
    • Печатные формы
    • Расширения
  • Контакты
  • Toggle search form

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

Posted on 26 июля 22 г.2 декабря 22 г. By admin Комментариев к записи Получение кадровых данных сотрудников ЗУП 3.1 нет

Содержание:

  • Получение кадровых данных на определенную дату:
    • 1. Через функцию “КадровыеДанныеСотрудников”
    • 2. Через Временную Таблицу “ВТСотрудникиОрганизации” по параметрам отбора
  • Получение кадровых данных срезом на заданные даты:
    • 1. Через Временную Таблицу “ВТКадровыеДанныеСотрудников”
    • 2. Через Таблицу Значений

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

Получение кадровых данных на определенную дату:
1. Через функцию “КадровыеДанныеСотрудников”

Самый просто способ получить кадровые данные в таблицу значений на указанную дату

1С (Код)
1
2
3
4
СписокСотрудников = Справочники.Сотрудники.НайтиПоНаименованию("Ломоносов Михаил Васильевич"); //Массив ссылок или элемент СправочникСсылка.Сотрудники
//КадровыеДанныеСотрудников(ТолькоРазрешенные, СписокСотрудников, КадровыеДанные, ДатаПолученияДанных = '00010101', ПоляОтбораПериодическихДанных = Неопределено, ФормироватьСПериодичностьДень = Истина)
ТЗКадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, СписокСотрудников, "ФИО, Подразделение, Должность, ТабельныйНомер");

Если конченый результат в виде “Таблицы значений” не подходит, то внутри используется функция “СоздатьНаДатуВТКадровыеДанныеСотрудников”, с помощью которой можно получить результат в виде “Временной Таблицы” или “Выборки”.

2. Через Временную Таблицу “ВТСотрудникиОрганизации” по параметрам отбора

Заполняем структура “ПараметрыПолученияСотрудников”, необходимую для временной таблицы и получаем данные через функцию “СоздатьВТСотрудникиОрганизации”.

1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
// Исходные данные примера
НачалоПериода = НачалоМесяца(ТекущаяДата());
ОкончаниеПериода = КонецМесяца(ТекущаяДата());
// Получение кадровых данных через ВТСотрудникиОрганизации
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
ПараметрыПолученияСотрудников = КадровыйУчет.ПараметрыПолученияСотрудниковОрганизацийПоСпискуФизическихЛиц();
ПараметрыПолученияСотрудников.НачалоПериода = НачалоПериода;
ПараметрыПолученияСотрудников.ОкончаниеПериода = ОкончаниеПериода;
ПараметрыПолученияСотрудников.КадровыеДанные = "ФИО, Подразделение, Должность, ТабельныйНомер, ДатаПриема, ДатаУвольнения";
//В "ПараметрыПолученияСотрудников" можно указать фильтр по: Организация, Подразделение, РаботникиПоДоговорамГПХ, РаботникиПоТрудовымДоговорам и др.
// Если не заполнить СписокФизическихЛиц, будут получены данные по всем сотрудника организации
МассивФизическихЛиц = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Справочники.ФизическиеЛица.НайтиПоНаименованию("Королёв Сергей Павлович"));
ПараметрыПолученияСотрудников.СписокФизическихЛиц = МассивФизическихЛиц;
// При необходимости можно использовать отборы по условию
МассивДолжностей = ОбщегоНазначенияКлиентСервер.ЗначениеВМассиве(Справочники.Должности.НайтиПоНаименованию("Конструктор"));
ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПолученияСотрудников.Отборы, "Должность", "В", МассивДолжностей);
//ЗарплатаКадрыОбщиеНаборыДанных.ДобавитьВКоллекциюОтбор(ПараметрыПолученияСотрудников.Отборы,"ДатаУвольнения", ">=", НачалоПериода);
 
УстановитьПривилегированныйРежим(Истина); //убирает лишние проверки
КадровыйУчет.СоздатьВТСотрудникиОрганизации(Запрос.МенеджерВременныхТаблиц, Истина, ПараметрыПолученияСотрудников);
 
Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТСотрудникиОрганизации";
ТЗКадровыеДанные = Запрос.Выполнить().Выгрузить();
Получение кадровых данных срезом на заданные даты:
1. Через Временную Таблицу “ВТКадровыеДанныеСотрудников”

Формируем временную таблицу с исходными данными (Сотрудники, Периоды), передаем ее в “Описатель временных таблиц”, затем уже описатель передаем в функцию “СоздатьВТКадровыеДанныеСотрудников”, в результате получаем ВТКадровыеДанныеСотрудников со всеми кадровыми данными на указанные даты.

1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
// Помещаем список сотрудников и даты среза для получения кадровых данных в ВТСотрудники,
// которая в дальнейшем будет использована в описателе
Запрос = Новый Запрос;
Запрос.МенеджерВременныхТаблиц = Новый МенеджерВременныхТаблиц;
Запрос.Текст =
"ВЫБРАТЬ
|    &Сотрудник Сотрудник,
|    &Период Период
|ПОМЕСТИТЬ ВТСотрудники";
Запрос.УстановитьПараметр("Сотрудник", Справочники.Сотрудники.НайтиПоНаименованию("Лермонтов Михаил Юрьевич"));
Запрос.УстановитьПараметр("Период", ТекущаяДата());
Запрос.Выполнить();
 
// Получаем кадровые данные через ВТКадровыеДанныеСотрудников
ОписательВТ = КадровыйУчет.ОписательВременныхТаблицДляСоздатьВТКадровыеДанныеСотрудников(Запрос.МенеджерВременныхТаблиц, "ВТСотрудники");
КадровыйУчет.СоздатьВТКадровыеДанныеСотрудников(ОписательВТ, Ложь, "Организация, Сотрудник, ФизическоеЛицо, ФИОПолные, ДатаРождения, МестоРождения");
Запрос.Текст = "ВЫБРАТЬ * ИЗ ВТКадровыеДанныеСотрудников";
ТЗКадровыеДанные = Запрос.Выполнить().Выгрузить();
2. Через Таблицу Значений

Описывается и заполняется таблица значений с перечнем сотрудников и дат, на которую необходимо получить кадровые данные, затем через функцию общего модуля “КадровыеДанныеСотрудниковПоТаблицеЗначений” получаем данные.

1С (Код)
1
2
3
4
5
6
7
8
9
10
11
12
13
// Пример из обработки проведения документа "ИзменениеКвалификационногоРазраяда"
ТаблицаСотрудников = Новый ТаблицаЗначений;
ТаблицаСотрудников.Колонки.Добавить("Сотрудник", Новый ОписаниеТипов("СправочникСсылка.Сотрудники"));
ТаблицаСотрудников.Колонки.Добавить("Период", Новый ОписаниеТипов("Дата"));
 
Для Каждого ДанныеСотрудника Из ДанныеДляПроведения Цикл
СтрокаТаблицыСотрудников = ТаблицаСотрудников.Добавить();
СтрокаТаблицыСотрудников.Период = ДанныеСотрудника.ДатаМероприятия;
СтрокаТаблицыСотрудников.Сотрудник = ДанныеСотрудника.Сотрудник;
КонецЦикла;
 
// КадровыеДанныеСотрудниковПоТаблицеЗначений(ТолькоРазрешенные, ТаблицаСотрудников, КадровыеДанные, ПоляОтбораПериодическихДанных = Неопределено)
КадровыеДанныеСотрудников = КадровыйУчет.КадровыеДанныеСотрудниковПоТаблицеЗначений(Ложь, ТаблицаСотрудников, "ВидЗанятости,Должность");

Более широкий перечень “Кадровых данных” которые можно получить рассмотренными способами описан в статье Представления «Кадровые данные».

Рекомендации

  • Полезные функции из общего модуля ЗУП 3.1
  • Программная загрузка фото физических лиц в ЗУП 3.1
  • Расширение "Фото в карточке сотрудника ЗУП 3.1"
ЗУП 3.1, Отчеты, Печатные формы, Шаблоны и заготовки Tags:кадровые данные

Навигация по записям

Previous Post: Представления “Кадровые данные”
Next Post: Шпаргалка по запросам 1С

Добавить комментарий Отменить ответ

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

ДзенTelegram

MDM web-сервис БИД Бухучет КД 2.0 Командировки НДФЛ П-4 Подбор персонала Резервы отпусков СЗВ-СТАЖ СЗВ-ТД СКД СТД-Р СЭДО ФСС ФСС НС взносы выплаты вычеты диалог кадровая история кадровые данные кадровые переводы контактная информация легкий труд мастер-данных менеджер расчета зарплаты обмен данными оповещения отпуска печать печать без проверки печать с диалогом повышение квалификации пользователи представление прием на работу рабочее время синхронизация ЗУП и БП средний заработок табель таблица периодов фотография штатное расписание

Рубрики

  • Без категории (1)
  • ДО 2.1 (1)
  • ЗУП 3.1 (39)
    • Инструкции (3)
    • Общие вопросы (14)
    • Ответы техподдержки 1С (9)
    • Разработка (8)
      • Обработки (3)
      • Отчеты (1)
      • Печатные формы (1)
      • Расширения (3)
  • Интеграции и обмены (7)
  • УХ 3.2 (3)
  • Шаблоны и заготовки (20)
    • Отчеты (10)
    • Печатные формы (6)
    • Расширения (1)
    • Типовые приемы (7)
Top.Mail.Ru

© 2022-2023 myblog-1c.ru