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

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

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

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

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

Posted on 26 июля 22 г.22 августа 24 г. By Алексей Комментариев к записи Получение кадровых данных сотрудников ЗУП 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, Отчеты, Печатные формы, Шаблоны и заготовки Tags:кадровые данные

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

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

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

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

ДзенTelegram

Разработки

  • Печатная форма "Расходный кассовый ордер" для ЗУП 3.1 Печатная форма "Расходный кассовый ордер" ЗУП 3.1 650,00 ₽
  • Отчет "План-факт отпусков сотрудников в виде диаграммы Ганта Отчет "План-факт по отпускам сотрудников" ЗУП 3.1 650,00 ₽
  • Приказ об отмене трудового договора (рис 1) Печатная форма "Отмена приема на работу" ЗУП 3.1 650,00 ₽
  • Обработка “Выплата сотруднику через банк” ЗУП 3.1 Обработка “Выплата сотруднику через банк” ЗУП 3.1 0,00 ₽
  • Тестирование API Яндекс GPT Обработка "Работа с API YandexGPT" 650,00 ₽

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

Яндекс.Метрика

© 2022-2026 myblog-1c.ru

Пользовательское соглашение

Контакты