Ситуация, когда пользователь видит загадочную надпись «Объект не найден» (за которой следует длинный набор символов — GUID) вместо фамилии сотрудника, часто вызывает недоумение. Особенно странным кажется то, что в общих отчетах по зарплате цифры по этому сотруднику могут суммироваться, но детальная информация или выбор его в списке остаются недоступными. Разберем детально, почему это происходит в системах на базе 1С (таких как BAS Бухгалтерия КОРП, ЗУП или ERP) и как восстановить корректное отображение данных.
Прежде всего, нам необходимо выяснить природу возникновения надписи Объект не найден. Рассмотрим две принципиально разные причины:
Проанализируем ситуацию: если под учетной записью с полными правами сотрудник виден корректно, значит, мы имеем дело с Record Level Security (RLS) — механизмом управления доступом на уровне отдельных записей. Платформа видит, что в поле документа записан идентификатор (GUID), но при попытке получить текстовое представление (ФИО сотрудника) срабатывает фильтр безопасности, который возвращает заглушку вместо данных.
В продвинутых конфигурациях, таких как BAS Бухгалтерия КОРП, механизмы прав доступа значительно сложнее, чем в базовых версиях. Рассмотрим, по каким измерениям может быть ограничен доступ к сотруднику:
Сотрудники.Выясним причину странного поведения системы: в отчете «Расчетный листок» сотрудника нет, а в общем «Своде» суммы сходятся. Это происходит из-за особенностей работы Системы Компоновки Данных (СКД) и использования ключевого слова РАЗРЕШЕННЫЕ в запросах.
Рассмотрим пример запроса, который может выполняться в отчете:
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Зарплата.Сотрудник КАК Сотрудник,
Зарплата.СуммаНачисления КАК Сумма
ИЗ
РегистрРасчета.Зарплата КАК Зарплата
Если на Регистр Расчета у пользователя есть полные права, а на справочник Сотрудники наложен RLS, то произойдет следующее:
Проанализируем ситуацию последовательно, чтобы найти «узкое место» в настройках:
Шаг 1. Проверка справочника физических лиц
Перейдем в карточку физического лица, соответствующего проблемному сотруднику. Проверим поле Группа доступа. Если оно заполнено, убедимся, что у проблемного пользователя в его профиле групп доступа (раздел Администрирование — Настройки пользователей и прав) добавлена эта группа в список разрешенных.
Шаг 2. Проверка иерархии подразделений
Выясним, в каком подразделении числится сотрудник на дату формирования документа. Если используется ограничение по подразделениям, проверьте, не находится ли это подразделение вне иерархии тех, что разрешены пользователю. Помните, что доступ может даваться «с учетом подчиненных», а может — только на конкретный элемент.
Шаг 3. Использование консоли запросов
Для программиста или администратора самый быстрый способ подтвердить теорию RLS — выполнить простой запрос в консоли под учетной записью пользователя (или через запуск сеанса под ним):
ВЫБРАТЬ РАЗРЕШЕННЫЕ
Сотрудники.Ссылка,
Сотрудники.Наименование
ИЗ
Справочник.Сотрудники КАК Сотрудники
ГДЕ
Сотрудники.Наименование ПОДОБНО "%ФамилияСотрудника%"
Если запрос возвращает пустой результат, а под полными правами запись видна — ограничение прав подтверждено на 100%.
Шаг 4. Обновление дескрипторов доступа
В современных версиях 1С используется механизм управления доступом через дескрипторы. Иногда система не успевает обновить права при быстром изменении кадровых данных. Проверим, выполняются ли регламентные задания:
Обновление дескрипторов доступаЗаполнение данных для ограничения доступаПопробуйте запустить их принудительно из раздела «Обслуживание» — «Регламентные операции».
В редких случаях, если права настроены верно и под другим пользователем с аналогичным профилем все отображается корректно, причиной может стать локальный кэш. Платформа кэширует представления объектов для ускорения работы. Если ранее у пользователя не было прав, а затем их дали, старое представление Объект не найден может «застрять» в памяти.
Для решения рекомендуем выполнить очистку кэша: либо через удаление базы из списка и повторное добавление, либо путем удаления папок в директории %AppData%\1C\1Cv8\.
Проблема «Объект не найден» в 1С при наличии данных в базе — это классический признак работы механизма RLS. Для исправления ситуации необходимо проверить настройки профилей групп доступа, обращая особое внимание на разрешенные подразделения и группы доступа физических лиц. Использование СКД в отчетах часто маскирует эту проблему, показывая общие суммы, что не должно вводить вас в заблуждение при диагностике.