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