Отмена ошибочного действия в 1С 8.3: от Ctrl+Z до резервной копии
Содержание
Кнопки «шаг назад» на всю программу в 1С нет. Вернуть действие назад можно только в пределах того, что ещё не записано: в поле ввода работает Ctrl+Z, а незаписанную форму достаточно закрыть и ответить «Нет» на вопрос о сохранении. Всё, что уже записано в базу, откатывают другими средствами: отменой проведения, снятием пометки удаления, историей изменений объекта или резервной копией.
Типичная ситуация: бухгалтер перепровёл документ с новыми суммами, нажал «Записать и закрыть» и только потом понял, что поменял не тот счёт. Здесь Ctrl+Z уже не поможет. Какой способ сработает, зависит от двух вещей: записано ли изменение и включено ли в базе хранение версий объектов. Механизм общий для платформы 8.3, поэтому порядок одинаков в БП 3.0, ЗУП 3.1 и УТ 11.
Как в 1С вернуть действие назад, пока данные не записаны
Пока вы не нажали «Записать» или «Провести», все правки живут только в открытой форме. Это самый дешёвый момент для отмены.
Горячие клавиши в поле ввода
- ⌨️
Ctrl+Z— отменить последнее изменение текста в поле, которое сейчас редактируется. - ⌨️
Escв ячейке табличной части — отменить ввод значения, пока строка не завершена (до нажатияEnterили перехода в другую ячейку). - ⌨️
Ctrl+ZиCtrl+Yв конфигураторе — отмена и повтор правок в модуле или макете.
Ctrl+Z работает на уровне поля. Удалённую строку табличной части, перевыбранного контрагента или пересчитанные по кнопке цены так не вернёшь.
Закрыть форму без записи
Если в документе наделано лишнего, проще отказаться от всех правок сразу:
- Закройте форму крестиком или клавишей
Esc. - На вопрос «Данные были изменены. Сохранить изменения?» нажмите «Нет».
- Откройте документ заново: он будет в том виде, в каком был записан в последний раз.
Есть и вариант без закрытия формы: команда «Перечитать» в меню «Ещё». Она подтягивает из базы последнюю записанную версию объекта и сбрасывает незаписанные правки.
Перед массовым пересчётом табличной части (подбор, заполнение по основанию, изменение цен) запишите документ. Тогда «закрыть без записи» вернёт вас ровно к состоянию до пересчёта.
Отмена проведения и пометки удаления
Записанный документ можно не удалять, а вывести из учёта. Это обратимые действия, и с них стоит начинать.
Отменить проведение документа
- Откройте журнал документов нужного вида (например, «Реализация (акты, накладные, УПД)»).
- Выделите документ.
- В меню «Ещё» выберите «Отменить проведение». В форме самого документа эта же команда есть в меню «Ещё».
Документ останется в списке без зелёной галочки, его движения по регистрам и проводки исчезнут. Повторное проведение восстановит их уже по текущему содержимому документа.
Если команда недоступна или программа сообщает о дате запрета изменения, период уже закрыт. Тогда документ прошлого периода не трогают, а исправление оформляют текущей датой: корректировочным документом или ручной операцией со сторнирующими записями. Так отчётность, уже сданная за закрытый период, не разойдётся с базой.
Снять пометку удаления
Клавиша Del в списке не удаляет объект сразу, а ставит пометку удаления. Повторное нажатие Del на помеченном объекте предлагает снять пометку. Документ вернётся в работу, но проведение для него придётся выполнить заново: пометка удаления снимает проведение.
После обработки «Удаление помеченных объектов» помеченные документы и элементы справочников стираются физически. Вернуть их можно только из резервной копии. В БП 3.0 обработка находится в Администрирование → Обслуживание.
Отменить закрытие месяца
Регламентные операции откатываются из самого помощника: Операции → Закрытие месяца, выбрать месяц и нажать «Отменить закрытие месяца». Документы закрытия будут распроведены, и месяц можно закрыть заново после исправлений.
Журнал регистрации: кто и что изменил
Журнал регистрации отвечает на вопрос «что произошло», но сам по себе данные не возвращает. В нём хранятся события: пользователь, компьютер, время, объект и тип операции (запись, проведение, удаление).
Где открыть:
- 📂 в БП 3.0, ЗУП 3.1 и УТ 11 —
Администрирование → Обслуживание → Журнал регистрации; - 📂 в конфигураторе —
Администрирование → Журнал регистрации.
Как найти нужное событие:
- Нажмите «Установить отбор».
- Укажите интервал (например, сегодняшний день с 14:00 до 15:00), пользователя и событие «Данные. Изменение» или «Данные. Удаление».
- Двойной щелчок по строке открывает подробности: ссылку на объект и, если включено, его представление.
По журналу вы узнаете номер и дату документа, который удалили. Сами реквизиты придётся восстанавливать по истории версий или из копии.
Журнал регистрации пишется не всегда в полном объёме. Если в настройках конфигуратора уровень регистрации снижен до «Ошибки» или «Не регистрировать», изменения данных в журнал не попадут.
История изменений объектов: возврат к прошлой версии
Это главный инструмент, когда нужно вернуть действие назад для конкретного документа или карточки. В типовых конфигурациях на базе БСП он называется «История изменений» (технически — версионирование объектов).
Как включить хранение версий
- Откройте
Администрирование → Общие настройки. - Найдите группу «История изменений» и установите флажок хранения истории.
- По ссылке настроек выберите, для каких документов и справочников хранить версии и как долго.
Версии начинают сохраняться только после включения. Изменения, сделанные до этого, не восстановить через историю.
Как откатить документ к прошлой версии
- Откройте документ.
- В меню «Ещё» выберите «История изменений».
- Выделите две версии и сравните: программа подсветит изменившиеся реквизиты и строки табличных частей.
- Выберите нужную версию и выполните переход на неё (команда «Перейти на версию»).
- Проверьте документ и проведите его заново, если он был проведён.
| Что изменилось | Вернёт ли история изменений |
|---|---|
| Реквизиты шапки и табличные части | ✅ да |
| Проведённый документ отредактирован и перепроведён | ✅ да, после перехода нужно провести |
| Объект удалён обработкой удаления помеченных | ❌ нет, нужна резервная копия |
| Изменения до включения истории | ❌ нет |
Хранение версий увеличивает размер базы. Включайте его для ключевых документов (реализация, поступление, банковские выписки, начисление зарплаты) и задайте срок хранения, а не держите историю всех объектов бессрочно.
Восстановление из резервной копии
Когда объект удалён физически или испорчены сотни документов обработкой, остаётся резервная копия. Порядок зависит от варианта базы.
Файловая база
- 💾 Копия папки базы целиком: файл
1Cv8.1CDи служебные файлы рядом с ним. - 💾 Выгрузка в файл
.dt:Конфигуратор → Администрирование → Выгрузить информационную базу.
Загрузка .dt (Администрирование → Загрузить информационную базу) полностью заменяет данные в базе. Работа всех пользователей, сделанная после копии, пропадёт.
Клиент-серверная база
Здесь копию делают средствами СУБД (MS SQL Server или PostgreSQL). Если в MS SQL у базы полная модель восстановления и настроены копии журнала транзакций, базу можно восстановить на конкретный момент времени, например на 14:05, за минуту до ошибки.
Не затирайте рабочую базу
Восстанавливать копию поверх рабочей базы ради одного документа нельзя: потеряются операции остальных пользователей. Правильный порядок:
- Разверните копию в отдельную новую информационную базу.
- Найдите в ней нужные документы или элементы справочников.
- Перенесите их в рабочую базу: вручную по образцу или выгрузкой и загрузкой в формате XML (раздел ниже).
- Проверьте ссылки: перенесённый документ должен ссылаться на тех же контрагентов и номенклатуру.
Перед загрузкой копии или переносом данных сделайте свежую копию текущей рабочей базы. Если перенос пойдёт не так, будет куда вернуться.
Откат транзакций в клиент-серверном варианте
Частый вопрос: нельзя ли «откатить транзакцию» на сервере 1С, как в СУБД. Ответ зависит от того, завершена ли она.
- 🔄 Незавершённая транзакция. Запись документа, проведение, работа обработки идут внутри транзакции. Если операция прервалась ошибкой или обрывом связи, платформа сама отменит её целиком: в базе не останется «половины» проводок.
- 🔒 Завершённая транзакция. Если документ записан и проведён, транзакция зафиксирована. Ни у пользователя, ни в консоли кластера нет команды, которая отменила бы её задним числом.
Что можно сделать на уровне сервера:
| Ситуация | Что поможет | Риск |
|---|---|---|
| Долгая обработка испортит данные, ещё идёт | Завершить сеанс в консоли кластера: транзакция откатится | Пользователь потеряет несохранённую работу |
| Ошибка уже записана | История изменений или перенос из копии | Ручная проверка связей |
| Испорчена вся база, есть журнал транзакций MS SQL | Восстановление на момент времени | Потеря работы всех после этого момента |
Завершать сеанс в консоли администрирования кластера стоит только после предупреждения пользователя: оборвётся его работа, а незаписанные данные пропадут. Принудительно завершённая обработка откатит только свою текущую транзакцию. Если она писала данные порциями, уже записанные порции останутся.
Обработки для массового отката
Когда ошибка затронула много объектов, вручную по одному их не вернуть. Пригодятся штатные и внешние обработки.
- 🛠 Групповое изменение реквизитов (
Администрирование → Обслуживание) — вернуть прежнее значение реквизита сразу у списка документов или элементов справочника: например, обратно поменять статью затрат у 200 документов. - 🛠 Групповое перепроведение документов — после исправлений перепровести документы за период, чтобы проводки и регистры совпали с содержимым документов.
- 🛠 Выгрузка и загрузка данных XML — внешняя обработка от фирмы 1С из комплекта универсальных обработок. Выгружает выбранные документы из развёрнутой копии и загружает их в рабочую базу с теми же ссылками.
Перед загрузкой XML в рабочую базу проверьте результат на её копии. Обработка перезаписывает объекты с совпадающими ссылками.
Как обойтись без отката: профилактика
Большинство откатов дешевле предотвратить, чем делать. Достаточно нескольких настроек.
- 📅 Даты запрета изменения. Закрытые периоды защищают от случайной правки старых документов. Настройка находится в разделе
Администрирование, в БП 3.0 и ЗУП 3.1 — в группе «Пользователи и права» или «Проведение документов», в зависимости от релиза. - 🕑 История изменений для ключевых документов включена заранее, до ошибки.
- 💾 Регулярные копии. Для файловой базы — ежедневная выгрузка или копирование папки по расписанию, для клиент-серверной — план обслуживания СУБД. Хранить копии стоит не только на том же диске, что и база.
- 👥 Права без лишнего. Обработка удаления помеченных объектов и групповое изменение реквизитов нужны администратору, а не каждому бухгалтеру.
- 🧪 Проверка на копии. Внешние обработки, загрузку данных и обновление конфигурации сначала прогоняйте на копии базы.