Как связать контрагента и физическое лицо в 1С:Бухгалтерия предприятия 3.0 для хранения паспортных данных?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

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

Разбор проблемы: почему в справочнике Контрагенты нет нужных полей?

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

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

Решение 1: Использование механизма дополнительных реквизитов (без программирования)

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

Рассмотрим по шагам, как настроить связь:

  1. Перейдем в раздел Администрирование — Общие настройки.
  2. Раскроем группу Дополнительные реквизиты и сведения и убедимся, что флаг «Дополнительные реквизиты и сведения» включен.
  3. Перейдем по ссылке Дополнительные реквизиты.
  4. В списке слева найдем справочник Контрагенты.
  5. Нажмем кнопку «Добавить» — «Новый».
  6. В поле «Наименование» укажем, например, «Физлицо (связь)».
  7. Важный момент: в поле «Тип значения» выберем не «Текст», а «Физическое лицо» (ссылка на справочник).

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

Решение 2: Программное расширение конфигурации

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

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


// Пример получения паспортных данных физлица через реквизит контрагента
Если ЗначениеЗаполнено(Объект.ФизЛицо_Связь) Тогда
    ПараметрыДанных = ДанныеФизическихЛиц.ДанныеДокументаУдостоверяющегоЛичность(Объект.ФизЛицо_Связь, ТекущаяДата());
    СерияНомер = ПараметрыДанных.Серия + " " + ПараметрыДанных.Номер;
КонецЕсли;

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

Решение 3: Использование справочника «Контактные лица»

Разберем еще один стандартный вариант. У каждого контрагента есть подчиненный справочник Контактные лица. В некоторых случаях пользователи пытаются хранить паспортные данные там. Но проанализируем ситуацию: в типовой «Бухгалтерии предприятия» справочник Контактные лица также весьма ограничен в полях.

Методически правильнее использовать это решение только в том случае, если вы готовы донастроить «Контактные лица» аналогично первому решению, добавив туда доп. реквизит «Физическое лицо». Но это создает лишнее «звено» в цепочке: Контрагент -> Контактное лицо -> Физическое лицо, что только усложняет работу.

Почему нельзя просто добавить текстовые поля «Паспорт» и «Дата рождения»?

Многие пользователи предлагают просто создать два текстовых дополнительных реквизита. Проанализируем, почему это плохо:

  1. Защита персональных данных: Данные в текстовых полях не попадают под стандартные фильтры защиты ПДн в 1С. Любой пользователь с доступом к контрагентам увидит их, даже если ему запрещен доступ к персональным данным сотрудников.
  2. Дублирование: Если одно и то же физлицо является и сотрудником, и контрагентом, вам придется обновлять паспортные данные в двух местах.
  3. Ошибки ввода: Текстовое поле не гарантирует формат (кто-то напишет серию с пробелом, кто-то без), что сделает невозможным автоматическую идентификацию или выгрузку в отчеты.

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

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

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

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

← На главную