Откат изменений в 1С: от одного документа до всей базы
Содержание
Откатить изменения в 1С можно по-разному, и способ зависит от масштаба. Поменяли один документ или справочник — поможет история изменений объекта или отмена проведения. Испортили данные массовой обработкой или неудачным обновлением — восстанавливают всю базу из резервной копии. Нужно вернуть часть данных, не трогая остальные, — поднимают копию рядом и переносят только нужное.
Главное правило перед любым откатом: сначала сделайте резервную копию текущего состояния. Даже испорченная база может содержать свежие документы, которых нет в старом бэкапе. Без копии «до» вы рискуете потерять и то, и другое.
Ниже — от самого безопасного точечного отката к полному восстановлению базы.
Что именно изменилось: смотрим журнал регистрации
Прежде чем что-то откатывать, нужно понять, что и когда пошло не так. Это делает журнал регистрации: Администрирование → Обслуживание → Журнал регистрации.
Журнал сам ничего не возвращает — он фиксирует события: кто вошёл, какой объект изменил, когда провёл или удалил документ. По нему вы находите точку, к которой нужно откатиться.
Что полезно сделать в журнале:
- 📅 Отобрать события по дате и времени — поймать момент, после которого данные стали неверными.
- 👤 Отфильтровать по пользователю — если изменения внёс конкретный сотрудник.
- 🔎 Отобрать по типу события (изменение данных, удаление) и по метаданным — например, только документы «Реализация».
Запишите дату и время последнего «хорошего» состояния. Эта метка пригодится и для выбора резервной копии, и для поиска версий объектов.
Если ведение истории изменений в базе не включено, журнал покажет только факт правки, но не прежние значения реквизитов. Прежние значения хранит другой механизм — история данных.
Откат одного объекта через историю изменений
История изменений (версионирование объектов) хранит прежние версии документов и справочников и позволяет вернуть любую из них. Это и есть «откат последних изменений» для отдельного объекта — без восстановления всей базы.
Механизм включается в разделе Администрирование в настройках ведения истории изменений. Там же выбирают, какие типы объектов версионировать: хранить историю по всем документам затратно, обычно отмечают ключевые.
Чтобы вернуть прежнюю версию:
- Откройте нужный документ или элемент справочника.
- В меню
Еще(командная панель формы) выберите пункт истории изменений объекта. - В списке версий найдите нужную по дате и автору.
- Сравните версии между собой, чтобы увидеть, какие реквизиты поменялись.
- Выберите команду перехода на выбранную версию — объект вернётся к сохранённому состоянию.
Версии хранятся только с момента включения механизма. Если историю включили вчера, откатить изменение недельной давности не выйдет — здесь помогут только резервные копии.
Этот способ удобен, когда известно, какой именно объект испорчен. Для массовых изменений он не подходит: перебирать сотни документов вручную бессмысленно.
Срок хранения версий настраивается там же. Чем дольше хранится история и чем больше объектов версионируется, тем быстрее растёт база, поэтому держать историю по всем справочникам без разбора не стоит — отметьте документы и данные, цена ошибки в которых высока.
Отмена проведения и возврат ошибочных документов
Распространённый случай — документ провели с неверными суммами или не в том периоде, и движения по регистрам ушли не туда. Полноценной «отмены транзакции» для пользователя в 1С нет: проведённая запись уже зафиксирована в базе. Но результат проведения откатывается штатно.
Варианты по ситуации:
- Отменить проведение. Откройте документ и нажмите кнопку отмены проведения (значок в командной панели) либо тот же пункт в меню
Еще. Движения по регистрам удалятся, документ останется в базе как непроведённый — можно исправить и провести заново. - Пометить на удаление. Если документ создан ошибочно целиком, пометьте его на удаление, а затем удалите помеченные объекты через
Администрирование → Обслуживание → Удаление помеченных объектов. Программа проверит, не ссылаются ли на документ другие данные. - Исправить и перепровести. Чаще всего документ не удаляют, а правят реквизиты и проводят снова — движения пересчитаются автоматически.
Снятие проведения в закрытом периоде меняет уже сданную отчётность. Сначала проверьте, не закрыт ли период и не повлияет ли правка на декларации, которые вы уже отправили.
Если движений много и затронуты несколько документов, удобнее не отменять каждый вручную, а воспользоваться групповым перепроведением за период: Операции → Групповое перепроведение документов (или аналогичный сервис закрытия периода).
Восстановление всей базы из резервной копии
Это самый надёжный откат: база целиком возвращается к состоянию на момент копии. Подходит, когда масштаб ущерба велик — неудачное обновление, массовая порча данных, последствия вируса.
Для файловой базы встроенное средство: Администрирование → Обслуживание → Резервное копирование и восстановление. Оттуда же настраивается расписание автоматических копий.
Второй путь, универсальный для файловых и клиент-серверных баз, — через конфигуратор:
- Закройте все сеансы пользователей: загрузка требует монопольного доступа к базе.
- Запустите базу в режиме
Конфигуратор. - Для создания точки отката:
Администрирование → Выгрузить информационную базу— получите файл.dt. - Для восстановления:
Администрирование → Загрузить информационную базуи укажите нужный.dt.
Загрузка .dt полностью затирает текущую базу. Все данные, введённые после даты этой копии, будут потеряны. Поэтому первым шагом выгрузите текущее состояние в отдельный файл — к нему можно будет вернуться, если в старой копии не окажется нужных документов.
Для клиент-серверных баз на PostgreSQL или MS SQL восстановление чаще делают средствами СУБД — из её бэкапа, который снимается по расписанию отдельно от выгрузки .dt. Остановка службы сервера 1С или рабочего процесса оборвёт сеансы всех пользователей, поэтому такие работы планируют на нерабочее время и предупреждают сотрудников заранее.
После загрузки копии запустите проверку целостности: в конфигураторе Администрирование → Тестирование и исправление информационной базы. Она выявит и устранит логические нарушения, которые могли остаться после аварийного завершения или сбоя. Для клиент-серверной базы проверку запускают на технологической копии, а не на рабочей.
Выборочный возврат данных через вторую копию
Полное восстановление не всегда уместно: откатив всю базу на вчера, вы потеряете все сегодняшние документы. Когда нужно вернуть только часть данных — например, справочник номенклатуры, который испортил обмен, — применяют выборочный перенос.
Логика такая:
- Разверните резервную копию как отдельную информационную базу (не поверх рабочей).
- Откройте её и найдите корректные версии нужных объектов.
- Перенесите только их в рабочую базу — вручную или выгрузкой/загрузкой.
Для переноса подходят:
- 🔁 Обработка выгрузки и загрузки данных в формате XML — позволяет отметить конкретные объекты и перенести их между двумя базами одной конфигурации.
- ✍️ Ручной ввод — если объектов единицы, иногда проще перепечатать данные из старой базы, сверяясь с ней на втором мониторе.
Так же поступают, когда нужно «подсмотреть», как было до сбоя: старая копия открыта рядом, и вы сверяете суммы и реквизиты, не трогая рабочую базу.
Этот способ требует аккуратности: перенос объекта тянет за собой связанные ссылки, поэтому переносите данные вместе с тем, на что они ссылаются.
Типичный пример. Ночной обмен с другой базой перезаписал цены в справочнике номенклатуры неверными значениями, но все документы за день остались корректными. Разворачивать вчерашнюю копию поверх рабочей нельзя — потеряются сегодняшние накладные. Вместо этого вы поднимаете копию рядом, выгружаете из неё только нужные элементы справочника и загружаете их в рабочую базу. Остальные данные не затрагиваются.
Если же обмен испортил и справочники, и часть документов, проще не разбирать всё по одному, а восстановить всю базу и повторно загрузить обмен с исправленными настройками.
Контрольная точка перед рискованной операцией
Отдельного механизма «снимков» (snapshot) внутри 1С нет. Роль контрольной точки играет копия, снятая непосредственно перед опасным действием — массовой обработкой, групповым изменением реквизитов, свёрткой базы или обновлением.
Как сделать точку отката за минуту:
- Файловая база. Закройте 1С и скопируйте файл
1Cv8.1CDиз каталога базы. Это и есть полный снимок — вернуть можно простой заменой файла. - Через конфигуратор. Выгрузите
.dt(см. раздел выше) — файл компактнее и не зависит от версии СУБД. - Клиент-серверная база
. Снимок делают средствами СУБД: для PostgreSQL и MS SQL это штатный бэкап базы
данных, он снимается быстрее выгрузки
.dtна больших объёмах.
Возьмите за правило: перед любой групповой операцией над данными — сначала копия, потом действие. Откат тогда занимает минуту вместо вечера разбирательств.
Копию, снятую перед операцией, не удаляйте сразу: убедитесь, что результат операции верен за несколько дней работы, и только потом очищайте старые точки.
Ручная корректировка: штатные средства вместо прямых запросов
Иногда нужно поправить данные точечно — не откатывая весь документ. Здесь важно предупреждение: не вносите изменения прямыми запросами в таблицы СУБД. Платформа хранит данные в своей структуре с внутренними связями и итогами; правка в обход 1С рушит целостность базы и не поддерживается. Прямое чтение таблиц для анализа допустимо внешними инструментами, но запись — только штатными средствами.
Что использовать для корректировки:
- Операция, введённая вручную — для правки бухгалтерских проводок:
Операции → Операции, введённые вручную. Документ формирует нужные движения по счетам. - Групповое изменение реквизитов — для массовой правки одного поля у множества объектов. Находится в разделе
Администрирование → Обслуживание. Перед запуском обязательно сделайте копию: операция необратима штатными средствами. - Специализированные помощники — операции корректировки остатков, долгов, незакрытых авансов в разделе работы с данными; они корректнее ручных проводок, потому что меняют все связанные регистры.
Исправления в бухгалтерском учёте подчиняются ПБУ 22/2010: ошибку прошлых периодов исправляют по правилам стандарта, а не задним числом удалением документа. Техническая правка в 1С и бухгалтерское оформление исправления — это разные вещи, держите их вместе.
Правка данных в закрытом периоде меняет сданную отчётность. Сверьтесь с регламентом и при необходимости оформите корректировочную отчётность.
Как не доводить до отката
Большинство авралов с восстановлением возникает там, где не было копий и ограничений. Несколько привычек снимают проблему заранее:
- 🗓️ Настройте автоматическое резервное копирование по расписанию и проверяйте, что копии реально создаются.
- 🔒 Закройте период после сдачи отчётности — это защитит прошлые данные от случайной правки.
- 🧪 Обновления и массовые обработки сначала проверяйте на копии базы, а не на рабочей.
- 👥 Разграничьте права: не всем нужен доступ к удалению документов и групповым операциям.
- ✅ Включите историю изменений по ключевым объектам — тогда точечный откат не потребует полного восстановления.
Можно ли отменить обновление конфигурации и вернуть прежнюю версию?
.dt или сняли копию файла базы. Загрузите эту копию через конфигуратор — вернётся и структура, и данные. Без копии откат обновления штатно невозможен.Поможет ли журнал регистрации вернуть удалённый документ?
Чем отличается отмена проведения от удаления документа?
Как откатить изменения, если копий не было вовсе?
Безопасно ли править данные напрямую в SQL-базе?
Источники
- ПБУ 22/2010 «Исправление ошибок в бухгалтерском учёте и отчётности»
- Федеральный закон от 06.12.2011 № 402-ФЗ «О бухгалтерском учёте»