Администрирование · 12 мин
Что значит откатить в 1С и как это сделать правильно
Что значит откатить в 1С: отмена проведения документа, откат обновления конфигурации и восстановление базы из резервной копии. Пошаговые инструкции и риски.
Фраза «откатить в 1С» используется в нескольких разных ситуациях, и понимать, о каком именно откате идёт речь, важно до начала любых действий. В одних случаях под откатом понимают отмену проведения документа, в других — возврат к предыдущей версии конфигурации после неудачного обновления, в третьих — полное восстановление информационной базы из резервной копии. Каждый из этих сценариев имеет свои механизмы, риски и ограничения.
Общий смысл термина: вернуть систему или отдельные данные в состояние, которое было до некоторого изменения. При этом в 1С нет универсальной кнопки «откатить всё» — платформа не хранит полную историю изменений, поэтому в большинстве случаев откат означает либо штатную отмену конкретной операции, либо восстановление из заранее созданной копии.
Ниже разобраны основные сценарии: что конкретно можно откатить, какие инструменты для этого предусмотрены, когда откат невозможен без потерь данных и как подготовиться, чтобы откат вообще был доступен.
Что обычно имеют в виду под откатом в 1С
Термин «откат» пришёл из практики администрирования и разработки, где он означает возврат к предыдущей рабочей версии. В контексте 1С выделяют четыре типовые ситуации.
Первая ситуация — откат документа: пользователь провёл документ с ошибкой и хочет «откатить» его, то есть отменить проведение и удалить сформированные движения по регистрам. Вторая — откат обновления конфигурации, когда после установки нового релиза обнаружились ошибки и нужно вернуться к прежней версии. Третья — откат всей базы после массовой порчи данных, например после некорректной обработки или обмена. Четвёртая — откат изменений в отдельных справочниках или записях.
Важно различать эти сценарии, потому что инструменты и последствия у них принципиально разные: отмена проведения — штатная и безопасная операция, а восстановление базы из копии означает потерю всех данных, введённых после её создания.
Найдите документ и проверьте, нужно ли исправить его или распровести
Уточните, есть ли копия базы, сделанная до обновления
Определите дату последней рабочей копии и объём данных, которые будут потеряны
Откат документа: отмена проведения
Самый частый и безопасный сценарий — откат конкретного документа. Когда документ проводится, он формирует движения по регистрам: проводки в бухгалтерском учёте, записи по остаткам склада, взаиморасчётам и так далее. «Откатить» такой документ означает отменить его проведение — платформа удалит все сформированные движения, и документ перестанет влиять на учёт.
Для этого откройте документ или найдите его в журнале, затем используйте команду «Отменить проведение» (в управляемых формах она обычно доступна в меню «Ещё», в обычных — по кнопке на панели). После отмены проведения документ остаётся в базе как черновик: его можно исправить и провести заново либо пометить на удаление.
Учтите ограничения. Если документ находится в закрытом периоде, для отмены проведения потребуется снять запрет изменения данных (дату запрета редактирования), а это влияет на уже сданную отчётность. Если по документу существуют связанные документы — например, на основании реализации введён возврат или счёт-фактура, — система может потребовать сначала разобраться с зависимыми объектами. В типовых конфигурациях также может работать механизм последовательностей: отмена проведения «задним числом» потребует восстановления последовательности, чтобы корректно пересчитать итоги.
- 1Найдите документ в журнале и проверьте связанные с ним документы
- 2Убедитесь, что период документа не закрыт датой запрета редактирования
- 3Выполните команду «Отменить проведение»
- 4Исправьте данные и проведите документ заново либо пометьте его на удаление
- 5Проверьте отчёты по затронутым регистрам: остатки и обороты должны измениться ожидаемым образом
Откат обновления конфигурации
Под откатом обновления понимают возврат к предыдущей версии конфигурации после того, как новый релиз вызвал ошибки: не открываются формы, обработчики обновления завершились с ошибками, перестали работать нужные доработки. Здесь важно понимать: штатной кнопки «вернуть прошлый релиз» в конфигураторе нет, и ситуация зависит от того, успели ли выполниться процедуры обновления данных.
Если обновление только загружено, но база ещё не запускалась в режиме предприятия и обработчики обновления не выполнялись, иногда достаточно вернуть конфигурацию базы данных из сохранённого файла конфигурации (cf) или из копии. Но если обновление данных уже выполнено — структура таблиц изменена, данные преобразованы, — корректный откат возможен только одним способом: восстановлением базы из резервной копии, снятой до обновления.
Практический порядок безопасного обновления такой: снять выгрузку базы (dt) или SQL-копию, обновить конфигурацию, проверить работу на тестовом запуске, и только при успехе разрешить пользователям работу. Если после обновления обнаружились критические проблемы, рабочую базу заменяют копией, а проблемный релиз дорабатывают и накатывают повторно.
Откат всей базы через резервную копию
Полный откат базы — это восстановление из резервной копии: файла выгрузки .dt, созданного через конфигуратор, или копии средствами СУБД для клиент-серверных баз. Такой откат возвращает базу целиком к моменту создания копии: все документы, справочники и настройки, введённые позже, будут потеряны.
Перед восстановлением обязательно зафиксируйте текущее состояние: выгрузите dt-файл даже из «сломанной» базы. Это позволит при необходимости вернуться к сегодняшнему состоянию или вытащить из него данные, введённые после даты копии. Для файловой базы восстановление выполняется через конфигуратор: «Администрирование» — «Загрузить информационную базу». Для клиент-серверной — средствами СУБД (например, восстановление backup в MS SQL Server или PostgreSQL) с последующей регистрацией базы в кластере.
Оцените цену отката заранее. Если копия сделана вчера вечером, а сегодня пользователи ввели сотни документов, полный откат означает повторный ввод этих данных. Иногда разумнее не откатывать базу целиком, а исправить конкретную проблему точечно: отменить ошибочные документы, запустить корректировочную обработку или перенести недостающие данные из копии с помощью обработок выгрузки-загрузки.
Сравнение вариантов отката
Подходит для точечной ошибки в одном документе; не работает при массовой порче данных
Полный откат файловой базы; все данные после даты копии теряются
Полный откат клиент-серверной базы; требует доступа к серверу и навыков администрирования СУБД
Подходит, когда откат всей базы обернётся большими потерями; требует аккуратной разработки и тестирования
Частые ошибки при откате
Главная ошибка — начинать откат без фиксации текущего состояния. Даже если база «сломана», её текущее состояние может содержать уникальные данные, которые невозможно восстановить. Второе типичное заблуждение — уверенность, что платформа хранит историю изменений и позволяет «отменить последние действия» как в текстовом редакторе. Такого механизма в 1С нет: история изменений объектов либо отсутствует, либо ведётся только версионированием отдельных объектов, если оно специально включено в конфигурации.
Ещё одна ошибка — откат базы без уведомления пользователей. Если люди продолжают работать во время восстановления, их данные будут потеряны, а в клиент-серверном варианте активные сеансы могут помешать самому восстановлению. Наконец, после отката обновления часто забывают, что у пользователей может остаться кэш метаданных новой версии — при странных ошибках после возврата к старому релизу имеет смысл очистить кэш клиентских приложений.
Как проверить результат отката
После любого отката нужно убедиться, что цель достигнута и побочных эффектов нет. Для отмены проведения документа проверка проста: откройте отчёт по соответствующему регистру (оборотно-сальдовую ведомость, остатки склада, взаиморасчёты) и убедитесь, что влияние документа исчезло, а итоги соответствуют ожиданиям.
После восстановления базы из копии проверьте: база открывается без ошибок, версия конфигурации соответствует ожидаемой, ключевые отчёты формируются, пользователи могут войти под своими учётными записями. Полезно сверить контрольные цифры — например, сальдо по основным счетам или остатки по складам — с данными, которые были зафиксированы на момент создания копии.
Как проверить результат
Соответствует версии, которая была до обновления
Осталась новая версия или база не открывается
Отчёты по регистрам не содержат записей документа
Обороты документа по-прежнему видны в отчётах
Состояние на дату копии, отчёты сходятся с архивными
Отсутствуют ожидаемые документы или справочники на дату копии
Профилактика: как сделать откат возможным
Возможность отката целиком определяется дисциплиной резервного копирования. Для файловых баз настройте регулярную выгрузку dt или копирование файла базы; для клиент-серверных — регламентные backup-средства СУБД с проверкой восстанавливаемости копий. Копия, которую ни разу не пробовали восстановить, нельзя считать надёжной.
Перед любым опасным действием — обновлением, запуском массовой обработки, обменом данными, групповым перепроведением — делайте отдельную копию, даже если регламентные копии уже существуют. Это займёт минуты, но превратит потенциальную катастрофу в управляемую ситуацию. Для конфигураций с доработками дополнительно храните выгрузки конфигурации (cf) по версиям, чтобы можно было сравнить и вернуть конкретный релиз.
Перед массовыми операциями удобно фиксировать контрольные суммы: сальдо по ключевым счетам, количество документов за период, остатки по складам. После отката или восстановления эти цифры позволяют за минуты убедиться, что база вернулась в ожидаемое состояние.
Что важно запомнить
Откат в 1С — это не одна кнопка, а набор сценариев: отмена проведения документа, возврат к прежней конфигурации или восстановление базы из копии. Полный откат возможен только при наличии резервной копии, поэтому копия перед любыми рискованными действиями — обязательное условие.
Частые вопросы
Можно ли откатить последние действия в 1С, как Ctrl+Z?
Нет, в платформе 1С нет функции отмены последних действий по базе. Отменить можно только конкретные операции штатными средствами: отменить проведение документа, снять пометку удаления, отредактировать запись. Для возврата к прошлому состоянию всей базы нужна резервная копия.
Что будет, если отменить проведение документа в закрытом периоде?
Сначала придётся снять дату запрета редактирования, что обычно доступно только администратору или главному бухгалтеру. Само по себе изменение прошлого периода не запрещено, но если по этому периоду сдана отчётность, потребуется её корректировка. Перед такой операцией зафиксируйте текущие показатели отчётности.
Обновили конфигурацию, копии нет — можно ли откатиться?
Если обработчики обновления данных уже выполнились, штатного способа вернуть прежнюю версию без потерь нет. Варианты: искать автоматические копии средствами СУБД или файловой системы, восстанавливать из архивов хостинга (для облачных баз) либо исправлять проблемы в текущей версии. Это главный аргумент в пользу обязательной копии перед обновлением.
Чем отличается выгрузка dt от копии средствами СУБД?
Выгрузка dt создаётся конфигуратором и универсальна: её можно загрузить на другую СУБД или платформу. Копия средствами СУБД (backup) обычно быстрее создаётся и восстанавливается на больших базах, но привязана к конкретной СУБД. Для надёжности часто используют оба способа параллельно.
Как откатить только часть данных, а не всю базу?
Точечный откат делается вручную: отмена проведения конкретных документов, исправление записей справочников, перенос отдельных данных из копии обработками выгрузки-загрузки (например, через универсальный обмен данными в формате XML). Это трудоёмко, но позволяет сохранить данные, введённые после даты резервной копии.
Нужно ли отключать пользователей при восстановлении базы?
Да. Для файловой базы загрузка dt невозможна при активных соединениях. Для клиент-серверной базы перед восстановлением из копии СУБД следует завершить сеансы и заблокировать регламентные задания, иначе восстановление может завершиться ошибкой или пользователи потеряют несохранённую работу.