Отмена удаления в 1С: снятие пометки и восстановление объектов
Содержание
Отменить удаление в 1С проще всего, пока объект только помечен на удаление: щёлкните по нему правой кнопкой и выберите «Снять пометку на удаление» — документ или элемент справочника вернётся целиком, со всеми реквизитами и движениями. Сложнее, если уже прошла команда «Удаление помеченных объектов»: тогда объект стёрт из базы физически, и вернуть данные получится только из резервной копии.
Главная путаница по этой теме — считать, что пометка на удаление и есть удаление. Это два разных действия. Пометка обратима в один клик, а восстановление после реального удаления — отдельная история, где всё решает наличие свежего бэкапа. Поэтому первый вопрос всегда один: объект ещё помечен или уже удалён физически. От ответа зависит, какой из способов вернуть удалённое вам подойдёт.
Пометка на удаление и физическое удаление: в чём разница
В 1С объект проходит две ступени перед тем, как исчезнуть из базы.
Сначала пользователь ставит пометку на удаление. Объект при этом остаётся в базе: он виден в списках с серым перечёркнутым значком, его можно открыть, а движения проведённого документа сохраняются до распроведения. Пометка — это заявка «кандидат на удаление», а не само удаление.
Физически объект исчезает только на втором шаге — когда администратор запускает «Удаление помеченных объектов». Эта процедура проверяет ссылочную целостность: если на помеченный объект ссылаются другие документы, программа не даст его стереть и покажет список зависимостей. Прошедшие контроль объекты удаляются из базы безвозвратно.
Отсюда простое правило: пока вы видите объект в списке с перечёркнутым значком, удаление легко отменить. Как только он исчез после процедуры удаления помеченных — обычными средствами его уже не вернуть.
Есть ещё непосредственное удаление строк в табличных частях и удаление через код Объект.Удалить() — оно стирает данные сразу, минуя пометку. Но в типовых конфигурациях рядовой пользователь так не удаляет, поэтому ниже речь про стандартный сценарий «пометка → удаление помеченных».
Как снять пометку на удаление в режиме Предприятия
Это и есть «отмена удаления» в большинстве случаев. Порядок одинаков для документов и элементов справочников.
- Откройте список, где лежит помеченный объект (например, журнал документов или справочник контрагентов).
- Найдите строку с серым перечёркнутым значком слева.
- Щёлкните по ней правой кнопкой мыши и выберите «Снять пометку на удаление». Та же команда есть в командной панели списка и срабатывает по клавише
Delна уже помеченном объекте. - Подтвердите действие. Значок пропадёт — объект снова рабочий.
Если документ после снятия пометки нужно вернуть в учёт, проведите его заново кнопкой «Провести»: снятие пометки не восстанавливает движения автоматически, если документ был распроведён.
Снять пометку сразу с нескольких объектов можно прямо в форме удаления помеченных. Откройте Администрирование → Обслуживание → Удаление помеченных объектов, дождитесь списка кандидатов и снимите флажки с тех, что удалять не нужно, — они вернутся в работу, а процедура сотрёт только отмеченные.
Снятие пометки доступно, только если у объекта стоит именно пометка. Если объекта уже нет в списке — значит, удаление помеченных прошло, и этот способ не поможет. Переходите к восстановлению из копии.
Объект удалён через «Удаление помеченных»: что реально поможет
После завершения процедуры удаления данные физически покинули базу. В режиме Предприятия нет кнопки «вернуть обратно» — отмены этого шага платформа не предусматривает.
Реально работает только один путь — поднять данные из резервной копии. Всё остальное либо помогает понять, что произошло, либо не помогает вовсе:
- ✅ Резервная копия базы — единственный способ вернуть сами данные удалённого объекта.
- 🔎 Журнал регистрации — покажет, что именно и когда удалили, кто запускал процедуру. Сами данные он не хранит, но без него вы не поймёте, за какую дату поднимать копию.
- ❌ Повторный ручной ввод — подходит, если удалён один-два документа и реквизиты известны. Для массовой потери это не вариант.
Не загружайте резервную копию поверх рабочей базы, не прочитав раздел про восстановление ниже: так вы потеряете всё, что ввели после даты бэкапа.
Если удалён был объект, на который ссылались другие документы, ссылочный контроль обычно не дал бы его стереть. Но если контроль отключали или объект удаляли из кода, в базе появятся «битые» ссылки — в документах вместо контрагента или номенклатуры будет <Объект не найден>. Такие ссылки придётся переназначать вручную после восстановления данных.
Журнал регистрации: кто и когда удалил данные
Журнал регистрации — встроенный лог всех событий базы. Открывается в Администрирование → Обслуживание → Журнал регистрации.
Чтобы найти удаление, задайте отбор:
- Нажмите «Настроить отбор » (кнопка над таблицей журнала).
- Ограничьте период примерно той датой, когда объект пропал.
- В отборе по важности или событиям оставьте данные об изменении и удалении объектов.
- Пролистайте результат — удаление показывается как событие изменения данных с представлением объекта (его прежним наименованием или номером и датой документа).
Так вы увидите три вещи: что удалили (по представлению объекта), когда и под каким пользователем это сделали. Этого достаточно, чтобы выбрать нужную резервную копию — ту, что сделана до даты удаления.
Журнал хранит факт события и представление объекта, а не полную копию его реквизитов. Поднять из него сам документ со всеми строками нельзя — только узнать, что он был и когда исчез.
Важная оговорка: события изменения данных попадают в журнал, только если это включено в его настройках. Если в вашей базе регистрация изменений данных была отключена, удаление в журнале не отобразится — останется ориентироваться на резервные копии по датам.
Восстановление из резервной копии без потери текущих данных
Способ зависит от того, файловая у вас база или клиент-серверная. Общий принцип один: поднимайте копию в ОТДЕЛЬНУЮ базу, а не поверх рабочей, найдите там удалённый объект и перенесите его в рабочую базу. Иначе вы откатите всю работу, сделанную после даты копии.
Файловая база (один файл 1Cv8.1CD):
- Если делались выгрузки
.dt, добавьте в список новую пустую базу и в Конфигураторе выполнитеАдминистрирование → Загрузить информационную базу, указав файл копии. Загрузка стирает содержимое базы-приёмника целиком, поэтому и нужна отдельная база. - Если копия — это просто сохранённый файл
1Cv8.1CD, создайте новую папку, положите туда этот файл и подключите папку как ещё одну информационную базу в окне запуска. - Откройте базу-копию в Предприятии, найдите удалённый документ или элемент.
- Перенесите его в рабочую базу: перенаберите вручную либо выгрузите нужные объекты обработкой переноса данных и загрузите в рабочую базу.
Для переноса между двумя базами с одинаковой конфигурацией подходит типовая обработка выгрузки и загрузки данных в формате XML. Она выгружает выбранные объекты из базы-копии в файл, а затем загружает их в рабочую базу вместе со связанными справочниками. Это аккуратнее ручного ввода: сохраняются ссылки, номера и даты. Главное — выгружать только нужный объект и его зависимости, а не всю базу, иначе вы перезапишете свежие данные старыми.
Клиент-серверная база (SQL Server или PostgreSQL):
- Восстановление делает администратор СУБД из бэкапа базы данных — средствами SQL Server или PostgreSQL, а не из 1С.
- Копию поднимают под отдельным именем, затем подключают как новую информационную базу через консоль администрирования серверов.
- Дальше так же: находите объект в копии и переносите в рабочую базу.
Загрузка .dt и загрузка базы требуют монопольного доступа: все пользователи должны выйти. Поэтому восстановление планируют на время, когда в базе никто не работает, и предупреждают коллег заранее.
Если свежей копии нет вовсе — это и есть цена отсутствия резервного копирования. Вернуть данные будет неоткуда, останется только повторный ввод по первичным документам.
Внешние обработки: когда помогают, а когда бесполезны
Вокруг темы много обработок с названиями вроде «восстановление удалённых объектов». Трезвый взгляд: воскресить физически удалённый объект из той же базы они не могут — данных в базе уже нет, брать их неоткуда.
Где внешние обработки действительно полезны:
- Массовое снятие пометок — если кто-то пометил на удаление сотни объектов, обработка снимет пометки пачкой, не щёлкая каждый вручную.
- Поиск и замена битых ссылок — найдут документы со ссылками
<Объект не найден>и помогут переназначить их на восстановленный объект. - Перенос объектов между базами — выгрузят найденный в копии объект и загрузят его в рабочую базу вместе со связанными данными.
Чего обработки не делают — не достают данные «из ниоткуда» после удаления помеченных. Если вам обещают именно это без резервной копии, обещание пустое.
Внешние обработки запускайте только из проверенного источника и сначала на копии базы. Чужой код с полными правами может изменить данные непредсказуемо.
Как защититься от случайного удаления
Самое дешёвое восстановление — то, которое не понадобилось. Три настройки закрывают почти все случайные потери.
Разграничьте права. Рядовым пользователям оставьте право помечать на удаление, но заберите право на саму процедуру удаления помеченных. Тогда ошибочная пометка легко снимается, а физически стереть данные сможет только администратор. Настраивается ролями в Конфигураторе или через профили доступа в разделе настроек прав пользователей.
Настройте автоматическое резервное копирование
. Для файловой базы в разделе Администрирование → Обслуживание есть настройка регулярных резервных копий по расписанию. Для клиент-серверной базы бэкап настраивает администратор средствами СУБД. Храните копии не на том же диске, где база.
Назначьте ответственного за удаление помеченных. Процедуру удаления стоит запускать не спонтанно, а по регламенту — раз в период, одним человеком, после проверки списка кандидатов.
Какой способ выбрать: короткое сравнение
| Ситуация | Что делать | Данные вернутся? |
|---|---|---|
| Объект помечен на удаление | Снять пометку правой кнопкой | Да, полностью |
| Удалён через «Удаление помеченных», есть свежий бэкап | Поднять копию в отдельную базу, перенести объект | Да, на дату копии |
| Удалён, бэкапа нет | Повторный ручной ввод по первичке | Частично, вручную |
| Нужно понять, что и когда удалили | Журнал регистрации | Только сведения о событии |
| Массовая ошибочная пометка | Снять пометки обработкой | Да, полностью |
Логика выбора простая: сначала проверяете, помечен объект или удалён. Если помечен — снимаете пометку. Если удалён — всё упирается в резервную копию, а журнал регистрации лишь помогает выбрать правильную копию по дате.