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