Как получить паспортные данные и адрес физического лица в 1С:ЗУП 8?

Программист 1С v8.3 (Обычные формы) 1С:Зарплата и Управление Персоналом Управленческий учет IT и автоматизация бизнеса
← На главную

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

Вариант 1: Использование запросов к регистрам сведений

Если вам необходимо выбрать данные для нескольких сотрудников одновременно в рамках одного отчета, оптимальным способом будет использование конструктора запросов с левыми соединениями к таблицам СрезПоследних. Это позволит получить актуальные данные на конкретную дату.

Рассмотрим пример запроса, который связывает справочник СотрудникиОрганизаций с регистрами сведений:


ВЫБРАТЬ
    ФИОФизЛицСрезПоследних.Фамилия,
    ПаспортныеДанныеФизЛицСрезПоследних.ДокументСерия,
    ПаспортныеДанныеФизЛицСрезПоследних.ДокументНомер,
    КонтактнаяИнформация.Представление
ИЗ
    Справочник.ФизическиеЛица КАК ФизическиеЛица
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.ПаспортныеДанныеФизЛиц.СрезПоследних КАК ПаспортныеДанныеФизЛицСрезПоследних
    ПО ПаспортныеДанныеФизЛицСрезПоследних.ФизЛицо = ФизическиеЛица.Ссылка
ЛЕВОЕ СОЕДИНЕНИЕ РегистрСведений.КонтактнаяИнформация КАК КонтактнаяИнформация
    ПО КонтактнаяИнформация.Объект = ФизическиеЛица.Ссылка

Важное примечание: при работе с регистром КонтактнаяИнформация учитывайте, что он не является периодическим, поэтому функция ПолучитьПоследнее для него не применима. Используйте просто Получить по отбору или соединение в запросе.

Вариант 2: Использование типовых процедур общих модулей

Разработчики 1С предусмотрели множество готовых функций в общих модулях для получения кадровых данных. Вместо написания сложных запросов, вы можете обратиться к готовым решениям, которые уже учитывают специфику работы системы:

  1. Модуль УправлениеКонтактнойИнформацией: содержит функции для извлечения адресов и телефонов. Например, СведенияОЮрФизЛице или ПолучитьАдресИзКонтактнойИнформации.
  2. Модуль ОбщегоНазначения: содержит полезные функции для обработки ФИО, такие как ФамилияИнициалыФизЛица или ФамилияИмяОтчествоФизЛица.
  3. В современных версиях ЗУП 3.1 используйте модуль КадровыйУчет и функцию КадровыеДанныеФизическихЛиц, которая позволяет гибко получать любые кадровые сведения через передачу структуры полей.

Вариант 3: Использование типовых кадровых отчетов

Если ваша цель — получение данных для пользователя (например, в печатную форму или отчет), не всегда нужно писать код «с нуля». Рассмотрим, как использовать штатный функционал:

В разделе Кадры вы найдете Кадровые отчеты, среди которых есть Личные данные сотрудника. Вы можете:

  1. Открыть настройку отчета.
  2. Выбрать нужные поля (паспортные данные, адреса, контактную информацию).
  3. Сгруппировать данные по необходимости.
  4. Сохранить вариант отчета под своим именем.

Рекомендации по безопасности и работе с данными

При реализации выгрузок данных (например, для банков или сторонних систем) помните следующее:

Использование типовых механизмов — лучший способ обеспечить стабильность и поддерживаемость вашего кода при обновлениях конфигурации 1С.

← На главную