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

Справочники и Данные · 8 мин

Как получить код сотрудника в 1С

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

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

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

Что такое код сотрудника и чем он отличается от табельного номера

В справочнике «Сотрудники» у каждой записи есть стандартный реквизит «Код». В большинстве типовых конфигураций он формируется автоматически при создании сотрудника и имеет числовой или строковый формат с лидирующими нулями, например «000000042». Длина кода задаётся в конфигураторе и обычно составляет 9–11 символов.

Табельный номер — отдельный реквизит, который используется в кадровом учёте и отображается в приказах, табелях и расчётных листках. В 1С:ЗУП табельный номер часто совпадает с кодом справочника, но это не гарантировано: при переносе данных из другой программы или ручном редактировании значения могут разойтись. Поэтому для интеграций ориентируйтесь именно на код справочника, а не на табельный номер.

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

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

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

Порядок действий в пользовательском режиме
  1. 1
    Откройте справочник «Сотрудники» в нужном разделе меню
  2. 2
    Если колонки «Код» нет — нажмите «Ещё → Изменить форму» и включите её
  3. 3
    Найдите сотрудника поиском по фамилии и считайте значение из колонки «Код»
  4. 4
    Для одного сотрудника можно открыть карточку — код часто указан в заголовке формы

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

Обратная задача — найти человека по коду — решается стандартным поиском. В списке сотрудников нажмите сочетание Ctrl+F или кнопку поиска, выберите поиск по полю «Код» и введите значение. Учтите, что строковый код ищется с учётом лидирующих нулей: «42» и «000000042» — разные строки для поиска по точному совпадению.

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

Как получить код программно

Разработчику код доступен через свойство «Код» объекта справочника. Типовой приём — получить ссылку на сотрудника и прочитать код напрямую или через запрос, если нужны значения для множества записей сразу.

bsl
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Сотрудники.Код КАК Код,
| Сотрудники.Наименование КАК ФИО
|ИЗ
| Справочник.Сотрудники КАК Сотрудники
|ГДЕ
| НЕ Сотрудники.ПометкаУдаления";
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
 Сообщить(Выборка.Код + " — " + Выборка.ФИО);
КонецЦикла;

Если ссылка на сотрудника уже есть (например, из реквизита документа), код читается одной строкой: КодСотрудника = СсылкаНаСотрудника.Код;. Для поиска по известному коду используется метод НайтиПоКоду: Сотрудник = Справочники.Сотрудники.НайтиПоКоду(\"000000042\");. Если метод вернул пустую ссылку — записи с таким кодом нет или она помечена на удаление (в зависимости от параметров поиска).

Особенности в разных конфигурациях

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

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

Где искать код в типовых конфигурациях

1С:ЗУП

Раздел «Кадры → Сотрудники». Код обычно совпадает с табельным номером, виден в списке и карточке

1С:Бухгалтерия

«Справочники → Сотрудники». Код технический, колонку часто нужно включать вручную

1С:ERP / КА

«НСИ и администрирование» или раздел кадров. Логика как в ЗУП, возможны префиксы базы в коде

Частые ошибки и ограничения

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

Вторая ошибка — ручное изменение кода в карточке сотрудника. Если на этот код уже ссылаются внешние системы (СКУД, учёт рабочего времени, выгрузки в банк), изменение разорвёт связь. Перед правкой убедитесь, что код не используется в обменах, и согласуйте изменение с администратором интеграции.

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

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

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

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

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

Код в списке и в карточке
Норма

Значения совпадают, карточка открывается по коду

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

Код в списке один, в карточке другой — возможно, включён режим иерархии или дубли

Поиск по коду
Норма

НайтиПоКоду возвращает ссылку на нужного сотрудника

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

Возвращается пустая ссылка — проверьте формат строки и пометку удаления

Использование в обмене
Норма

Внешняя система находит сотрудника по переданному коду

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

Система не находит запись — сверяйте GUID, а не только код

Итог

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

Код сотрудника виден в списке справочника «Сотрудники» или в карточке; скрытую колонку включают через «Изменить форму». Программно код читается через свойство «Код» или запрос, поиск выполняется методом НайтиПоКоду с учётом лидирующих нулей. Для интеграций надёжнее использовать GUID ссылки, а не код.

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

Код сотрудника и табельный номер — это одно и то же?

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

Почему поиск по коду не находит сотрудника?

Чаще всего дело в лидирующих нулях: строковый код «000000042» не равен строке «42». Также проверьте отборы в списке и пометку удаления записи — помеченный сотрудник может не попадать в выборку.

Можно ли изменить код сотрудника вручную?

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

Как узнать код сразу для всех сотрудников?

Выведите список справочника с включённой колонкой «Код» и сохраните его в табличный документ через «Ещё → Вывести список». Либо выполните запрос к справочнику в консоли запросов, если у вас есть права разработчика.

Что делать, если в базе два сотрудника с одинаковым кодом?

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