Почему ресурс Должность в регистре Сведения об ответственных лицах стал УдалитьДолжность и как теперь настраивать данные?

Программист 1С v8.3 (Управляемые формы) 1C:Бухгалтерия Бухгалтерский учет
← На главную

При обновлении современных конфигураций 1С (особенно это касается 1С:Бухгалтерия предприятия 3.0) многие пользователи и разработчики сталкиваются с тем, что привычные поля в регистрах сведений меняют свои названия или помечаются как неиспользуемые. Рассмотрим подробнее ситуацию с регистром СведенияОбОтветственныхЛицах и выясним, почему ресурс Должность превратился в УдалитьДолжность, и что с этим делать.

Причина изменений в структуре конфигурации

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

Ранее должность руководителя, главного бухгалтера или кассира хранилась непосредственно в регистре СведенияОбОтветственныхЛицах. Однако такая схема имела ряд ограничений:

  1. Сложность ведения истории изменений, если сотрудник часто меняет должности.
  2. Проблемы при работе по внутреннему совместительству (когда один и тот же человек занимает разные должности в одной организации).
  3. Трудности с унификацией кадровых данных.

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

Новый механизм хранения должностей ответственных лиц

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

Таким образом, если вы видите в пользовательском режиме надпись "(не используется)" рядом с должностью, это означает, что программа больше не берет данные из этого поля. Попытки "включить" его или настроить использование старого ресурса бессмысленны, так как в ближайших релизах этот ресурс будет полностью удален из структуры метаданных.

Как настроить ответственных лиц в новом интерфейсе

Если нам необходимо изменить должность руководителя или назначить новое ответственное лицо, мы не должны пытаться править регистр напрямую. Рассмотрим правильный алгоритм действий в 1С:Бухгалтерия 3.0:

  1. Перейдем в раздел Главное — Организации.
  2. Откроем карточку нужной организации.
  3. Развернем группу Подписи (в некоторых редакциях это может называться "Лица с правом подписи").
  4. Здесь мы выбираем конкретное физическое лицо для ролей "Руководитель", "Главный бухгалтер" или "Кассир".
  5. Важный момент: Чтобы должность отобразилась корректно, у данного физического лица должен быть создан соответствующий элемент в справочнике Сотрудники с указанной должностью и оформленным приемом на работу.

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

Рекомендации для разработчиков: работа с кодом

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

Для получения данных об ответственных лицах следует использовать функции общих модулей. В типовых решениях на базе БП 3.0 для этого предназначен общий модуль ОтветственныеЛицаБП (или аналогичные модули в других конфигурациях). Программа сама выполнит поиск по всей цепочке регистров и вернет актуальные значения.

Пример логики, которую следует использовать вместо прямого запроса к регистру:


// Пример получения структуры ответственных лиц организации на определенную дату
ПараметрыОтветственныхЛиц = ОтветственныеЛицаБП.ОтветственныеЛица(СтруктураОрганизации, ДатаСведений);
// В результате мы получим структуру, где будут поля: Руководитель, РуководительДолжность и т.д.
ДолжностьРуководителя = ПараметрыОтветственныхЛиц.РуководительДолжность;

Если же вы все-таки используете прямой запрос в СКД или коде, вам необходимо соединять таблицу СведенияОбОтветственныхЛицах с таблицей Сотрудники или использовать срезы последних регистра ОсновныеСотрудникиФизическихЛиц.

Что делать, если старые данные не перенеслись?

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

  1. Перейдите в раздел Администрирование — Обслуживание.
  2. Откройте пункт Результаты обновления программы.
  3. Проверьте ссылку Дополнительные процедуры обработки данных.

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

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

← На главную