К статье
Практический материал

Разработка и Конфигурация · 9 мин

Как проверить «она» и «оно» в 1С: определяем род и пол правильно

Как в 1С проверить род слова и пол сотрудника: определение по отчеству, склонение ФИО, проверка в запросе и в коде. Практические способы для 1С:ЗУП и БП.

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

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

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

Где в 1С хранится пол физического лица

В типовых конфигурациях на базе Библиотеки стандартных подсистем (ЗУП, Бухгалтерия, УТ, ERP) пол хранится в справочнике «Физические лица». Откройте карточку человека: Справочники → Физические лица → выберите сотрудника. Реквизит «Пол» принимает значения «Мужской» или «Женский».

Если пол не заполнен, типовые механизмы пытаются определить его по отчеству: окончания «-вич», «-ич» трактуются как мужской род, «-вна», «-чна», «-инична» — как женский. Это встроенная логика, она срабатывает автоматически при вводе отчества в карточке.

Проверить корректность заполнения можно массово через групповое изменение реквизитов или универсальный отчёт по справочнику «Физические лица» с выводом колонки «Пол». Пустые значения — кандидаты на ручную проверку.

Пол заполнен в карточкеДанные корректны

Склонение и формулировки в документах будут выбраны автоматически

Пол пустой, отчество естьОпределится по отчеству

Проверьте, что отчество записано без сокращений и опечаток

Пол пустой, отчества нетРод не определён

Заполните пол вручную, иначе в документах возможны ошибки формулировок

Как проверить пол сотрудника в пользовательском режиме

Самый простой способ — открыть карточку физического лица и посмотреть поле «Пол». В 1С:ЗУП путь такой: Кадры → Сотрудники → открыть сотрудника → ссылка на физическое лицо → реквизит «Пол». Если поле пустое, заполните его вручную и сохраните.

Для пакетной проверки используйте обработку «Групповое изменение реквизитов» (Администрирование → Обслуживание → Корректировка данных). Выберите справочник «Физические лица», отберите элементы с пустым полом и заполните его. Перед массовым изменением сделайте резервную копию или сначала обработайте 2–3 записи и проверьте результат.

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

Порядок действий для проверки пола
  1. 1
    Откройте справочник «Физические лица» и найдите нужного человека
  2. 2
    Проверьте реквизит «Пол» и корректность отчества
  3. 3
    При пустом поле заполните его вручную и запишите карточку
  4. 4
    Сформируйте тестовый кадровый приказ и убедитесь, что формулировки корректны

Как определить род в коде: программная проверка

Разработчику пол физического лица доступен через реквизит справочника. Типовая конструкция выглядит так: получить значение перечисления «ПолФизическогоЛица» и сравнить с «Мужской» или «Женский».

Если ФизЛицо.Пол = Перечисления.ПолФизическогоЛица.Женский Тогда

ТекстДействия = "принята на работу";

Иначе

ТекстДействия = "принят на работу";

КонецЕсли;

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

Для случаев, когда род не определён вообще (ни поле, ни отчество), безопасный приём — использовать нейтральные формулировки: «Сотрудник принят(а)» или перестроить фразу: «На должность принят Иванова А. С.» с корректным склонением фамилии.

bsl
Пол = ФизическоеЛицо.Пол;
Если Не ЗначениеЗаполнено(Пол) Тогда
    Пол = ФизическиеЛицаЗарплатаКадры.ПолПоОтчеству(ФизическоеЛицо.Отчество);
КонецЕсли;

Склонение ФИО и учёт рода в печатных формах

Для склонения ФИО в типовых конфигурациях используется механизм склонения платформы и БСП. В ЗУП — функция «ПросклонятьФИО» (в разных версиях — «ФизическиеЛицаЗарплатаКадры.Просклонять» или методы подсистемы склонения). Ей передаются фамилия, имя, отчество, падеж и пол; на выходе — корректно просклонённая строка.

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

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

Что делать, когда род не определяется: «оно» и нестандартные случаи

Средний род («оно») для физических лиц в 1С не предусмотрен: перечисление «ПолФизическогоЛица» содержит только «Мужской» и «Женский». Если в вашей задаче фигурирует средний род — например, склонение названий организаций, должностей или подразделений («руководство утвердило») — это решается не полем «Пол», а шаблонами текста.

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

Нестандартные ситуации с людьми: иностранные имена без отчества, редкие фамилии, изменение фамилии. Во всех этих случаях правило одно — заполнить пол вручную и не рассчитывать на отчество. Для несклоняемых фамилий механизм БСП обычно справляется сам, но результат стоит проверить на тестовой печатной форме.

Типичные ошибки
01
Оставлять поле «Пол» пустым и ждать корректных формулировок — автоопределение по отчеству срабатывает не всегда
02
Передавать в функцию склонения сокращённое отчество — род определяется неверно, фамилия склоняется по чужому шаблону
03
Править текст прямо в макете печатной формы вместо исправления данных — ошибка вернётся при следующем документе
04
Массово менять реквизиты без резервной копии — откатить некорректное изменение сложно

Проверка результата и контрольные точки

После заполнения данных проверьте результат на реальном документе. Создайте тестовый кадровый приказ или доверенность с участием проверяемого сотрудника и посмотрите печатную форму: формулировки «принят/принята», склонение фамилии в родительном и дательном падежах.

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

Контрольные точки

Как проверить результат

Поле «Пол» в карточке физлица
Норма

Заполнено: «Мужской» или «Женский»

Тревожный признак

Пустое значение

Отчество в карточке
Норма

Полное написание без сокращений

Тревожный признак

Инициалы или опечатки

Печатная форма приказа
Норма

«принята», «ознакомлена», фамилия склоняется верно

Тревожный признак

Мужские формы у сотрудницы, несклонённая фамилия

Параметр пола в отладчике
Норма

Совпадает с фактическим полом

Тревожный признак

Пустая ссылка перечисления

FAQ

Почему в приказе сотрудница названа «принят», а не «принята»?

Почти всегда причина в пустом поле «Пол» в карточке физического лица или в отчестве, записанном инициалами. Заполните пол вручную, перепроведите документ и выведите печатную форму заново.

Можно ли определить пол по имени, а не по отчеству?

Штатного механизма определения по имени в типовых конфигурациях нет — используется отчество или явно заполненное поле. Для имён вроде «Саша» или иностранных вариантов заполняйте пол вручную.

Как просклонять ФИО в своей обработке без ЗУП?

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

Что делать с несклоняемыми фамилиями?

Механизм склонения БСП учитывает большинство правил: женские фамилии на «-ко», «-енко», «-ых» не склоняются автоматически. Если конкретная фамилия обрабатывается неверно, проверьте переданный пол — для мужчины и женщины с одинаковой фамилией правила различаются.

Опасно ли массово заполнять пол через групповую обработку?

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

Как вывести нейтральную формулировку без указания рода?

Перестройте фразу так, чтобы глагол не согласовывался с сотрудником: «Приказ о приёме на работу: Иванова Анна Сергеевна» вместо «принята на работу». Это надёжный вариант для документов, где пол может быть не заполнен.

Итог

Что важно запомнить

Род в 1С определяется полем «Пол» в карточке физического лица или автоматически по полному отчеству. Для корректных формулировок и склонений заполняйте пол вручную, не используйте инициалы в отчестве и проверяйте результат на тестовой печатной форме. Средний род для лиц не поддерживается — используйте нейтральные формулировки.