Почему в карточке физического лица в 1С:ЗУП 3.1 не отображаются команды «Воинский учет», «Образование», «Семья» и как это исправить?

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

При работе в программе «1С:Зарплата и управление персоналом 3.1» (1С:ЗУП 3.1) пользователи и разработчики часто сталкиваются с непонятным поведением интерфейса. У одних физических лиц в левой панели карточки (в меню навигации формы) присутствуют гиперссылки «Воинский учет», «Образование, квалификация», «Семья» и «Трудовая деятельность», а у других (часто только что созданных или загруженных из внешних источников, таких как Excel) этих команд попросту нет. На панели отображаются только базовые ссылки: «Работа», «Страхование», «Налог на доходы» и «Справки».

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

1. Архитектурная логика разделения физических лиц и сотрудников

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

  1. ФизическиеЛица — хранит непосредственно персональные данные человека как гражданина (паспортные данные, ИНН, СНИЛС, сведения о семье, образовании и воинском учете).
  2. Сотрудники — представляет собой сущность трудового договора. У одного физического лица может быть несколько элементов в справочнике сотрудников (например, при внутреннем или внешнем совместительстве).

Программа спроектирована так, чтобы не перегружать интерфейс карточки физического лица лишними полями. Если человек занесен в базу просто как сторонний контрагент, получатель разовой выплаты или акционер (по договору ГПХ), собирать по нему подробные анкетные данные для воинского учета или личной карточки Т-2 не требуется. Поэтому система динамически скрывает эти команды на форме физического лица, если не считает его полноценным сотрудником предприятия.

2. Как система определяет статус физического лица

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

3. Технический механизм: регистры сведений и функциональные опции

Если мы заглянем «под капот» конфигурации 1С:ЗУП 3.1, то увидим сложную схему управления видимостью элементов формы, завязанную на функциональные опции и регистры сведений.

Отображение расширенных команд управляется двумя основными функциональными опциями:

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

Рассмотрим ключевые регистры, влияющие на этот процесс:

А. Регистр сведений «Роли физических лиц» (РегистрСведений.РолиФизическихЛиц)
Этот регистр хранит информацию о том, кем является физическое лицо для конкретной организации. В нем фиксируются роли, такие как «Сотрудник», «Договорник» или «Кандидат». При интерактивном приеме на работу система делает запись в этот регистр автоматически.

Б. Регистр сведений «Сведения о режимах работы формы сотрудника расширенный» (РегистрСведений.СведенияОРежимахРаботыФормыСотрудникаРасширенный)
Данный регистр отвечает за хранение кэша настроек интерфейса для каждого конкретного сотрудника и физического лица в зависимости от его статусов: «Физическое лицо», «Сотрудник», «Сотрудник оформленный». Именно на основании записей этого регистра система понимает, какие опции формы нужно включить для конкретного открываемого объекта.

4. Почему возникает проблема при загрузке данных из Excel?

Проанализируем типичный сценарий: программист или администратор переносит данные сотрудников из старой программы или файлов Excel. При написании обработки загрузки разработчики часто совершают классическую ошибку — они создают элемент справочника ФизическиеЛица, заполняют его реквизиты и записывают объект. Возможно, даже создается элемент справочника Сотрудники.

Однако при программном создании объектов типовые подписки на события могут не сработать в полной мере, либо не выполняются кадровые транзакции, которые должны сделать записи во вспомогательные регистры сведений. В итоге в базе физическое лицо существует, но записи в регистре РолиФизическихЛиц для него отсутствуют. Программа считает его «простым» гражданином, не имеющим отношения к штату сотрудников организации, и скрывает интерфейсные кнопки воинского учета и семьи.

5. Пошаговое руководство по решению проблемы

Рассмотрим несколько вариантов решения проблемы в зависимости от того, на каком этапе вы с ней столкнулись.

Вариант 1. Исправление кода загрузчика при импорте из Excel

Если вы только разрабатываете или корректируете процедуру переноса данных, обязательно добавьте в код вызов типовых процедур заполнения ролей физических лиц. Недостаточно просто записать элемент справочника. Необходимо явно зарегистрировать роль физического лица в системе.

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


// ФизическоеЛицоСсылка - ссылка на созданный элемент справочника ФизическиеЛица
// ОрганизацияСсылка - ссылка на организацию, в которую оформляется сотрудник
// РольФизЛица - значение перечисления Перечисления.РолиФизическихЛиц.Сотрудник

РегистрыСведений.РолиФизическихЛиц.УстановитьРольФизическогоЛица(
    ФизическоеЛицоСсылка, 
    ОрганизацияСсылка, 
    ПредопределенноеЗначение("Перечисление.РолиФизическихЛиц.Сотрудник")
);

Вызов этого метода гарантирует, что система зарегистрирует за физлицом роль сотрудника, и при следующем открытии карточки нужные команды появятся на форме.

Вариант 2. Обновление кэша интерфейса для уже загруженных данных

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

  1. Попробуйте открыть карточку физического лица, внести минимальное изменение (например, поставить пробел в примечании), нажать кнопку «Записать» и закрыть форму. Откройте карточку снова. Зачастую интерактивная перезапись объекта инициирует обновление связанных регистров интерфейса.
  2. Если объектов много, выполните групповое перепроведение кадровых документов. Для этого перейдите в раздел «Кадры» -> «Приемы на работу, переводы, увольнения», выделите документы приема нужных сотрудников и нажмите «Провести». Перепроведение кадровых приказов автоматически обновит записи в регистрах сведений РолиФизическихЛиц и СведенияОРежимахРаботыФормыСотрудникаРасширенный.
  3. Используйте встроенную обработку «Групповое изменение реквизитов» (раздел «Администрирование» -> «Обслуживание» -> «Корректировка данных»). Выберите справочник Сотрудники или Физические лица, отберите нужные элементы и запустите процедуру их перезаписи без изменения реквизитов. Это заставит систему выполнить все сопутствующие обработчики и обновить кэш.

Вариант 3. Проверка глобальных настроек программы

Бывают ситуации, когда команды (особенно это касается воинского учета) отсутствуют вообще у всех физических лиц в базе данных, включая давно работающих сотрудников с корректно оформленными кадровыми документами. В этом случае дело не в загрузке из Excel, а в глобальных настройках системы.

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

  1. Перейдите в раздел главного меню «Настройка».
  2. Выберите пункт «Кадровый учет».
  3. Найдите флаг «Ведется воинский учет» и убедитесь, что он установлен.

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

Резюме

Для того чтобы интерфейс карточки физического лица в 1С:ЗУП 3.1 отображал все необходимые команды («Воинский учет», «Семья», «Образование»), обязательно соблюдайте правила работы с данными:

← На главную