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

Другое · 9 мин

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

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

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

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

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

Где в 1С хранится должность сотрудника

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

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

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

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

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

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

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

Порядок действий в интерфейсе
  1. 1
    Откройте «Кадры» → «Сотрудники» и найдите сотрудника по фамилии.
  2. 2
    Откройте карточку и посмотрите текущую должность в шапке или на закладке места работы.
  3. 3
    Для истории откройте список кадровых документов сотрудника.
  4. 4
    Убедитесь, что последний документ проведён и датирован корректно.

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

Для просмотра должностей сразу по группе сотрудников используйте типовые отчёты. В ЗУП основной инструмент — отчёт «Штатная расстановка» (раздел «Кадры» → «Кадровые отчёты»): он показывает, кто на какой позиции работает, включая совместителей и вакансии.

Также подойдут отчёты «Сотрудники организаций», «Остатки отпусков» с добавлением поля должности и универсальный отчёт по регистру кадровой истории. В любом отчёте на СКД через кнопку «Настройки» можно добавить поле «Должность», если его нет в стандартном варианте.

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

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

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

Типовой подход — срез последних на дату: берём последнюю запись регистра, где период меньше или равен нужной дате, и читаем поле «Должность». Если ведётся штатное расписание, дополнительно читают «ПозицияШтатногоРасписания».

Запрос = Новый Запрос;

Запрос.Текст =

"ВЫБРАТЬ

| История.Должность КАК Должность

|ИЗ

| РегистрСведений.КадроваяИсторияСотрудников.СрезПоследних(&Дата, Сотрудник = &Сотрудник) КАК История";

Запрос.УстановитьПараметр("Дата", ДатаСреза);

Запрос.УстановитьПараметр("Сотрудник", СотрудникСсылка);

Выборка = Запрос.Выполнить().Выбрать();

Если Выборка.Следующий() Тогда

ДолжностьСотрудника = Выборка.Должность;

КонецЕсли;

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

bsl
КадровыеДанные = КадровыйУчет.КадровыеДанныеСотрудников(Истина, Сотрудники, "Должность", ДатаСреза);

Особые случаи: совместительство, переводы, уволенные

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

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

При переводе внутри периода отчёта помните: должность на начало и на конец месяца может различаться. В расчётных задачах (например, для надбавок за должность) берите данные с разбивкой по периодам, а не один срез.

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

Проверка результата и границы самостоятельной работы

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

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

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

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

Должность в карточке сотрудника
Норма

Совпадает с последним проведённым кадровым документом

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

Показывает прежнюю должность при наличии нового перевода

Результат запроса на дату
Норма

Одна строка с должностью, актуальной на эту дату

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

Несколько строк или пустой результат у работающего сотрудника

Данные по совместителю
Норма

Отдельная строка со своей должностью

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

Подтягивается должность с основного места работы

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

Почему в карточке сотрудника старая должность, хотя перевод оформлен?

Чаще всего документ перевода не проведён или проведён более поздней датой, чем вы ожидаете. Откройте список кадровых документов сотрудника и проверьте состояние проведения и дату последнего перевода.

Как получить должность физического лица, а не сотрудника?

Напрямую — никак, потому что должность привязана к сотруднику (месту работы). Сначала определите нужного сотрудника физлица, например по основному месту работы, и уже для него запрашивайте должность.

Можно ли вывести должность в списке сотрудников без отчёта?

Да. В форме списка справочника «Сотрудники» откройте «Ещё» → «Изменить форму» и добавьте поле должности в таблицу, если оно доступно в реквизитах. В ряде версий проще сохранить нужный вариант отчёта и открывать его одним кликом.

Как узнать, кем сотрудник работал на прошлую дату?

Используйте отчёт по кадровой истории с установленной датой или запрос со срезом последних регистра «Кадровая история сотрудников» на нужную дату. Карточка сотрудника по умолчанию показывает только текущее состояние.

Чем должность отличается от позиции штатного расписания?

Должность — это просто наименование из справочника (например, «Бухгалтер»). Позиция — связка должности с подразделением и условиями оплаты. Для кадровых приказов достаточно должности, для расчётов и штатной расстановки нужна позиция.

Почему запрос не возвращает должность для нового сотрудника?

Проверьте, что документ приёма на работу проведён и его дата не позже даты среза. Если срез делается на дату раньше приёма, записи в регистре ещё не существует — это нормальное поведение, а не ошибка запроса.

Итог

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

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