При работе в системе 1С:Бухгалтерия пользователи могут столкнуться с ситуацией, когда один или несколько сотрудников не отображаются в списках, хотя другие сотрудники из того же подразделения и с такой же должностью видны. Более того, при попытке выполнить операции с таким сотрудником (например, в документах начислений) может возникать ошибка «Объект не найден». При этом, если пользователю предоставить полные права, проблема исчезает, что явно указывает на проблему с правами доступа. Давайте рассмотрим, почему это происходит и как можно решить эту проблему.
Первое, с чего мы начнем — это проверка общих настроек RLS в конфигурации. Именно RLS чаще всего становится причиной таких проблем, так как он предназначен для ограничения доступа пользователей к данным, в том числе к данным о сотрудниках, в зависимости от различных критериев (организация, подразделение, группа доступа и т.д.).
Убедимся, что RLS включен. Для этого перейдем в раздел Администрирование, затем выберем Настройка прав и пользователей и найдем пункт Ограничить доступ на уровне записей. Если этот флажок установлен, значит, RLS активен и мы должны продолжить диагностику его настроек.
Проверим профили групп доступа и сами группы доступа. RLS работает на основе профилей групп доступа, которые объединяют в себе роли. Эти роли, в свою очередь, определяют, какие объекты и какие действия с ними разрешены пользователю. Убедимся, что пользователь, у которого возникла проблема, входит в корректную группу доступа и что профиль этой группы доступа содержит необходимые роли для просмотра сотрудников и связанных с ними документов (например, документов приема на работу).
Даже если RLS включен и пользователь вроде бы имеет нужные роли, конкретные ограничения могут быть настроены таким образом, что доступ к определенным записям (в нашем случае — к данным конкретного сотрудника) будет заблокирован.
Ограничения по организации и подразделению. В многофирменном учете в 1С:Бухгалтерии RLS часто используется для ограничения видимости документов и сотрудников по выбранным организациям или подразделениям. Проанализируем, не относится ли «невидимый» сотрудник к организации или подразделению, на которое у данного пользователя нет прав доступа. Проверим, какие ограничения установлены в профиле группы доступа пользователя по этим измерениям. Например, если в ограничениях указан список организаций, а сотрудник прикреплен к организации, не входящей в этот список, он не будет виден.
Для этого нам нужно перейти в Администрирование -> Настройка прав и пользователей -> Группы доступа. Выберем группу, к которой относится проблемный пользователь, и в ней проверим Профили групп доступа и их настройки ограничений. В частности, обратим внимание на Виды объектов доступа (например, Организации, Подразделения) и установленные для них значения.
Ограничения на уровне физических лиц. В некоторых конфигурациях, помимо ограничения по сотрудникам (как элементу справочника Сотрудники), может существовать ограничение доступа к самим физическим лицам (элементам справочника ФизическиеЛица). Несмотря на то что в BAS Бухгалтерии прямое ограничение по группам физлиц встречается реже, чем в ЗУП, стоит убедиться, что для проблемного сотрудника физическое лицо не попало под какое-либо специфическое ограничение. Проверим, нет ли для этого физлица уникальных настроек, отличающих его от других.
Поиск конкретных ограничений. Задача часто сводится к тому, чтобы найти, на какой именно объект или поле срабатывает RLS. В 1С есть механизм, который позволяет анализировать правила RLS. Мы можем попробовать запустить конфигурацию в режиме отладки и посмотреть, какие запросы к базе данных выполняются при открытии списка сотрудников. Это может помочь выявить, какие условия добавляются в запрос из-за RLS.
Для этого в профиле группы доступа следует обратить внимание на вкладку Ограничения доступа, где указываются правила ограничения на объекты. Если используется типовой профиль, то, возможно, он был модифицирован, или же у конкретного пользователя есть дополнительные индивидуальные ограничения.
Ошибка «Объект не найден» и невидимость сотрудника могут быть связаны не только с RLS, но и с некорректными данными или даже «битыми» ссылками в регистрах, которые хранят информацию о сотрудниках.
Регистр сведений «Основные сотрудники физических лиц». Это один из ключевых регистров, который связывает физическое лицо с его основной должностью и организацией. Если в этом регистре имеются некорректные записи (например, дублирование записей для одного физического лица в рамках одной организации, пересекающиеся периоды действия или неправильное сопоставление физического лица и сотрудника), это может привести к тому, что сотрудник не будет отображаться в списках. Проверим записи для проблемного сотрудника в этом регистре, сравнив их с записями для «видимых» сотрудников.
Мы можем использовать стандартные отчеты или универсальные обработки для просмотра содержимого этого регистра и анализа данных. Обратим внимание на поля ФизическоеЛицо, Организация, Период и Сотрудник.
Регистр сведений «ДанныеДляПодбора». В исходном сообщении указано, что сотрудник присутствует в этом регистре. Это хороший знак, так как он подтверждает, что базовая информация о сотруднике существует. Однако, важно убедиться, что все необходимые поля в этом регистре заполнены корректно и соответствуют текущим настройкам (например, актуальность филиала, подразделения, должности). Некорректные или устаревшие данные здесь также могут влиять на видимость.
«Битые» ссылки. Ошибка «Объект не найден» часто указывает на то, что ссылка на объект (сотрудника или документ приема) потеряла свою целостность. Это может произойти, если объект был удален из базы данных нештатным образом, например, с помощью прямого удаления без проверки ссылочной целостсти (с использованием комбинации клавиш SHIFT + DELETE). В таком случае, ссылки на этот объект остаются в других местах, но сам объект уже отсутствует. Проверим возможность удаления или повреждения данных.
Помимо RLS и целостности данных, проблема может крыться в поведении документов или особенностях работы пользовательского кэша.
Документ «Прием на работу». Это основополагающий документ для создания записи о сотруднике. Если документ «Прием на работу» не был проведен или был проведен с ошибками, данные о сотруднике могли не попасть в необходимые регистры. Убедимся, что документ «Прием на работу» для проблемного сотрудника существует, проведен и не имеет никаких ошибок при проведении. Иногда простое перепроведение документа может решить проблему, если произошел сбой в момент первоначального сохранения.
Особое внимание уделим полям документа: ФизическоеЛицо, Организация, Подразделение, Должность. Проверим, все ли поля заполнены корректно и соответствуют реальным данным.
Кэш 1С. Поврежденный или устаревший кэш на стороне клиентского приложения 1С может приводить к некорректному отображению данных. Попробуем очистить кэш 1С для пользователя, у которого возникла проблема. Это можно сделать, удалив каталог кэша из профиля пользователя или запустив 1С с параметром очистки кэша.
Персональные настройки пользователя. Индивидуальные настройки списков у пользователя (например, фильтры, отборы, порядок колонок) могут быть некорректно сохранены и влиять на отображение данных. Попробуем сбросить персональные настройки списка для пользователя, чтобы убедиться, что проблема не в них.
Различные виды занятости. Если одно и то же физическое лицо оформлено в базе данных как основной сотрудник и как совместитель, а в документах «Прием на работу» для разных видов занятости везде указано «Основное место работы», это может привести к ошибкам в отображении сотрудника в списках. Убедимся, что вид занятости в документе «Прием на работу» соответствует реальной ситуации (например, Основное место работы, Внутреннее совместительство, Внешнее совместительство).
Если вышеперечисленные шаги не помогли, нам потребуются более глубокие инструменты диагностики.
Использование отчетов по правам доступа. В 1С существуют стандартные отчеты, которые позволяют детально проанализировать права конкретного пользователя на различные объекты системы. Мы можем использовать их, чтобы точно определить, какие ограничения действуют для проблемного пользователя в отношении справочника Сотрудники, справочника ФизическиеЛица и связанных документов.
Перейдем в Администрирование -> Настройка прав и пользователей и найдем пункт Отчеты по правам доступа. Здесь мы сможем сформировать отчеты, которые покажут, какие объекты доступны пользователю, и какие права (чтение, изменение, удаление) у него есть.
Тестирование и исправление информационной базы. Регулярное выполнение тестирования и исправления базы данных (ТИИ) через режим «Конфигуратор» может выявить и устранить внутренние ошибки, включая «битые» ссылки, логические нарушения целостности данных и другие проблемы, которые могут быть неочевидны. Запустим ТИИ с флажками «Проверять логическую целостность», «Пересчитывать итоги» и «Исправлять ссылки». ВАЖНО: Перед запуском ТИИ обязательно создадим резервную копию информационной базы.
Проверка журнала регистрации. В журнале регистрации 1С содержится подробная информация о всех событиях, действиях пользователей и системных ошибках. Мы можем отфильтровать журнал по проблемному пользователю или по событиям, связанным с доступом к данным, чтобы найти записи об ошибках или ограничениях, которые могли бы пролить свет на причину проблемы.
Регламентные задания. Убедимся, что регламентные задания, отвечающие за заполнение данных для ограничения доступа и создание ключей доступа, выполняются корректно и регулярно. В некоторых случаях, после добавления нового сотрудника или изменения прав, эти задания должны обновить служебные регистры RLS, чтобы изменения вступили в силу. Если регламентные задания отключены или работают с ошибками, это может быть причиной того, что новый сотрудник не попадает в списки доступных объектов для пользователя.
Перейдем в Администрирование -> Обслуживание -> Регламентные операции -> Регламентные задания и проверим статус и расписание соответствующих заданий.
Проблема невидимости сотрудника и ошибки «Объект не найден» в 1С:Бухгалтерии является достаточно комплексной и может быть вызвана множеством факторов, от некорректных настроек RLS до повреждения данных в регистрах. Начнем диагностику с проверки базовых настроек RLS, постепенно углубляясь в детали ограничений по объектам, затем перейдем к анализу целостности данных и корректности документов. В случае необходимости, используем дополнительные инструменты диагностики, такие как отчеты по правам доступа и журнал регистрации. Последовательный подход поможет нам локализовать и устранить причину этой проблемы.