Удаление документов, элементов справочников и записей регистров в 1С 8.3

· 10 мин

Содержание

Чтобы удалить запись в 1С 8.3, выделите её в списке и нажмите Del: документ или элемент справочника получит пометку на удаление. Физически из базы он исчезнет только после запуска обработки Администрирование → Обслуживание → Удаление помеченных объектов. Записи регистров сведений и строки табличных частей удаляются сразу, без пометки.

Частое заблуждение: «нажал Del — и документа больше нет». Нет. Он остался в базе, его видно в списке с перечёркнутым значком, и пометку можно снять тем же Del. Это защита от случайного удаления, а не удаление как таковое.

Какие записи в 1С удаляются и как именно

Слово «запись» в 1С означает разные объекты. От типа зависит, как работает удаление и можно ли его отменить.

Что удаляемКак удаляетсяМожно ли отменить без копии
ДокументПометка → обработка удаленияДа, пока пометка не обработана
Элемент или группа справочникаПометка → обработка удаленияДа, пока пометка не обработана
План видов характеристик, план счетов (не предопределённые)Пометка → обработка удаленияДа, пока пометка не обработана
Запись независимого регистра сведенийСразу, после подтвержденияНет
Строка табличной части документаСразу, до записи документаДа, если закрыть документ без сохранения
Движения регистра накопления или бухгалтерииНе удаляются вручную, уходят вместе с проведениемПерепровести документ

Последняя строка важна. Проводки и движения в регистрах накопления пользователь не удаляет напрямую. Они принадлежат документу-регистратору: отмените проведение или пометьте документ на удаление — и движения исчезнут.

💡 Строку табличной части удалить проще всего: выделить и нажать Del или кнопку с крестиком над таблицей. Пока документ не записан, удаление можно «откатить» — закройте форму и ответьте «Нет» на вопрос о сохранении.

Пометка на удаление: как поставить, снять и найти помеченные

Пометка — основной и самый безопасный способ удалить запись в 1С. Она ничего не стирает, а только отмечает объект как кандидата на удаление.

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

  1. Откройте список: документов, контрагентов, номенклатуры.
  2. Выделите строку. Для нескольких строк зажмите Ctrl или Shift.
  3. Нажмите Del или выберите в меню Ещё команду пометки на удаление.
  4. Подтвердите действие в вопросе программы.

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

Что происходит с проведённым документом

Пометка проведённого документа сначала отменяет его проведение. Все проводки и движения по регистрам исчезают сразу, в момент пометки, а не при физическом удалении.

Пометили на удаление реализацию за прошлый месяц — остатки, взаиморасчёты и НДС уже изменились. Если месяц был закрыт, после снятия пометки документ нужно провести заново и перезакрыть период.

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

Как пометить группу справочника

Пометка группы ставит пометку и на все вложенные элементы и подгруппы. Удобно, когда нужно убрать целую ветку номенклатуры. Опасно, если в группе есть позиции, которые ещё в работе.

Как снять пометку

Выделите помеченную строку и снова нажмите Del — команда работает как переключатель. В меню Ещё она называется снятием пометки удаления. Для проведённого документа после снятия пометки нажмите «Провести»: проведение само не восстанавливается.

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

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

Где найти обработку

КонфигурацияПуть
Бухгалтерия предприятия 3.0Администрирование → Обслуживание, группа «Корректировка данных»
ЗУП 3.1Администрирование → Обслуживание, группа «Корректировка данных»
Управление торговлей 11НСИ и администрирование → Администрирование → Обслуживание
Любая конфигурация на 8.3Главное меню → Все функции → Стандартные → Удаление помеченных объектов

Если в главном меню нет пункта «Все функции», включите его: Главное меню → Сервис → Параметры, флажок «Отображать команду “Все функции”».

Как запустить удаление

  1. Сделайте резервную копию базы . Физическое удаление не отменяется кнопкой — вернуть данные можно только из копии.
  2. Откройте обработку «Удаление помеченных объектов».
  3. Выберите режим. В типовых конфигурациях на БСП их два: автоматическое удаление всех помеченных и выборочное, где вы сами отмечаете, что удалять.
  4. Для первого запуска выберите выборочный режим. Просмотрите список и снимите галочки с того, что удалять рано.
  5. Нажмите «Удалить» и дождитесь окончания. На большой базе это может занять от десятков минут до нескольких часов.
  6. Изучите итог: обработка покажет, что удалено, а что нет и почему.

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

Обработка не удалит объект, на который ссылается другой, не помеченный на удаление. Например, контрагента, который указан в проведённом счёте. В итоговом окне видно, какие именно объекты мешают.

Варианты решения:

  • 🔗 пометить на удаление и мешающий объект, если он тоже лишний, и запустить обработку ещё раз;
  • ✏️ заменить ссылку в мешающем документе на другой элемент;
  • 🔄 при дублях справочника использовать обработку поиска и удаления дублей: она переносит ссылки на оставшийся элемент и только потом удаляет дубль.

Ссылки бывают цепочками: документ ссылается на договор, договор на контрагента. Удаляйте снизу вверх или помечайте всю цепочку сразу — тогда обработка уберёт всё за один проход.

Удаление по расписанию

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

Нужен ли монопольный режим

Для удаления помеченных объектов в 8.3 монопольный доступ не обязателен. Обработка умеет работать при подключённых пользователях. Но если кто-то в этот момент редактирует связанные документы, часть объектов может не удалиться из-за блокировок. Поэтому разовую чистку больших объёмов удобнее делать вне рабочего времени.

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

Удаление без пометки (Shift+Del)

Платформа поддерживает непосредственное удаление объекта по Shift+Del. Оно не ставит пометку и не проверяет ссылки: объект исчезает сразу, а документы, которые на него ссылались, начинают показывать «битую» ссылку вида <Объект не найден>.

В типовых конфигурациях право «Интерактивное удаление» у пользователей отключено, поэтому Shift+Del чаще всего просто не срабатывает. Включать его ради удобства не стоит.

Записи регистров сведений

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

  1. Откройте регистр через Все функции → Регистры сведений или из формы, где он выводится.
  2. Выделите запись и нажмите Del.
  3. Подтвердите удаление.

Запись удаляется сразу. Отменить действие нельзя, только внести запись заново.

Записи регистров, подчинённых регистратору, вручную не удаляются: правьте или перепроводите документ, который их сформировал.

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

Когда нужно удалить сотни объектов по условию, руками это долго. Код удобнее, но ошибка в отборе стоит дорого — проверяйте на копии базы.

Пометка на удаление кодом

Самый безопасный вариант — ставить пометку, а физическое удаление оставить обработке:

Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ
|	Документ.Ссылка КАК Ссылка
|ИЗ
|	Документ.ЗаказПокупателя КАК Документ
|ГДЕ
|	Документ.Дата < &Граница
|	И НЕ Документ.ПометкаУдаления";
Запрос.УстановитьПараметр("Граница", Дата(2020, 1, 1));

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
	Объект = Выборка.Ссылка.ПолучитьОбъект();
	Объект.УстановитьПометкуУдаления(Истина);
КонецЦикла;

Для проведённого документа УстановитьПометкуУдаления(Истина) отменит проведение, как и интерактивная пометка. Имя документа в примере замените на своё.

Удаление с контролем ссылок

Глобальный метод УдалитьОбъекты() удаляет массив объектов и при включённом контроле проверяет ссылки — это программный аналог обработки удаления:

МассивКУдалению = Новый Массив;
// заполните массив ссылками на помеченные объекты
НайденныеСсылки = Неопределено;
УдалитьОбъекты(МассивКУдалению, Истина, НайденныеСсылки);

Если удалить не удалось, в третьем параметре вернутся ссылки, которые мешают. Чтобы заранее узнать, кто ссылается на объект, используйте НайтиПоСсылкам().

Метод Удалить() у объекта

Объект.Удалить() — непосредственное удаление без проверки ссылок, то же, что Shift+Del. Применяйте только к объектам, на которые гарантированно никто не ссылается: временные служебные данные, мусор после неудачной загрузки.

Удаление записей регистра сведений

Чтобы удалить записи регистра, запишите пустой набор с нужным отбором:

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

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

Обработки, которые чистят данные с флагом ОбменДанными.Загрузка = Истина, пропускают проверки и подписки конфигурации. Так удаляют быстрее, но можно оставить хвосты в связанных регистрах. Запускайте такое только на копии и сверяйте результат.

Особенности удаления в типовых конфигурациях

Бухгалтерия предприятия

Главный риск — закрытый период. Пометка документа из прошлого месяца меняет обороты, себестоимость и НДС. После удаления такого документа перезапустите закрытие месяца , а при сданной отчётности оцените, нужна ли уточнёнка.

Счета, предопределённые в плане счетов, удалить нельзя. Удаляются только счета и субсчета, добавленные пользователем.

ЗУП

В ЗУП документы связаны в цепочки: начисление зарплаты, ведомость, перечисление НДФЛ. Удаление начисления, по которому уже есть выплата, нарушит расчёты с сотрудником. Помечайте документы с конца цепочки: сначала ведомость и связанные с ней документы, затем само начисление.

Кадровые документы (приём, перевод, увольнение) формируют историю сотрудника. Перед удалением проверьте, не опираются ли на них последующие кадровые события.

Управление торговлей

В УТ много документов-оснований: заказ клиента , реализация, оплата. Помеченный заказ может мешать удалению документов, введённых на его основании, и наоборот. Смотрите структуру подчинённости документа, прежде чем помечать: она показывает всю цепочку связанных документов.

Как восстановить ошибочно удалённые записи

Что делать, зависит от того, на каком этапе вы спохватились.

Что случилось с записью?

Как найти, кто удалил запись

Журнал регистрации открывается через Администрирование → Обслуживание → Журнал регистрации или Все функции → Стандартные → Журнал регистрации. Поставьте отбор по событию удаления данных и по периоду. Пометка на удаление обычно фиксируется как изменение данных, поэтому ищите и среди событий изменения.

Журнал хранит историю ограниченный срок, который задаётся в настройках журнала. Если удаление было давно, событий может уже не быть.

Если копии нет

Без резервной копии физически удалённый объект не вернуть средствами 1С. Остаётся только ввести данные заново: по печатным формам, по данным контрагента, по выпискам банка. Именно поэтому перед любой массовой чисткой копия обязательна.

Частые ошибки при удалении записей

  • ❌ Удаление дубля справочника напрямую. Документы продолжат ссылаться на дубль, и обработка его не удалит. Правильнее — обработка поиска и удаления дублей с заменой ссылок.
  • ❌ Пометка группы целиком. Вместе с группой помечаются все вложенные элементы, включая рабочие. Сначала переместите нужное в другую группу.
  • ❌ Чистка в закрытом периоде без перезакрытия. Остатки и себестоимость расходятся с отчётностью.
  • ❌ Включение права интерактивного удаления пользователям. Одно нажатие Shift+Del — и в документах появляются битые ссылки.
  • ❌ Программное удаление без отбора. Пустой набор записей без отбора стирает весь регистр.
  • ❌ Удаление в рабочее время на большой базе. Пользователи ловят блокировки, часть объектов остаётся неудалённой.

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

Почему помеченные документы не исчезают из списка?
Пометка не удаляет данные. Объект остаётся в базе до запуска обработки удаления помеченных объектов.
Влияют ли помеченные на удаление документы на отчёты?
Нет. Помеченный документ не проведён, поэтому движений не имеет и в оборотах и остатках не участвует.
Можно ли удалить предопределённый элемент справочника?
Через интерфейс — нет. Предопределённые элементы используются в алгоритмах конфигурации, их удаление ломает учёт.
Сколько места освободится после удаления помеченных?
Зависит от объёма удалённого. В файловой базе размер файла сам не уменьшится: место освобождается после тестирования и исправления со сжатием таблиц в конфигураторе.
Почему обработка удаления работает очень долго?
Она проверяет ссылки на каждый объект по всей базе. Чем больше база и помеченных объектов, тем дольше проверка. Удаляйте частями в выборочном режиме.