Разработка и Конфигурация · 9 мин
Как удалить регистр сведений в 1С
Как удалить регистр сведений в 1С через конфигуратор: подготовка, очистка данных, проверка ссылок, обновление конфигурации и типичные ошибки.
Регистр сведений в 1С — это объект конфигурации, который хранит данные в разрезе измерений и ресурсов, например курсы валют, цены номенклатуры или адреса контрагентов. Удаление регистра сведений — операция необратимая: вместе с объектом из базы удаляется вся таблица данных. Поэтому перед удалением нужно убедиться, что регистр действительно не используется, а его данные не понадобятся для отчётов и учёта.
Удалить регистр сведений можно только в конфигураторе с правами на изменение структуры конфигурации. В пользовательском режиме «Предприятие» удалить сам объект нельзя — там доступна лишь очистка записей. Важно различать эти два действия: очистка удаляет данные, но оставляет объект, а удаление убирает и объект, и данные.
Ниже разобраны оба сценария: полное удаление объекта из конфигурации и очистка содержимого регистра без его удаления, а также проверки, которые нужно выполнить до и после операции.
Что нужно проверить перед удалением регистра
Главный риск при удалении регистра сведений — потеря данных и нарушение работы механизмов, которые к нему обращаются. Даже если регистр кажется «ненужным», его могут читать отчёты, обработки, подписки на события или код общих модулей. После удаления объекта такой код начнёт выдавать ошибки при обращении к несуществующему объекту метаданных.
Перед удалением выполните три проверки. Во-первых, найдите все ссылки на регистр: в конфигураторе выделите объект, откройте контекстное меню и выберите «Поиск ссылок на объект». Во-вторых, оцените объём и значимость данных — откройте регистр в режиме «Предприятие» и посмотрите, есть ли там актуальные записи. В-третьих, убедитесь, что у вас есть права администратора и монопольный доступ к базе для обновления конфигурации.
Как сделать резервную копию перед удалением
Резервная копия — обязательный шаг, так как реструктуризация базы при удалении таблицы может завершиться ошибкой, особенно на крупных базах. Самый универсальный способ — выгрузка информационной базы в файл через конфигуратор.
Для этого откройте конфигуратор, перейдите в меню «Администрирование» и выберите «Выгрузить информационную базу». Укажите путь к файлу с расширением .dt и дождитесь завершения выгрузки. На больших базах процесс может занять продолжительное время — не прерывайте его. Если база работает в клиент-серверном варианте, дополнительно можно сделать копию средствами СУБД, но файл .dt достаточен для большинства случаев.
- 1Сделайте выгрузку базы в файл .dt через меню «Администрирование — Выгрузить информационную базу»
- 2Выполните поиск ссылок на регистр сведений в конфигураторе
- 3Удалите или закомментируйте обращения к регистру в коде
- 4Удалите объект регистра из дерева конфигурации
- 5Обновите конфигурацию базы данных (F7) и подтвердите реструктуризацию
- 6Проверьте работу связанных отчётов и документов
Удаление регистра сведений в конфигураторе
Откройте конфигуратор и в дереве конфигурации разверните ветку «Регистры сведений». Найдите нужный объект, выделите его и нажмите клавишу Delete или выберите «Удалить» в контекстном меню. Система запросит подтверждение — объект будет помечен на удаление из конфигурации.
Если конфигурация находится на поддержке типовой поставки, объект может быть заблокирован для удаления. В этом случае потребуется включить возможность изменений: через меню «Конфигурация — Поддержка — Настройка поддержки» разрешите изменения для объекта. Учтите, что снятие объекта с поддержки усложнит последующие обновления типовой конфигурации — при обновлении такой регистр может быть восстановлен поставщиком.
После удаления объекта сохраните конфигурацию и обновите конфигурацию базы данных клавишей F7. Платформа покажет окно реструктуризации со списком изменений — в нём будет указано удаление таблицы регистра. Подтвердите операцию. На этом этапе требуется монопольный доступ: все пользователи должны выйти из базы.
Как очистить регистр сведений без удаления объекта
Часто требуется не удалить сам регистр, а только очистить накопленные записи — например, устаревшие данные обмена или технические сведения. Это безопаснее: структура конфигурации не меняется, код продолжает работать, а освобождается место в базе.
Для периодических регистров и регистров с небольшим числом записей можно открыть форму списка регистра в режиме «Предприятие» и удалить записи вручную или по отбору. Для массовой очистки удобнее использовать обработку: программно создать набор записей регистра без загрузки данных и записать пустой набор. Это стандартный способ быстрой очистки всей таблицы.
НаборЗаписей = РегистрыСведений.ИмяРегистра.СоздатьНаборЗаписей();
НаборЗаписей.Записать(); // записывает пустой набор — регистр очищаетсяПри очистке учитывайте режим записи регистра. Если регистр подчинён регистратору, записи удаляются только через документы-регистраторы: нужно отменить проведение соответствующих документов или удалить их движения. Очистить такой регистр пустым набором записей напрямую не получится.
Особенности удаления в типовых конфигурациях
В типовых решениях (1С:Бухгалтерия, 1С:Управление торговлей и других) удалять штатные регистры сведений крайне не рекомендуется. Эти объекты используются типовыми механизмами, и их удаление приведёт к ошибкам при проведении документов, формировании отчётов и обновлении конфигурации. Если регистр мешает — например, дублирует данные, — правильнее отключить связанный функционал через настройки программы, а не удалять объект.
Безопасно удалять можно регистры, добавленные при доработке конфигурации собственными силами, при условии, что доработка больше не используется. Перед удалением дополнительно проверьте расширения конфигурации: если регистр заимствован или используется в расширении, удаление вызовет ошибки при его работе.
Проверка результата после удаления
После обновления конфигурации базы данных убедитесь, что операция прошла корректно. Откройте дерево конфигурации — регистра не должно быть в списке. Затем запустите режим «Предприятие» и проверьте работу ключевых механизмов: проведение документов, которые раньше были связаны с регистром, формирование отчётов и выполнение регламентных заданий.
Дополнительно полезно выполнить тестирование и исправление информационной базы («Администрирование — Тестирование и исправление») в режиме проверки логической целостности. Это поможет выявить скрытые проблемы после реструктуризации. Если в журнале регистрации появляются ошибки обращения к удалённому объекту — значит, в коде остались неучтённые ссылки, и их нужно найти и устранить.
Как проверить результат
Регистр отсутствует в ветке «Регистры сведений»
Регистр на месте — обновление конфигурации не выполнено
Нет ошибок обращения к удалённому объекту
Ошибки вида «объект не найден» — остались ссылки в коде
Проведение и отчёты выполняются без ошибок
Ошибки при проведении — механизм использовал регистр
FAQ
Можно ли удалить регистр сведений в режиме «Предприятие»?
Нет. В пользовательском режиме доступна только работа с записями регистра: просмотр, редактирование и удаление отдельных записей. Сам объект конфигурации удаляется исключительно в конфигураторе с последующим обновлением конфигурации базы данных.
Что произойдёт с данными при удалении регистра?
Все записи регистра будут удалены вместе с таблицей при реструктуризации базы. Восстановить их можно только из резервной копии. Если данные могут понадобиться, выгрузите их заранее — например, в табличный документ или через выгрузку базы в .dt.
Почему кнопка удаления недоступна для регистра?
Объект находится на поддержке поставщика и заблокирован для изменений. Нужно включить возможность изменений через «Конфигурация — Поддержка — Настройка поддержки». Также проверьте, что у вашей учётной записи есть полные права и конфигурация не открыта в режиме только для чтения.
Как удалить записи регистра, подчинённого регистратору?
Такие записи принадлежат документам. Отмените проведение документов-регистраторов или очистите их движения по этому регистру. Прямая запись пустого набора не сработает, так как набор обязан содержать отбор по регистратору.
Можно ли удалить регистр сведений через расширение конфигурации?
Нет, расширения не позволяют удалять объекты основной конфигурации. Они могут добавлять собственные регистры сведений — такие регистры удаляются вместе с расширением или внутри него, без изменения основной конфигурации.
Что важно запомнить
Удаление регистра сведений выполняется в конфигураторе и требует резервной копии, поиска ссылок на объект и монопольного доступа при обновлении. Если нужно только освободить место — очищайте записи без удаления объекта. Типовые регистры лучше не удалять, а отключать связанный функционал.