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

Документы и Печать · 10 мин

Как вывести инициалы в 1С: инструкция для пользователей и разработчиков

Как вывести инициалы в 1С: настройка отображения ФИО сокращённо в печатных формах, отчётах и подписях. Способы для пользователя и разработчика.

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

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

Ниже разобраны оба подхода: от простой проверки данных сотрудника до программного преобразования ФИО в инициалы на встроенном языке 1С.

Откуда 1С берёт ФИО и инициалы

В типовых конфигурациях (1С:Бухгалтерия, 1С:Зарплата и управление персоналом, 1С:Управление торговлей) данные о ФИО хранятся в справочнике «Физические лица». Карточка сотрудника, контрагента или ответственного лица ссылается на запись этого справочника, а печатные формы берут ФИО именно оттуда.

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

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

Проверка и исправление ФИО в карточке физического лица

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

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

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

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

Как настроить формат ФИО в типовой конфигурации

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

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

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

Вывод инициалов в печатной форме через макет

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

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

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

Программное формирование инициалов на встроенном языке

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

bsl
Функция ФИОСИнициалами(ФИО) Экспорт
	Части = СтрРазделить(СокрЛП(ФИО), " ", Ложь);
	Если Части.Количество() = 0 Тогда Возврат ""; КонецЕсли;
	Результат = Части[0];
	Для Инд = 1 По Части.Количество() - 1 Цикл
		Результат = Результат + " " + Лев(Части[Инд], 1) + ".";
	КонецЦикла;
	Возврат Результат;
КонецФункции

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

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

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

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

После настройки или изменения кода результат проверяют на реальном документе: формируют печатную форму и смотрят область подписи. Проверять стоит минимум на трёх случаях: сотрудник с полным ФИО, сотрудник без отчества и сотрудник с двойной фамилией.

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

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

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

Подпись в печатной форме сотрудника с полным ФИО
Норма

Формат «Фамилия И.О.», точки после обеих букв

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

Полное ФИО, лишние пробелы или двойные точки

Подпись сотрудника без отчества
Норма

Формат «Фамилия И.» без лишних символов

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

Прочерк, точка без буквы или пустая подпись

Сотрудник с двойной фамилией через дефис
Норма

Фамилия сохранена целиком, инициалы корректны

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

Вторая часть фамилии превратилась в инициал

Когда без разработчика не обойтись

Пользовательская настройка закрывает большинство задач, если конфигурация типовая и достаточно штатного формата подписи. Но есть ситуации, где требуется доработка: нестандартный формат («И.И. Иванов» — инициалы перед фамилией), разные форматы для разных видов документов, вывод инициалов в произвольных отчётах и на формах.

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

Итог

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

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

Частые вопросы

Почему в печатной форме вместо инициалов выводится полное ФИО?

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

Как вывести инициалы перед фамилией, а не после?

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

Что делать, если у сотрудника двойная фамилия через пробел?

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

Можно ли хранить инициалы отдельным полем?

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

Почему после обновления конфигурации формат инициалов сбросился?

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

Как вывести инициалы в отчёте на СКД?

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