Оглавление
1. Первые шаги в работе с 1С:Зарплата управление персоналом 3.1.2. Программное получение кадровых данных сотрудников
3. Кадровые данные сотрудников в отчетах.
1. Первые шаги в работе с 1С:Зарплата управление персоналом 3.1
Данная статья предназначена для программистов, делающих первые шаги в работе с 1С:Зарплата управление персоналом 3.1 (далее ЗУП 3.1 8).
Многие задачи по доработке ЗУП так или иначе связаны с необходимостью получения кадровых данных сотрудников. Так как эта информация находится в различных регистрах сведений, то разработка запроса с 0 может занять значительное время. Поэтому во многих случаях более целесообразно использовать так называемый механизм представлений.
Под механизмом представлений подразумевается набор экспортных процедур, функций типовых модулей ЗУП 3.1 8. Они позволяют получить необходимую информацию, передав в качестве параметров описание этих данных (список сотрудников, даты на которые требуется получить данные, список идентификаторов необходимых данных и т.п.). В данной статье мы рассмотрим только получение кадровых данных сотрудников, хотя механизм позволяет получать данные различных подсистем ЗУП 3.1.
2. Программное получение кадровых данных сотрудников.
Приведем код позволяющий получить временную таблицу содержащую кадровые данные сотрудников:
Первым шагом создаем временную таблицу ВТСотрудникиПериоды, содержащую список сотрудников, для которых необходимо получить кадровые данные. Так как временная таблица формируется запросом, то можно ограничивать список сотрудников необходимым образом, например, получить всех сотрудников организации или список сотрудников какого-либо документа. Кроме списка сотрудников данная таблица содержит период получения среза кадровых данных. Отметим, что один сотрудник может встречаться в таблице несколько раз с различными периодами, что позволяет получить кадровые данные на разные даты.
Следующим шагом вызываем процедуру СоздатьВТКадровыеДанныеСотрудников модуля КадровыйУчет, в качестве параметров передаем:
· ОписательВременныхТаблиц – Структура, в том числе содержащая менеджер временных таблиц, в который будет помещена временная таблица с полученными данными.
· ТолькоРазрешенные – Булево, признак отбора только разрешенных пользователю данных.
· КадровыеДанные – Строка, содержащая список необходимых кадровых данных, представляющих собой идентификаторы полей кадровых данных. Не будем приводить в данной статье эти идентификаторы, так как их перечень достаточно велик. При желании их можно получить глобальным поиском по конфигурации (ключевое слово СоздатьВТКадровыеДанныеСотрудников).
Далее рассмотрим получение данных из временной таблицы 1С 8.3:
Как видно на рисунке, после выполнения процедуры данные помещаются во временную таблицу 1С 8.3 ВТКадровыеДанныеСотрудников. Выбираем с помощью запроса полученные данные и обрабатываем.
Следует отметить, существует аналог процедуры СоздатьВТКадровыеДанныеСотрудников – функция КадровыеДанныеСотрудников с аналогичными параметрами. Отличие лишь в том, что данные помещаются не во временную таблицу, а в таблицу значений. Еще один плюс функции - она относится к разделу ПрограммныйИнтерфейс модуля КадровыйУчет, это означает, что для данной функции поддерживается совместимость при переходе на новые релизы.
3. Кадровые данные сотрудников в отчетах.
Приведенный выше код неудобно применять в отчетах, реализованных с использованием системы компоновки данных. Но, к счастью, программисты ЗУП разработали аналогичный механизм получения кадровых данных в отчетах.
Первым шагом мы оформляем специальным образом запрос схемы компоновки:
В первом запросе подготовим список сотрудников, для которых необходимо получить кадровые данные. В фигурных скобках содержится список полей, которые 1С 8 СКД предложит пользователю отчета для отбора сотрудников.
Второй запрос – шаблон для выборки кадровых данных сотрудников, необходимых для вывода в отчет 1С. Как мы видим, этот запрос сам по себе ничего не выберет, так как содержит пустые значения в запросе для каждого из типов данных. Но он открывается конструктором запросов. А это позволяет модифицировать запрос и использовать данные полей временной таблицы Представления_КадровыеДанныеСотрудников в последующих запросах, а также формировать список полей, доступных в отчете. Нам остается только сформировать вариант отчета 1С 8.3.
Теперь чтобы в нашем отчете вместо пустых полей появились реальные данные, доработаем модуль объекта 1С 8.3 отчета (код можно скопировать в одном из типовых запросов конфигурации):
Всю работу за нас выполнит процедура ЗаполнитьОбщиеИсточникиДанныхОтчета модуля ЗарплатаКадрыОбщиеНаборыДанных. При инициализации отчета она заменит наш шаблон запроса реальным запросом к базе данных.
Специалист компании ООО «Кодерлайн»
Алена Крюкова.