Удаление объектов, документов и справочников в 1С
Содержание
Напрямую стереть документ или элемент справочника в 1С:Предприятии нельзя — программа сначала ставит объекту пометку на удаление, а само удаление делается отдельной операцией с проверкой, что на объект никто не ссылается. Пометка ставится клавишей Delete или командой Пометить на удаление в контекстном меню списка. Физически данные убирает обработка Удаление помеченных объектов в разделе Администрирование.
Ниже — как это работает для документов, справочников и записей регистров, чем отличается удаление в режиме Конфигуратора, почему объект иногда не удаляется и как после чистки реально уменьшить размер файла базы . Пути приведены для интерфейса «Такси» платформы 8.3 на примере типовых конфигураций (Бухгалтерия предприятия 3.0, ЗУП 3.1, Управление торговлей 11).
Удаление помеченных объектов, выгрузка и загрузка базы, тестирование и исправление — операции, которые меняют данные необратимо. Перед ними сделайте резервную копию и выполняйте их, когда в базе не работают другие пользователи.
Пометка и удаление документов в режиме Предприятие
Документ удаляют в два приёма: сначала пометка, потом физическое удаление.
- Откройте нужный журнал или список документов (например,
Продажи → Реализация (акты, накладные)). - Встаньте на строку с документом. Если он проведён — сначала снимите проведение: кнопка
Ещё → Отменить проведениев форме документа или в командной панели списка. - Нажмите клавишу
Deleteлибо правой кнопкой мыши вызовитеПометить на удаление / Снять пометку. У строки появится значок перечёркнутого объекта.
Пометка обратима: повторная команда Снять пометку возвращает документ в обычное состояние. Пока объект только помечен, он остаётся в базе и участвует в отчётах, если не был снят с проведения.
Снятие проведения и пометка — разные действия. Помеченный, но проведённый документ продолжает формировать движения по регистрам. Чтобы документ перестал влиять на учёт сразу, отмените проведение; пометка на удаление только готовит его к будущему удалению.
Чтобы убрать документ из базы окончательно, запустите удаление помеченных объектов — про него отдельный раздел ниже. Для одного документа это тот же механизм, что и для сотен: прямого «удалить навсегда» в пользовательском режиме нет, и это защита от случайной потери связанных данных.
Удаление элементов справочников
Справочники (контрагенты, номенклатура, физлица, договоры) чистят так же: пометка → удаление помеченных. Отличие в том, что на элементы справочников обычно ссылается много документов, поэтому именно здесь чаще всего всплывают связи.
- Выделите один элемент или несколько с зажатым
Ctrl/Shift. - Нажмите
DeleteилиПометить на удалениев менюЕщё. - Для группы элементов пометьте саму группу — вложенные элементы пометятся вместе с ней.
Элемент, который используется хотя бы в одном документе, проводке или другом справочнике, удалить не получится: контроль ссылочной целостности покажет, где он задействован. Такой элемент разумно не удалять, а скрыть из подбора — поставить признак недействительности (в карточке контрагента и номенклатуры есть флаг, исключающий элемент из списков выбора). Для складов, организаций, статей затрат это безопаснее удаления.
Чаще всего ненужные элементы справочников — это дубли: один и тот же контрагент или товар заведён дважды. Удалить дубль напрямую мешают ссылки на него. В таком случае помогает отдельный механизм — поиск и удаление дублей (о нём ниже), а не ручная пометка.
Предопределённые элементы (их создаёт сама конфигурация — например, папка Основной склад или валюта по умолчанию) пометить на удаление в Предприятии нельзя. Они убираются только через Конфигуратор и только вместе с изменением конфигурации.
Как работает групповое удаление помеченных объектов
Это и есть операция, которая физически стирает всё помеченное. Запускается из раздела Администрирование, группа Обслуживание → Удаление помеченных объектов (в части конфигураций пункт лежит прямо в панели Администрирование под заголовком «Сервис»).
Порядок работы обработки:
- Выберите режим.
Автоматическое удаление всех помеченных объектовнайдёт и удалит всё разом.Выборочное удалениепокажет список помеченного, где галочками отмечают, что удалять. - Программа ищет ссылки на удаляемые объекты по всей базе.
- Объекты без ссылок удаляются. По объектам со ссылками выводится отчёт: что именно мешает и в каких документах объект встречается.
Если на объект ссылаются другие данные, он не удалится — это не ошибка, а защита. Двойным кликом по строке отчёта о ссылках можно открыть мешающий документ и либо исправить его (заменить ссылку на другой объект), либо тоже пометить на удаление и запустить обработку повторно.
.dt или сжатие таблиц — см. раздел о размере базы.Групповое удаление корректно пересчитывает всё, что зависело от удалённых документов, поэтому отдельно чистить движения по регистрам после него не требуется.
Кто может запускать удаление. Пометить объект на удаление вправе обычный пользователь, если у него есть право на изменение этого вида данных. А вот сама обработка удаления помеченных — административная операция: как правило, она доступна только пользователю с профилем администратора или с соответствующим правом. Это сделано намеренно: массовое удаление затрагивает всю базу, и доверять его каждому оператору не стоит.
Как часто чистить. Запускать удаление помеченных имеет смысл регулярно — раз в месяц или квартал, — а не копить пометки годами. Чем больше помеченных объектов и ссылок на них, тем дольше идёт проверка целостности и тем выше шанс, что в отчёте окажется клубок перекрёстных ссылок, который придётся распутывать вручную.
Удаление объектов конфигурации в Конфигураторе
Важно не путать два разных «удаления». В Предприятии вы удаляете данные — конкретные документы и элементы. В Конфигураторе удаляют объекты метаданных — сами справочники, документы, реквизиты, то есть структуру программы. Это нужно при доработке конфигурации, а не при чистке базы.
Чтобы удалить объект конфигурации:
- Откройте Конфигуратор, снимите конфигурацию с поддержки, если она типовая и объект нельзя изменить (иначе удаление будет недоступно).
- В дереве конфигурации выделите объект (например, лишний справочник или реквизит документа) и нажмите
Delete. - Если на объект ссылаются другие объекты конфигурации, платформа покажет список ссылок — их нужно убрать до удаления.
- Сохраните и обновите конфигурацию базы данных командой
Обновить конфигурацию базы данных(F7).
Обновление структуры базы данных требует монопольного доступа: все пользователи должны выйти. На большой базе реструктуризация таблиц может занять заметное время.
Удалять объекты типовой конфигурации без необходимости не стоит: это снимает её с поддержки или усложняет обновления. Если лишний реквизит или справочник мешает, чаще правильнее не удалять его из типовой конфигурации, а добавить нужное через расширение конфигурации — отдельный механизм доработки, который не трогает исходную структуру и не ломает автоматическое обновление .
В Конфигураторе есть и своё Администрирование → Удаление помеченных объектов — та же чистка данных, что и в Предприятии, но доступная администратору напрямую. А непосредственное удаление данных
без контроля ссылок (режим, которого нет в пользовательском интерфейсе) применяют только специалисты и только с полным пониманием последствий: нарушенные ссылки останутся «битыми».
Поиск и удаление дублей справочников
Когда один и тот же контрагент, номенклатура или физлицо заведены несколько раз, удалять дубли по одному бессмысленно — на каждый есть документы. Для этого в типовых конфигурациях (Бухгалтерия предприятия, Управление торговлей) есть обработка Администрирование → Обслуживание → Поиск и удаление дублей.
Как ею пользоваться:
- Выберите, где искать — область поиска (например,
КонтрагентыилиНоменклатура). - Задайте правило сравнения: по наименованию, по ИНН, по коду. Можно настроить, чтобы совпадение искалось без учёта регистра и пробелов.
- Запустите поиск. Обработка сгруппирует похожие элементы.
- В каждой группе отметьте главный элемент — тот, что останется. Остальные станут дублями.
- Нажмите удаление дублей. Программа сама заменит ссылки во всех документах на главный элемент, а дубли пометит на удаление.
После этого останется запустить обычное удаление помеченных объектов, чтобы убрать дубли из базы окончательно.
Замена ссылок необратима так же, как удаление. Перед массовым объединением дублей проверьте правило сравнения на небольшой группе, чтобы случайно не слить двух разных контрагентов с похожими названиями.
Как убрать записи регистров и пересчитать итоги
Записи в регистрах накопления, бухгалтерии и сведений — это, как правило, движения документов. Отдельной командой «удалить движение» в типовой базе не пользуются: записи убираются вместе с документом-регистратором.
- Чтобы убрать движения конкретного документа — отмените его проведение (
Ещё → Отменить проведение). Движения по регистрам пропадут, сам документ останется. - Чтобы убрать документ целиком с движениями — пометьте на удаление и запустите удаление помеченных.
- Независимые регистры сведений (не привязанные к регистратору, например курсы валют) допускают ручное редактирование: запись в них открывается и удаляется прямо в форме списка регистра клавишей
Delete.
Итоги регистров (накопленные остатки и обороты) после массовых изменений иногда расходятся с движениями. Их пересчитывают: в Бухгалтерии предприятия для этого есть сервис управления итогами в разделе Администрирование → Обслуживание, где можно пересчитать итоги
и актуализировать их на нужную дату. После крупной чистки документов пересчёт итогов — полезная проверка, что остатки сошлись.
Если нужно «обнулить» учёт за период и начать заново, не удаляйте документы вручную тысячами. Правильнее — развернуть базу из копии на нужную дату или настроить дату запрета изменения данных, чтобы закрытые периоды нельзя было трогать.
Почему база не уменьшилась и как её сжать
Частый вопрос: помеченное удалили, а файл 1Cv8.1CD остался прежнего размера или даже вырос. Так и должно быть — платформа не отдаёт освободившееся место операционной системе автоматически. Чтобы физически сжать базу
, нужна реструктуризация.
Для файловой базы:
- Закройте все сеансы, сделайте копию файла базы.
- В Конфигураторе:
Администрирование → Выгрузить информационную базу— сохраните файл.dt. - Затем
Администрирование → Загрузить информационную базуиз этого.dtв ту же или новую базу. При загрузке таблицы пересоздаются, и размер обычно падает.
Альтернатива — Администрирование → Тестирование и исправление с включённым пунктом сжатия таблиц информационной базы; это тоже перестраивает таблицы, но дольше.
Для клиент-серверной базы (данные в СУБД) размер файла базы 1С не показателен — данные лежат в SQL. Уменьшением занятого места там занимается администратор СУБД средствами самой СУБД; через Конфигуратор это не делается. Выгрузка .dt для клиент-серверной базы остаётся способом сделать переносимую копию, но на размер боевой базы в СУБД она не влияет.
Выгрузка-загрузка .dt и тестирование-исправление требуют, чтобы в базе никто не работал: запускайте их в нерабочее время и только после резервной копии.
Частые вопросы
Можно ли восстановить ошибочно удалённый документ?
Чем пометка на удаление отличается от удаления?
Как удалить элемент, на который ссылаются документы?
Почему команда «Пометить на удаление» недоступна?
Где в 1С запускается удаление помеченных объектов?
Администрирование, группа Обслуживание, пункт Удаление помеченных объектов. Эта команда есть и в Конфигураторе — в меню Администрирование.