Поиск и восстановление битых ссылок «Объект не найден» в любой конфигурации 1С
Файлы
ВНИМАНИЕ: Файлы из Базы знаний - это исходный код разработки. Это примеры решения задач, шаблоны, заготовки, "строительные материалы" для учетной системы. Файлы ориентированы на специалистов 1С, которые могут разобраться в коде и оптимизировать программу для запуска в базе данных. Гарантии работоспособности нет. Возврата нет. Технической поддержки нет.
Подписка PRO — скачивайте любые файлы со скидкой до 85% из Базы знаний
Оформите подписку на компанию для решения рабочих задач
Оформить подписку и скачать решение со скидкойВы можете заказать платную доработку или адаптацию этой разработки под вашу конфигурацию на «Бирже заказов».
- 0% комиссии — оплата напрямую исполнителю;
- Исполнители любого масштаба — от отдельных специалистов до команд под проект;
- Прямой обмен контактами между заказчиком и исполнителем;
- Безопасная сделка — при необходимости;
- Рейтинги, кейсы и прозрачная система откликов.
Задача. В документах и отчетах вместо названия видно «<Объект не найден> (…)»: элемент удалили без контроля ссылок, базу свернули, обмен прошел с ошибкой. Нужно найти все такие места и вернуть ссылкам смысл.
Где ищет
- Справочники, документы, планы видов характеристик, планы счетов, планы видов расчета, бизнес-процессы, задачи, планы обмена: реквизиты, владелец и родитель, табличные части.
- Регистры сведений, накопления, бухгалтерии и расчета: измерения, ресурсы, реквизиты, регистратор; у регистра бухгалтерии — счета и субконто Дт/Кт.
- Константы.
Что показывает
Для каждой битой ссылки — тип объекта, уникальный идентификатор, таблица и поле, где она найдена, количество записей и пример объекта, который на нее ссылается.
Восстановление
Для отмеченных ссылок создается объект с тем же уникальным идентификатором и наименованием «Восстановлен: битая ссылка <дата>» (документ — с таким комментарием, без проведения), при желании — сразу с пометкой удаления. После этого ссылки снова открываются: заглушку можно заполнить, заменить на правильный объект типовой «Заменой и объединением элементов» или удалить вместе с использованием.
Как устроено
Для каждого поля сначала выбираются типы значений, которые в нем реально есть, и только с таблицами этих типов делается соединение — поэтому составные типы (регистратор, документы расчетов) не замедляют поиск. Таблицы, которые не удалось проверить, перечисляются в итоге, поиск остальных продолжается.
Проверено
- Демонстрационная база 1С:Бухгалтерия предприятия 3.0.207, платформа 8.5: автотест удаляет номенклатуру без контроля ссылок, на которую ссылаются строка счета покупателю и субконто проводки, — поиск находит оба места, восстановление создает объект с тем же идентификатором, повторный поиск ссылку не находит.
- Полный поиск по всей демо-базе (около 1 400 объектов с данными) — около 3 минут на файловой базе, без пропущенных таблиц.
Код открыт.
Проверено на следующих конфигурациях и релизах:
- Бухгалтерия предприятия, редакция 3.0, релизы 3.0.207.25
Вступайте в нашу телеграмм-группу Инфостарт