Ситуация, когда после планового обновления конфигурации 1С пользователи обнаруживают отсутствие элементов в справочниках (например, «Склады», «Контрагенты» или «Номенклатура»), часто вызывает панику. Кажется, что данные безвозвратно удалены, а работа базы нарушена. Однако в большинстве случаев данные физически остаются в базе, а их «исчезновение» обусловлено либо техническими особенностями процесса обновления, либо человеческим фактором. Рассмотрим подробно, как провести расследование, найти пропавшие объекты и восстановить их работоспособность.
Прежде чем приступать к программному восстановлению, проанализируем, действительно ли элементы удалены. Разберем по шагам простейшие методы проверки:
<Объект не найден> и длинную последовательность символов (GUID), значит, элемент действительно удален из базы. Если же название склада отображается корректно, но его нет в списке — проблема в правах доступа или кэше.Разберем ситуацию: если элемент не пропал, а был изменен, это мгновенно отобразится в логах системы. Журнал регистрации — это первый инструмент администратора. Настроим фильтр:
Если в журнале зафиксировано событие «Изменение» от имени пользователя (например, Главбуха) сразу после обновления, мы увидим старое и новое состояние объекта. Это самый быстрый способ выяснить, что «пропавший» склад на самом деле теперь называется иначе.
Чтобы окончательно убедиться в наличии или отсутствии записи в таблице базы данных, проанализируем данные через консоль запросов. Это исключит влияние программных фильтров конфигурации и механизмов RLS (ограничение прав на уровне записей). Выполним простой запрос:
ВЫБРАТЬ Ссылка, Наименование, ПометкаУдаления ИЗ Справочник.Склады
Если запрос возвращает искомые элементы, значит, проблема кроется в настройках прав доступа или в «битом» индексе полнотекстового поиска. В современных версиях (начиная с 3.0.67) 1С часто использует фоновое обновление данных. Пока этот процесс не завершен, индексы могут быть неактуальны, и поиск через строку в форме списка не будет давать результатов.
Иногда после обновления «битый» локальный кэш пользователя искажает отображение списков. Проанализируем ситуацию: если один пользователь видит склад, а другой — нет, выполним следующие действия:
/ClearCache.Если проверка показала, что в документах вместо склада отображается <Объект не найден> (8491...гуид...), нам необходимо восстановить объект именно с тем же внутренним идентификатором. Если мы просто создадим новый склад с таким же именем, документы его «не увидят», так как связь в 1С идет по уникальному идентификатору (UUID), а не по названию.
Рассмотрим пример кода для восстановления связи:
// Предположим, мы узнали GUID из надписи "Объект не найден" в документе
НужныйGUID = Новый УникальныйИдентификатор("00000000-0000-0000-0000-000000000000"); // вставьте ваш GUID
Ссылка = Справочники.Склады.ПолучитьСсылку(НужныйGUID);
// Создаем новый объект с этой ссылкой
НовыйОбъект = Справочники.Склады.СоздатьЭлемент();
НовыйОбъект.УстановитьСсылкуНового(Ссылка);
// Заполняем реквизиты, которые помним
НовыйОбъект.Наименование = "Восстановленный склад";
НовыйОбъект.Записать();
После выполнения этого кода во всех документах, где ранее была ошибка <Объект не найден>, автоматически появится наш «Восстановленный склад».
Если элементов пропало много, разберем вариант с использованием типовой обработки «Выгрузка и загрузка данных XML» (её можно найти на ИТС или в составе инструментов разработчика). Посмотрим на алгоритм:
Важно помнить, что при загрузке через XML объекты сопоставляются по UUID, поэтому все связи в документах восстановятся автоматически.
Выясним причину, почему такие ситуации становятся возможными. Часто это связано с избыточными правами сотрудников. Например, бытует мнение, что для работы с сервисом «1С-Отчетность» бухгалтеру необходимы «Полные права». Это не так. В современных конфигурациях достаточно назначить профили Бухгалтер и Администратор отчетности.
Также рекомендуется включить Версионирование объектов (Администрирование — Общие настройки — История изменений). Это позволит:
Подводя итог, можно сказать: в любой непонятной ситуации с «пропажей» данных первым делом проверяйте Журнал регистрации и наличие битых ссылок в документах. Это сэкономит часы времени, которые могли бы быть потрачены на ненужное восстановление всей базы из резервной копии.