← На главную
При обновлении конфигурации 1С (например, при переходе с редакции 2.0 на 3.0 или при переходе с версии ПРОФ на КОРП) специалисты часто сталкиваются с системным сообщением вида: «Не удаляемый объект ... есть ссылки в объектах основной конфигурации». В тексте ошибки обычно указываются конкретные метаданные, например, ЭлементСтиля.ЦветГиперссылки или другие системные объекты, на которые ссылаются отчеты, формы или модули.
Проанализируем причины возникновения этой проблемы и разберем по шагам действенные способы ее решения. В качестве комплексного решения можно применить методику обновления с выносом доработок в расширение.
Причины возникновения ошибки
Выясним, почему платформа 1С выдает такое предупреждение. Главная причина заключается в разнице между типовой конфигурацией поставщика и вашей рабочей базой:
- Снятие с полной поддержки. Если конфигурация переведена в режим «Редактируется с сохранением поддержки» или полностью снята с поддержки (сняты «замки»), автоматические механизмы платформ перестают автоматически удалять устаревшие системные ссылки при обновлении.
- Удаление объектов поставщиком. В новых релизах разработчики «1С» регулярно выводят из эксплуатации устаревшие объекты (элементы стиля, общие модули, картинки, константы, подсистемы). Если в вашей базе сохранились доработанные формы или отчеты, содержащие ссылки на эти объекты, платформа не может завершить обновление.
- Использование некорректного режима обновления. Попытка применить полную загрузку файла конфигурации (
.cf) вместо процедуры сравнения и объединения на базе с внесенными изменениями.
Способ 1. Перенос недостающих объектов и объединение конфигураций
Рассмотрим первый подход, который помогает, если в обновляемой конфигурации удалены объекты, необходимые для работы ваших локальных доработок.
- Откроем рабочую базу в режиме Конфигуратор.
- Выполним команду меню Конфигурация — Сравнить, объединить с конфигурацией из файла и выберем файл обновления (
.cf) новой версии.
- При появлении окна сравнения найдем объекты метаданных, на которые ругается система (например, указанный в ошибке
ЭлементСтиля.ЦветГиперссылки).
- Скопируем или включим недостающие объекты из текущей основной конфигурации в объединяемую, чтобы сохранить структуру ссылок, либо снимeм флаги с их удаления.
- Выполним объединение и обновим конфигурацию базы данных (клавиша F7).
Способ 2. Поиск и очистка устаревших ссылок в основной конфигурации
Разберем ситуацию, когда удаляемый поставщиком объект действительно больше не нужен, но на него остались «зависшие» ссылки в доработанных отчетах или формах.
- В дереве метаданных найдем объект, указанный в тексте ошибки.
- Нажмем на нем правой кнопкой мыши и выберем пункт Поиск ссылок в конфигурации.
- Проанализируем список найденных мест (это могут быть формы отчетов, свойства элементов или программный код).
- Вручную удалим или заменим ссылки на этот объект в найденных формах и модулях. Например, если отчет ссылается на удаляемый элемент стиля, заменим его на стандартное значение или другой существующий стиль.
- После очистки всех ссылок повторно запустим процесс обновления.
Способ 3. Проверка режима поддержки и последовательное обновление
Проанализируем правильный порядок действий при переходе между редакциями или версиями конфигурации:
- Последовательность релизов. Не следует обновлять базу через несколько крупных версий сразу. Выполняйте обновление строго по цепочке релизов, используя предназначенные файлы обновлений (
.cfu).
- Предварительное тестирование. Перед выполнением обновления запустите процедуру Тестирование и исправление (меню Администрирование — Тестирование и исправление) с включенными флагами проверки логической и ссылочной целостности.
- Анализ изменений. Если объектов с ошибками вываливается много (несколько десятков или сотен), это означает, что с конфигурации были массово сняты ограничения редактирования. В таком случае необходимо последовательно разгрести конфликты изменений для всех измененных метаданных.
Рекомендации по предотвращению ошибок при обновлениях
Чтобы избежать подобных проблем при последующих обновлениях, рекомендуется соблюдать следующие правила архитектуры:
- Выносите доработки в расширения. Все новые формы, логику и отчеты следует реализовывать через расширения конфигурации (
.cfe), не снимая с поддержки объекты основной конфигурации.
- Используйте внешние отчеты и обработки. Дополнительные отчеты лучше подключать через механизм дополнительных внешних обработок, чтобы не менять структуру метаданных основной базы.
- Возвращайте типовые объекты на полную поддержку. Если доработка объекта больше не требуется, восстановите для него режим «Не редактируется», чтобы объекты поставщика обновлялись в автоматическом режиме без сбоев.