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

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

Как выделить все и удалить в 1С 8

Как выделить все элементы и удалить их в 1С 8.3: справочники, документы, пометка на удаление, контроль ссылочной целостности и монопольный режим.

Задача «выделить все и удалить» в 1С 8 возникает при очистке тестовой базы, удалении устаревших документов, чистке справочников перед новым обменом или подготовке копии базы к передаче. В отличие от обычных файловых операций, в 1С удаление устроено в два этапа: сначала объект помечается на удаление, затем пометка превращается в физическое удаление через специальную обработку. Такой механизм защищает базу от потери данных, но требует понимания порядка действий.

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

Как быстро выделить все элементы списка

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

Если нужно выделить только часть списка, используйте Shift для диапазона (клик по первой строке, затем Shift+клик по последней) или Ctrl для выборочного выделения отдельных строк. Перед выделением убедитесь, что в списке не установлен отбор, который скрывает часть данных: удаление затронет только видимые и выделенные строки, но об отборе легко забыть и потом искать «пропавшие» элементы.

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

Пометка на удаление: первый обязательный этап

После выделения нажмите клавишу Delete или выберите в меню «Ещё» команду «Установить пометку удаления». 1С запросит подтверждение — после согласия все выделенные объекты получат пометку. В списке они обычно отображаются зачеркнутыми или с соответствующей пиктограммой.

Пометка на удаление — обратимое действие. Пока не выполнено физическое удаление, объект продолжает существовать в базе, участвует в ссылках и при необходимости пометку можно снять той же командой. Именно поэтому штатный механизм безопасен: между решением и необратимым удалением есть этап проверки.

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

Порядок действий
  1. 1
    Откройте нужный список (справочник или журнал документов)
  2. 2
    Снимите лишние отборы, чтобы видеть все записи
  3. 3
    Выделите строки: Ctrl+A или «Ещё» → «Выделить все»
  4. 4
    Нажмите Delete и подтвердите установку пометки
  5. 5
    Проверьте, что помечены именно нужные объекты
  6. 6
    Перейдите к удалению помеченных объектов

Удаление помеченных объектов

Физическое удаление выполняется через раздел «Администрирование» → «Удаление помеченных объектов» (в некоторых конфигурациях — «Операции» → «Удаление помеченных объектов»). Откроется обработка с двумя режимами: автоматическое удаление всех помеченных объектов или выборочное удаление по типам.

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

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

Непосредственное удаление и почему его лучше избегать

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

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

Разработчики иногда удаляют данные программно методом Удалить() объекта или через установку пометки в цикле. Для массовой очистки регистров сведений программный способ допустим (у записей регистра нет ссылочной целостности), но для справочников и документов снова требуется контроль ссылок.

Сравнение вариантов

Пометка + удаление помеченных

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

Непосредственное удаление

Быстро, но ломает ссылочную целостность. Только для гарантированно неиспользуемых объектов.

Программное удаление

Подходит для массовой очистки регистров и тестовых баз. Требует навыков разработки и резервной копии.

Монопольный режим и типичные препятствия

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

Еще одно частое препятствие — недостаток прав. Команды пометки и удаления доступны не всем ролям: если кнопки неактивны, обратитесь к администратору за правами «Удаление» и «Интерактивное удаление» на нужные объекты. В файловой базе также проверьте, не открыт ли файл базы другим процессом.

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

Типичные ошибки
01
Удаление без резервной копии — при ошибке данные восстановить невозможно
02
Непосредственное удаление номенклатуры или контрагентов — в документах появляются битые ссылки «Объект не найден»
03
Забытый отбор в списке — помечена только видимая часть, остальные элементы остаются
04
Попытка удалить при активных пользователях — монопольный режим не устанавливается, операция прерывается
05
Удаление помеченных без анализа мест использования — теряются объекты, нужные для отчетности прошлых периодов

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

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

Для файловой базы после массового удаления физический размер файла 1Cv8.1CD не уменьшится автоматически — внутри файла остаются пустые области. Чтобы вернуть место на диске, выполните тестирование и исправление базы (конфигуратор → Администрирование → Тестирование и исправление) с включенной опцией сжатия таблиц, либо выгрузите базу в dt и загрузите обратно.

Полезно также прогнать поиск битых ссылок: в типовых конфигурациях есть проверка через «Тестирование и исправление» (режим проверки ссылочной целостности). Это финальная гарантия, что база осталась в согласованном состоянии.

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

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

Список объектов после удаления
Норма

Помеченные объекты отсутствуют, список содержит только нужные записи

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

Объекты остались со статусом пометки — смотрите причины в отчете обработки

Отчеты и документы прошлых периодов
Норма

Данные открываются, ссылки отображаются корректно

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

Записи вида «Объект не найден» — ссылочная целостность нарушена

Размер файла базы (файловый вариант)
Норма

После сжатия таблиц размер заметно уменьшился

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

Размер не изменился — сжатие не выполнялось или удалено мало данных

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

Можно ли отменить удаление после «Удаления помеченных объектов»?

Нет, физическое удаление необратимо. Восстановить данные можно только из резервной копии: файловой копии 1Cv8.1CD, выгрузки dt или бэкапа СУБД. Поэтому копия перед массовым удалением — обязательный шаг, а не рекомендация.

Почему объект помечается, но не удаляется окончательно?

Потому что на него есть ссылки из других объектов: документов, регистров, справочников. Обработка удаления показывает список таких мест использования. Удалите или измените ссылающиеся объекты, замените ссылки — и повторите удаление.

Как удалить все документы за период сразу?

Откройте журнал документов, установите отбор по периоду, выделите все строки (Ctrl+A) и установите пометку. Для очень больших объемов удобнее обработка «Групповое изменение реквизитов» с установкой пометки удаления по отбору — она работает пакетно и не требует ручного выделения.

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

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

Нужен ли монопольный режим для пометки на удаление?

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

Как полностью очистить тестовую базу от всех данных?

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

Итог

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

Удаление в 1С 8 — двухэтапный процесс: пометка на удаление (Ctrl+A + Delete в списке), затем «Администрирование» → «Удаление помеченных объектов» в монопольном режиме. Контроль ссылочной целостности защищает базу от битых ссылок, а резервная копия — от безвозвратной потери данных. Непосредственное удаление применяйте только к гарантированно неиспользуемым объектам.