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