В современных конфигурациях на платформе 1С:Предприятие 8.3, таких как 1С:ERP, 1С:Комплексная автоматизация (КА) и 1С:Управление торговлей (УТ 11), пользователи часто сталкиваются с ситуацией, когда контрагент физически существует в базе, но не отображается в списке. При попытке создать его заново программа выдает предупреждение, что объект с таким ИНН уже есть, однако поиск в справочнике не дает результатов. Ситуация осложняется тем, что в документах этот контрагент может выбираться корректно, а под другими учетными записями вместо наименования может отображаться сообщение «Объект не найден».
В данной статье мы подробно разберем, почему так происходит, проанализируем архитектурные особенности системы и предложим пошаговый алгоритм решения проблемы.
Самая распространенная причина «невидимости» заключается в двухуровневой архитектуре ведения нормативно-справочной информации. В 1С:ERP разделены управленческий учет (справочник Партнеры) и регламентированный учет (справочник Контрагенты).
Рассмотрим ситуацию: если в настройках программы включена опция «Независимо вести партнеров и контрагентов», то при открытии справочника «Контрагенты» система часто применяет скрытый фильтр по партнеру. Если в результате некорректного импорта, сбоя обмена данными или ручного удаления партнер был удален, а контрагент остался — последний становится «сиротой». Он есть в таблице базы данных, но стандартная форма списка его не показывает, так как не может определить его принадлежность к управленческой структуре.
Как решить проблему:
Необходимо восстановить связь между записями. Для этого можно воспользоваться групповой обработкой данных или написать небольшую обработку, которая проверит наличие родительского партнера для каждого контрагента. Выясним причину отсутствия связи и создадим недостающих партнеров.
// Пример логики для поиска контрагентов без партнеров
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
| Контрагенты.Ссылка КАК КонтрагентСсылка,
| Контрагенты.Наименование КАК Наименование
|ИЗ
| Справочник.Контрагенты КАК Контрагенты
|ГДЕ
| Контрагенты.Партнер = ЗНАЧЕНИЕ(Справочник.Партнеры.ПустаяСсылка)";
РезультатЗапроса = Запрос.Выполнить();
ВыборкаДетальныеЗаписи = РезультатЗапроса.Выбрать();
Пока ВыборкаДетальныеЗаписи.Следующий() Цикл
// Логика создания или привязки партнера
КонецЦикла;
Если один пользователь видит контрагента, а другой получает ошибку «Объект не найден (89:...)», проанализируем настройки прав доступа. В 1С:ERP реализована сложная система RLS (Record Level Security). Даже если флаг общего ограничения прав кажется выключенным, могут действовать ограничения по Группам доступа партнеров.
Разберем по шагам, как это проверить:
Группа доступа. Если там указано значение, то увидеть этот объект смогут только те пользователи, в чьи профили групп доступа включена данная группа.Иногда решение оказывается гораздо проще и кроется в интерфейсных настройках. В управляемых формах 1С:Предприятие 8.3 фильтры могут сохраняться автоматически и быть неявными для пользователя.
Рассмотрим подробнее популярные настройки:
В архиве. Если партнер помечен как архивный, он исключается из стандартных отборов. Чтобы его увидеть, нужно установить специальный фильтр «Показывать архивных» в меню «Еще».Для быстрого исправления рекомендуется выполнить команду: Еще — Установить стандартные настройки. Это сбросит все пользовательские отборы в динамическом списке.
Когда мы вводим название компании в строку поиска, система обращается не напрямую к таблицам БД, а к индексу полнотекстового поиска (ПП). Если индекс не обновлен или поврежден, поиск будет выдавать пустой результат, хотя запись в базе присутствует.
Посмотрим, как обновить индекс:
Если все методические настройки проверены, но контрагент по-прежнему ведет себя странно (например, «мерцает» в списке или выдает ошибку ссылки), стоит заподозрить технический сбой.
Очистка кэша: Попробуем удалить базу из списка запуска и добавить её заново. Это принудительно очистит локальный кэш пользователя на компьютере, где часто хранятся некорректные метаданные форм.
Тестирование и исправление: Если проблема наблюдается у всех пользователей, необходимо запустить конфигуратор и выполнить процедуру проверки логической и ссылочной целостности. Особое внимание уделим проверке таблицы Reference (Справочники). В случае использования файловой базы (расширение .1CD), обязательно воспользуемся утилитой chdbfl.exe для поиска и устранения физических повреждений таблиц.
Выяснив причину и применив один из описанных методов, мы сможем восстановить корректное отображение данных в справочнике «Контрагенты» и обеспечить стабильную работу пользователей в системе 1С:ERP.