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

26.10.20

Разработка - Запросы

Получение кадровый данных сотрудников в запросе при помощи функции КадровыйУчет.СоздатьНаДатуВТКадровыеДанныеСотрудников().

Тема получения кадровый данных уже поднималась на ресурсе в статье //infostart.ru/1c/articles/938015/ ув. человек fromlion описал как получить кадровые данные в отчетах при помощи функции КадровыйУчет.КадровыеДанныеСотрудников. 

Я хочу дополнить его пост, описать как можно получить кадровые данные в запросе. 
Так как вызывать функцию КадровыйУчет.КадровыеДанныеСотрудников в выборке запроса не всегда быстро, плюс есть ситуации когда нужно сделать связи таблиц.

Я предлагаю получить ВТ с нужными данными и поместить ее в запрос ниже подробно опишу как это сделать.

1.Создаем массив сотрудников. (можно не создавать если вам нужно получить данные по 1 сотруднику, в таком случае можно просто передать ссылку на сотрудника вместо массива)

МассивСотрудников = Новый Массив;
МассивСотрудников = МассивОбъектов.Сотрудники.ВыгрузитьКолонку("Сотрудник");
// Я выгружаю колонку из табличной части документа, где записаны сотрудники

2.Создаем менеджер временных таблиц, в него помещаем результат функции КадровыйУчет.СоздатьНаДатуВТКадровыеДанныеСотрудников() с описанием необходимых нам данных.
(в примере я получил подразделение и должность, но получить можно много чего, вот добрый человек поделился полным списком http://forum.infostart.ru/forum9/topic203251/message2254962/#message2254962 )

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

3. Создаем запрос, в запросе создаем ВТ - правильно указываем ее имя - обязательно! если сделать описание типов, сможем обращаться к реквизитам, делать связи и группировки.
ВТ называется: "ВТКадровыеДанныеСотрудников"

Запрос.Текст = 


 

4. Теперь в запросе есть кадровые данные, можем выбирать поля и работать с запросом дальше.

5. Готово, делаем обход выборки радуемся быстроте и достоверности данных запроса. 

кадровые данные запрос ЗУП

См. также

Инструментарий разработчика Роли и права Запросы СКД Программист Руководитель проекта Платформа 1С v8.3 Управляемые формы Запросы Система компоновки данных Платные (руб)

Инструменты для разработчиков 1С 8.3: Infostart Toolkit. Автоматизация и ускорение разработки на управляемых формах. Легкость работы с 1С.

15500 руб.

02.09.2020    184737    1029    403    

968

Обновление 1С Запросы Программист Платформа 1С v8.3 1С:ERP Управление предприятием 2 Абонемент ($m)

Данный инструмент помогает анализировать доработанную конфигурацию после обновления на новый релиз и находить «битые» тексты запросов, в которых участвуют несуществующие в новом релизе метаданные.

2 стартмани

06.02.2025    2201    17    XilDen    26    

36

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

В статье приведена удобная возможность отладки исполняемого запроса динамического списка.

03.12.2024    5734    artemusII    11    

23

Запросы Программист Бесплатно (free)

Увидел cheatsheet по SQL и захотелось нарисовать подобное, но про запросы.

18.10.2024    13140    sergey279    18    

66

Запросы Программист Платформа 1С v8.3 Запросы 1C:Бухгалтерия Бесплатно (free)

Столкнулся с интересной ситуацией, которую хотел бы разобрать, ввиду её неочевидности. Речь пойдёт про использование функции запроса АВТОНОМЕРЗАПИСИ() и проблемы, которые могут возникнуть.

11.10.2024    8220    XilDen    36    

90

СКД Механизмы типовых конфигураций Запросы Программист Платформа 1С v8.3 1С:Зарплата и кадры государственного учреждения 3 1С:Зарплата и Управление Персоналом 3.x Россия Бесплатно (free)

Работая с типовыми отчетами в конфигурациях «Зарплата и управление персоналом, редакция 3», «Зарплата и кадры государственного учреждения, редакция 3» и подобных, в схемах компоновки данных можно встретить конструкции запросов, которые обращаются к некоторым виртуальным таблицам.

20.08.2024    3193    PROSTO-1C    0    

23

Запросы Программист Запросы Бесплатно (free)

Отлаживая взаимодействие с базой данных, мы регулярно сталкиваемся с зависающими или подозрительно долго выполняющимися обращениями, негативно влияющими на производительность. О том, как в PostgreSQL выявить подозрительные запросы, основываясь на доступной о них информации, расскажем в статье.

16.08.2024    10801    user1840182    5    

29
Комментарии
Подписаться на ответы Инфостарт бот Сортировка: Древо развёрнутое
Свернуть все
1. dock 45 02.11.20 08:59 Сейчас в теме
В запросах используется немного другой подход: подготавливается шаблонный текст запроса "Представления_КадровыеДанныеСотрудников" и ПриКомпоновкеРезультата() вызывается ЗарплатаКадрыОбщиеНаборыДанных.ЗаполнитьОбщиеИсточникиДанныхОтчета(ЭтотОбъект);

подробнее можно прочитать например вот здесь Введение в механизм представлений в ЗУП ред. 3
adhocprog; +1 Ответить
2. Danila7Zz 17 02.11.20 09:57 Сейчас в теме
(1) Да, есть такой механизм, широко используется в типовом коде.
Но с ним у меня есть ряд проблем:
- Такие запросы сложно отладить, а консоль запросов и вовсе его не понимает.
- Если допустить опечатку/ошибку, окно ошибки мало информативно.
- Новички этот механизм не понимают, снижает читаемость кода.

А через временную таблицу, запрос сохраняет достоверность данных при этом с ним значительно проще работать.
3. Aftee 02.11.20 11:18 Сейчас в теме
(2) Поделитесь, как в отлаживаете подобный запрос через консоль?
4. Danila7Zz 17 02.11.20 12:48 Сейчас в теме
(3) Консоль запросов не сможет отработать, пока есть описание временной таблицы.
Как вариант: я создаю запрос без ВТ, работаю с ним, а потом дописываю описание ВТ.
В дальнейшем смотреть результат запроса через отладку, методом выборка.выгрузить()
5. пользователь 28.01.21 01:51
Сообщение было скрыто модератором.
...
Оставьте свое сообщение