К статье
Практический материал

Администрирование · 11 мин

Как удалить регистр в 1С: инструкция для конфигуратора и режима предприятия

Как удалить регистр в 1С: удаление объекта конфигурации, очистка записей регистра сведений и накопления, типичные ошибки и проверка результата.

Запрос «1С как удалить регистр» обычно означает одну из трёх задач: удалить сам объект конфигурации (регистр сведений, накопления, бухгалтерии или расчёта) в конфигураторе, очистить записи внутри существующего регистра или удалить конкретные движения документа. Это разные операции с разными последствиями, и путать их нельзя: удаление объекта меняет структуру базы, а очистка записей затрагивает только данные.

Любая из этих операций необратима без резервной копии. Регистры хранят учётные данные — остатки товаров, взаиморасчёты, курсы валют, кадровые сведения, — и их потеря ломает отчётность и проведение документов. Поэтому первый шаг в любом сценарии одинаков: сделать выгрузку информационной базы (файл .dt) через конфигуратор или штатное резервное копирование СУБД, если база клиент-серверная.

Ниже разобраны все основные сценарии: удаление регистра из конфигурации, очистка записей через встроенный язык и обработки, удаление движений документа, а также проверка ссылочной целостности и типичные ошибки.

Что именно нужно удалить: объект конфигурации или данные

Прежде чем действовать, определите задачу. Если регистр больше не нужен в конфигурации (например, остался от доработки, которую решили отказаться), удаляется сам объект метаданных. Если регистр нужен, но в нём накопились ошибочные или устаревшие записи — очищаются данные, а структура остаётся.

Третий частый случай — «лишние» движения конкретного документа. Тогда удалять весь регистр или все записи не нужно: достаточно очистить набор записей по регистратору. Наконец, иногда требуется просто скрыть регистр от пользователей — для этого достаточно настроить права, ничего не удаляя.

Маршрут решения

Как выбрать действие

Регистр не используется и должен исчезнуть из конфигурацииУдалите объект метаданных в конфигураторе с обновлением конфигурации БД
Регистр нужен, но записи ошибочны или устарелиОчистите записи обработкой или кодом, объект не трогайте
Неверные движения у одного документаОчистите набор записей по регистратору или перепроведите документ
Регистр мешает пользователям, но данные нужныОграничьте права доступа вместо удаления

Подготовка: резервная копия и анализ зависимостей

Для файловой базы откройте конфигуратор, меню «Администрирование» → «Выгрузить информационную базу» и сохраните файл .dt. Для клиент-серверной базы используйте средства СУБД (MS SQL, PostgreSQL) — выгрузка .dt на больших базах выполняется долго и требует монопольного доступа.

Второй обязательный шаг — проверить, где используется регистр. В конфигураторе выделите регистр, нажмите правую кнопку мыши и выберите «Поиск ссылок в объектах». Платформа покажет документы, которые являются регистраторами, отчёты, обработки и роли, ссылающиеся на регистр. Если регистр используется в коде общих модулей, поиск ссылок может не показать обращения через строковые имена — имеет смысл дополнительно выполнить глобальный поиск по имени регистра (Ctrl+Shift+F).

Удаление регистра как объекта конфигурации

Последовательность действий в конфигураторе стандартная, но требует монопольного доступа к базе на этапе обновления.

Порядок действий
  1. 1
    Сделайте резервную копию базы (.dt или средствами СУБД)
  2. 2
    Откройте конфигуратор и разблокируйте конфигурацию от поставщика, если она на поддержке (Осторожно: это снимает объект с поддержки)
  3. 3
    В дереве конфигурации найдите ветку Регистры и нужный тип (сведений, накопления, бухгалтерии, расчёта)
  4. 4
    Выделите регистр, нажмите правую кнопку мыши и выберите Удалить, подтвердите действие
  5. 5
    Выполните поиск ссылок и удалите или перенастройте зависимые объекты: регистраторов, роли, отчёты
  6. 6
    Нажмите F7 или Конфигурация → Обновить конфигурацию базы данных
  7. 7
    Платформа предложит реструктуризацию с удалением таблицы — подтвердите
  8. 8
    Проверьте запуск режима предприятия и работу связанных функций

Если конфигурация типовая и находится на поддержке, удаление объекта потребует включить возможность изменения. Учтите: при следующем обновлении типовой конфигурации удалённый вами объект может «вернуться» или обновление потребует ручного сравнения и объединения. Для типовых решений часто безопаснее не удалять регистр, а отключить его использование функциональными опциями и правами.

Обновление конфигурации базы данных с удалением таблицы регистра на большой базе может занять заметное время и требует завершения всех сеансов пользователей. Планируйте операцию на нерабочее время.

Очистка записей регистра без удаления объекта

Когда структура нужна, а данные — нет, применяется очистка записей. Универсальный способ — небольшая внешняя обработка или код в консоли кода (например, через обработку «Консоль кода» или аналогичную из инструментов разработчика). Пример для регистра сведений:

1c
НаборЗаписей = РегистрыСведений.КурсыВалют.СоздатьНаборЗаписей();
НаборЗаписей.Прочитать();
НаборЗаписей.Очистить();
НаборЗаписей.Записать();

Для регистра накопления, подчинённого регистраторам, очистка через пустой набор записей без отбора работает иначе: набор без отбора по регистратору записывать нельзя — платформа выдаст ошибку. Такие регистры очищают перебором регистраторов (удаление движений у каждого документа) либо прямым запросом к таблице через обработку, работающую с наборами записей по каждому регистратору.

Есть и готовые инструменты: универсальная обработка «Групповая обработка справочников и документов» (входит в стандартные подсистемы ряда конфигураций) умеет очищать движения документов, а обработки типа «Поиск и удаление дублей» и «Удаление помеченных объектов» помогают навести порядок в связанных данных. Для разовой очистки большого регистра независимого режима удобнее всего код выше — он выполняется за одну транзакцию.

Удаление движений конкретного документа

Если проблема локальна — один документ сделал неверные записи — полный отказ от регистра избыточен. Стандартный способ: отменить проведение документа (кнопка «Проведён» в списке или командой), при этом платформа сама удалит его движения из всех регистров. Затем исправьте документ и проведите заново.

Программный вариант — очистка набора записей с отбором по регистратору:

1c
НаборЗаписей = РегистрыНакопления.ТоварыНаСкладах.СоздатьНаборЗаписей();
НаборЗаписей.Отбор.Регистратор.Установить(СсылкаНаДокумент);
НаборЗаписей.Записать(); // очищает движения документа

Этот приём используют, когда документ нельзя распровести штатно (например, закрыт период), но его движения ошибочны. Действуйте осторожно: записи удаляются без контроля логики проведения, и итоги по регистру изменятся мгновенно.

Удаление регистра в типовой конфигурации: ограничения

В типовых решениях (1С:Бухгалтерия, УТ, ERP, ЗУП) удалять штатные регистры практически никогда не следует. Эти объекты задействованы в десятках механизмов: проведении документов, формировании отчётности, обменах данными. Их удаление гарантированно сломает конфигурацию при ближайшем обновлении или даже сразу — при первом обращении к удалённому объекту из кода.

Правильные альтернативы для типовых конфигураций: отключить функциональную опцию, которая использует регистр; настроить права так, чтобы пользователи не видели данные; очистить записи, если мешают именно данные; вынести свои доработки в расширение конфигурации вместо изменения основной. Расширения, кстати, позволяют добавлять собственные регистры, не трогая типовые, и удаляются вместе с расширением без последствий для базы.

Типичные ошибки
01
Удаление регистра без резервной копии — восстановить данные будет нечем
02
Удаление объекта без поиска ссылок — ошибки при обновлении конфигурации и в работе отчётов
03
Очистка регистра накопления пустым набором без отбора — платформа выдаёт ошибку, операция не выполняется
04
Удаление типового регистра в конфигурации на поддержке — конфликты при обновлении и потеря поддержки
05
Очистка записей в рабочее время — пользователи видят некорректные итоги и отчёты в момент операции
06
Игнорирование итогов: после массовой очистки не выполнен пересчёт итогов регистров накопления

Проверка результата после удаления или очистки

После удаления объекта конфигурации убедитесь, что обновление конфигурации базы данных завершилось без ошибок, а в списке изменений структуры не осталось необработанных пунктов. Запустите режим предприятия и проверьте типовые сценарии, которые раньше использовали регистр: проведение связанных документов, формирование отчётов, обмены.

После очистки записей полезно выполнить тестирование и исправление информационной базы (конфигуратор → Администрирование → Тестирование и исправление) с проверкой ссылочной целостности, а для регистров накопления — пересчитать итоги (в режиме предприятия: раздел администрирования, «Управление итогами», либо программно методом ПересчитатьИтоги). Сверьте ключевые отчёты с состоянием до операции — по резервной копии на отдельной копии базы.

Контрольные точки

Как проверить результат

Обновление конфигурации БД
Норма

Завершилось без ошибок, реструктуризация выполнена

Тревожный признак

Ошибки о ссылающихся объектах — зависимости не устранены

Запуск режима предприятия
Норма

База открывается, документы проводятся

Тревожный признак

Ошибки обращения к удалённому регистру из кода

Отчёты по данным регистра
Норма

Показывают ожидаемые (пустые или корректные) данные

Тревожный признак

Ошибки построения или неожиданные остатки

Итоги регистров накопления
Норма

Пересчитаны и совпадают с данными таблицы

Тревожный признак

Расхождение итогов с движениями — нужен пересчёт

Частые вопросы

Можно ли восстановить удалённый регистр?

Только из резервной копии. Платформа не хранит «корзину» для объектов конфигурации и удалённых данных. Если копии нет, структуру регистра придётся создавать заново вручную, а данные будут потеряны безвозвратно.

Почему кнопка «Удалить» у регистра недоступна?

Чаще всего конфигурация находится на поддержке без возможности изменения. Откройте «Конфигурация → Поддержка → Настройка поддержки» и включите возможность изменения (для объекта или всей конфигурации). Учтите, что это усложнит будущие обновления типового решения.

Что будет с документами-регистраторами после удаления регистра?

Сами документы останутся, но в их свойствах пропадёт связь с регистром. Если в модуле проведения документа есть код обращения к удалённому регистру, проведение начнёт завершаться ошибкой — код нужно скорректировать до обновления конфигурации базы данных.

Чем отличается очистка регистра сведений от регистра накопления?

Независимый регистр сведений можно очистить одним пустым набором записей без отборов. Регистр накопления подчинён регистраторам, поэтому записи удаляются либо отменой проведения документов, либо наборами записей с отбором по каждому регистратору.

Можно ли удалить регистр через расширение конфигурации?

Нет, расширения не удаляют объекты основной конфигурации — они могут добавлять собственные регистры и изменять поведение существующих. Если нужен «чистый» вариант без типового регистра, используйте права и функциональные опции, а не удаление.

Нужно ли пересчитывать итоги после очистки регистра накопления?

Да, это рекомендуется. После массового удаления движений итоги могут хранить устаревшие значения, из-за чего отчёты покажут неверные остатки. Пересчёт выполняется через «Управление итогами» в режиме предприятия или программно.

Итог

Что важно запомнить

Различайте удаление объекта конфигурации, очистку записей и удаление движений документа — это три разные операции. Всегда начинайте с резервной копии и поиска ссылок на регистр. В типовых конфигурациях предпочитайте права и функциональные опции вместо удаления объектов. После операции проверьте обновление конфигурации, проведение документов и пересчитайте итоги.