Разработка и Конфигурация · 9 мин
Как проверить «она» и «оно» в 1С: определяем род и пол правильно
Как в 1С проверить род слова и пол сотрудника: определение по отчеству, склонение ФИО, проверка в запросе и в коде. Практические способы для 1С:ЗУП и БП.
Задача «проверить она и оно» в 1С чаще всего возникает в двух ситуациях. Первая — нужно определить пол сотрудника, чтобы правильно сформировать документ: «принят на работу» или «принята на работу», «уволен» или «уволена». Вторая — разработчику нужно определить грамматический род слова или корректно просклонять фамилию, имя и отчество в печатной форме.
Обе задачи решаются штатными средствами типовых конфигураций, но способ зависит от того, что именно требуется: проверить данные физического лица в справочнике, скорректировать текст в шаблоне документа или написать проверку в собственном коде. Ниже разобраны рабочие варианты для 1С:ЗУП, 1С:Бухгалтерии и самописных конфигураций.
Важно понимать: 1С не «угадывает» пол и род по звучанию фамилии. Платформа использует либо явно заполненное поле «Пол» в карточке физического лица, либо анализ отчества по встроенным правилам. Поэтому первый шаг — всегда проверка исходных данных.
Где в 1С хранится пол физического лица
В типовых конфигурациях на базе Библиотеки стандартных подсистем (ЗУП, Бухгалтерия, УТ, ERP) пол хранится в справочнике «Физические лица». Откройте карточку человека: Справочники → Физические лица → выберите сотрудника. Реквизит «Пол» принимает значения «Мужской» или «Женский».
Если пол не заполнен, типовые механизмы пытаются определить его по отчеству: окончания «-вич», «-ич» трактуются как мужской род, «-вна», «-чна», «-инична» — как женский. Это встроенная логика, она срабатывает автоматически при вводе отчества в карточке.
Проверить корректность заполнения можно массово через групповое изменение реквизитов или универсальный отчёт по справочнику «Физические лица» с выводом колонки «Пол». Пустые значения — кандидаты на ручную проверку.
Склонение и формулировки в документах будут выбраны автоматически
Проверьте, что отчество записано без сокращений и опечаток
Заполните пол вручную, иначе в документах возможны ошибки формулировок
Как проверить пол сотрудника в пользовательском режиме
Самый простой способ — открыть карточку физического лица и посмотреть поле «Пол». В 1С:ЗУП путь такой: Кадры → Сотрудники → открыть сотрудника → ссылка на физическое лицо → реквизит «Пол». Если поле пустое, заполните его вручную и сохраните.
Для пакетной проверки используйте обработку «Групповое изменение реквизитов» (Администрирование → Обслуживание → Корректировка данных). Выберите справочник «Физические лица», отберите элементы с пустым полом и заполните его. Перед массовым изменением сделайте резервную копию или сначала обработайте 2–3 записи и проверьте результат.
Косвенный признак ошибки — неверные формулировки в кадровых приказах: «принят» вместо «принята» у сотрудницы. Если заметили такое в печатной форме, почти наверняка у физического лица не заполнен пол или отчество записано с опечаткой.
- 1Откройте справочник «Физические лица» и найдите нужного человека
- 2Проверьте реквизит «Пол» и корректность отчества
- 3При пустом поле заполните его вручную и запишите карточку
- 4Сформируйте тестовый кадровый приказ и убедитесь, что формулировки корректны
Как определить род в коде: программная проверка
Разработчику пол физического лица доступен через реквизит справочника. Типовая конструкция выглядит так: получить значение перечисления «ПолФизическогоЛица» и сравнить с «Мужской» или «Женский».
Если ФизЛицо.Пол = Перечисления.ПолФизическогоЛица.Женский Тогда
ТекстДействия = "принята на работу";
Иначе
ТекстДействия = "принят на работу";
КонецЕсли;
Если пол не задан, в конфигурациях на БСП можно воспользоваться определением пола по отчеству через функции подсистемы «СклонениеПредставленийОбъектов» или «ФизическиеЛица». В ЗУП есть методы общего модуля «ФизическиеЛицаЗарплатаКадры», которые возвращают пол по отчеству.
Для случаев, когда род не определён вообще (ни поле, ни отчество), безопасный приём — использовать нейтральные формулировки: «Сотрудник принят(а)» или перестроить фразу: «На должность принят Иванова А. С.» с корректным склонением фамилии.
Пол = ФизическоеЛицо.Пол;
Если Не ЗначениеЗаполнено(Пол) Тогда
Пол = ФизическиеЛицаЗарплатаКадры.ПолПоОтчеству(ФизическоеЛицо.Отчество);
КонецЕсли;Склонение ФИО и учёт рода в печатных формах
Для склонения ФИО в типовых конфигурациях используется механизм склонения платформы и БСП. В ЗУП — функция «ПросклонятьФИО» (в разных версиях — «ФизическиеЛицаЗарплатаКадры.Просклонять» или методы подсистемы склонения). Ей передаются фамилия, имя, отчество, падеж и пол; на выходе — корректно просклонённая строка.
Функция сама подбирает правила под мужской или женский род: фамилии типа «Иванова» склоняются, «Иванов» — по мужскому шаблону, а несклоняемые фамилии (например, украинские на «-ко», «-енко» у женщин) остаются без изменений. Именно поэтому важно передавать в функцию фактический пол, а не полагаться на автоопределение.
Если в печатной форме фамилия склоняется неверно, проверьте три вещи: заполнен ли пол у физического лица, не передан ли в функцию пустой параметр пола, нет ли в ФИО лишних пробелов или сокращений («Иванов И. О.» вместо полного отчества мешает определению пола по отчеству).
Что делать, когда род не определяется: «оно» и нестандартные случаи
Средний род («оно») для физических лиц в 1С не предусмотрен: перечисление «ПолФизическогоЛица» содержит только «Мужской» и «Женский». Если в вашей задаче фигурирует средний род — например, склонение названий организаций, должностей или подразделений («руководство утвердило») — это решается не полем «Пол», а шаблонами текста.
Для должностей и подразделений корректный подход — хранить готовые формулировки в дополнительных реквизитах или использовать нейтральные конструкции: «отдел продаж уведомлён», «руководство ознакомлено». Автоматического определения рода произвольных существительных в платформе нет.
Нестандартные ситуации с людьми: иностранные имена без отчества, редкие фамилии, изменение фамилии. Во всех этих случаях правило одно — заполнить пол вручную и не рассчитывать на отчество. Для несклоняемых фамилий механизм БСП обычно справляется сам, но результат стоит проверить на тестовой печатной форме.
Проверка результата и контрольные точки
После заполнения данных проверьте результат на реальном документе. Создайте тестовый кадровый приказ или доверенность с участием проверяемого сотрудника и посмотрите печатную форму: формулировки «принят/принята», склонение фамилии в родительном и дательном падежах.
Для разработчика контрольная точка — отладчик: остановитесь на строке вызова функции склонения и посмотрите, какой пол фактически передаётся в параметрах. Расхождение между ожидаемым и фактическим значением почти всегда означает пустой реквизит в данных.
Как проверить результат
Заполнено: «Мужской» или «Женский»
Пустое значение
Полное написание без сокращений
Инициалы или опечатки
«принята», «ознакомлена», фамилия склоняется верно
Мужские формы у сотрудницы, несклонённая фамилия
Совпадает с фактическим полом
Пустая ссылка перечисления
FAQ
Почему в приказе сотрудница названа «принят», а не «принята»?
Почти всегда причина в пустом поле «Пол» в карточке физического лица или в отчестве, записанном инициалами. Заполните пол вручную, перепроведите документ и выведите печатную форму заново.
Можно ли определить пол по имени, а не по отчеству?
Штатного механизма определения по имени в типовых конфигурациях нет — используется отчество или явно заполненное поле. Для имён вроде «Саша» или иностранных вариантов заполняйте пол вручную.
Как просклонять ФИО в своей обработке без ЗУП?
Если конфигурация на БСП, используйте подсистему склонения (общий модуль «СклонениеПредставленийОбъектов» и функции работы с ФИО). В самописной конфигурации без БСП придётся либо подключить внешнюю компоненту склонения, либо хранить готовые падежные формы в данных.
Что делать с несклоняемыми фамилиями?
Механизм склонения БСП учитывает большинство правил: женские фамилии на «-ко», «-енко», «-ых» не склоняются автоматически. Если конкретная фамилия обрабатывается неверно, проверьте переданный пол — для мужчины и женщины с одинаковой фамилией правила различаются.
Опасно ли массово заполнять пол через групповую обработку?
Сама операция безопасна, но необратима без копии. Перед запуском сделайте резервную копию базы, сначала обработайте несколько записей и проверьте результат на печатной форме, затем запускайте полную обработку.
Как вывести нейтральную формулировку без указания рода?
Перестройте фразу так, чтобы глагол не согласовывался с сотрудником: «Приказ о приёме на работу: Иванова Анна Сергеевна» вместо «принята на работу». Это надёжный вариант для документов, где пол может быть не заполнен.
Что важно запомнить
Род в 1С определяется полем «Пол» в карточке физического лица или автоматически по полному отчеству. Для корректных формулировок и склонений заполняйте пол вручную, не используйте инициалы в отчестве и проверяйте результат на тестовой печатной форме. Средний род для лиц не поддерживается — используйте нейтральные формулировки.