При обновлении современных конфигураций 1С (особенно это касается 1С:Бухгалтерия предприятия 3.0) многие пользователи и разработчики сталкиваются с тем, что привычные поля в регистрах сведений меняют свои названия или помечаются как неиспользуемые. Рассмотрим подробнее ситуацию с регистром СведенияОбОтветственныхЛицах и выясним, почему ресурс Должность превратился в УдалитьДолжность, и что с этим делать.
Проанализируем ситуацию: появление префикса "Удалить" перед названием реквизита или ресурса — это стандартная практика фирмы "1С" при проведении рефакторинга кода и изменении архитектуры базы данных. Это своего рода подготовительный этап. Вместо того чтобы сразу удалить данные и сломать работу существующих механизмов (например, внешних печатных форм), разработчики системы переименовывают старое поле и создают новые структуры для хранения этих же данных.
Ранее должность руководителя, главного бухгалтера или кассира хранилась непосредственно в регистре СведенияОбОтветственныхЛицах. Однако такая схема имела ряд ограничений:
Теперь компания "1С" перешла на более гибкую модель, где должность "подтягивается" из кадрового учета сотрудника, а не прописывается вручную в карточке ответственных лиц.
Разберем по шагам, как теперь система определяет, какую должность вывести в печатную форму документа. Вместо прямого обращения к ресурсу Должность регистра СведенияОбОтветственныхЛицах, программа использует следующую цепочку связей:
СведенияОбОтветственныхЛицах теперь указывается ссылка на Физическое лицо.ОсновныеСотрудникиФизическихЛиц, чтобы найти актуального сотрудника для этого физлица в конкретной организации.Таким образом, если вы видите в пользовательском режиме надпись "(не используется)" рядом с должностью, это означает, что программа больше не берет данные из этого поля. Попытки "включить" его или настроить использование старого ресурса бессмысленны, так как в ближайших релизах этот ресурс будет полностью удален из структуры метаданных.
Если нам необходимо изменить должность руководителя или назначить новое ответственное лицо, мы не должны пытаться править регистр напрямую. Рассмотрим правильный алгоритм действий в 1С:Бухгалтерия 3.0:
Сотрудники с указанной должностью и оформленным приемом на работу.Если в программе ведется упрощенный кадровый учет, данные могут редактироваться непосредственно в истории подписей, но логика программы все равно будет стремиться связать подпись с кадровыми данными.
Если вы разрабатываете внешнюю печатную форму или отчет и вам нужно получить сведения об ответственных лицах, не используйте прямые запросы к ресурсу Должность. Проанализируем, как правильно обращаться к этим данным программно.
Для получения данных об ответственных лицах следует использовать функции общих модулей. В типовых решениях на базе БП 3.0 для этого предназначен общий модуль ОтветственныеЛицаБП (или аналогичные модули в других конфигурациях). Программа сама выполнит поиск по всей цепочке регистров и вернет актуальные значения.
Пример логики, которую следует использовать вместо прямого запроса к регистру:
// Пример получения структуры ответственных лиц организации на определенную дату
ПараметрыОтветственныхЛиц = ОтветственныеЛицаБП.ОтветственныеЛица(СтруктураОрганизации, ДатаСведений);
// В результате мы получим структуру, где будут поля: Руководитель, РуководительДолжность и т.д.
ДолжностьРуководителя = ПараметрыОтветственныхЛиц.РуководительДолжность;
Если же вы все-таки используете прямой запрос в СКД или коде, вам необходимо соединять таблицу СведенияОбОтветственныхЛицах с таблицей Сотрудники или использовать срезы последних регистра ОсновныеСотрудникиФизическихЛиц.
Иногда после обновления можно заметить, что поле УдалитьДолжность заполнено, а в печатных формах пусто. Это может означать, что фоновые процедуры обновления данных еще не завершены. Выясним, как проверить состояние данных:
Если в списке есть незавершенные задачи, связанные с кадровыми данными или ответственными лицами, необходимо дождаться их завершения или запустить их принудительно. Именно эти процедуры переносят значения из старого ресурса УдалитьДолжность в новые структуры данных сотрудников.
Подведем итог: изменения в регистре СведенияОбОтветственныхЛицах являются плановыми. Для корректной работы системы необходимо следить за актуальностью кадровых данных в справочнике Сотрудники, так как именно они теперь являются первоисточником информации о должностях для всех печатных форм и отчетов.