Отмена проведения, движений и правок в базе 1С
Содержание
Чтобы откатить проведение документа, откройте его и нажмите кнопку «Отменить проведение» на верхней панели — движения по регистрам пропадут сразу, а сам документ останется в базе непроведённым. Если документов много, их отменяют пачкой прямо из списка, через Ещё → Отменить проведение.
Но «отменить изменения» для разных людей означает разное: кто-то хочет убрать проводки, кто-то — стереть следы в журнале событий, а кто-то откатить правку в Конфигураторе. Ниже разберём все эти случаи по отдельности, от самого безопасного действия к самому тяжёлому — восстановлению из копии.
Сначала определитесь, что именно нужно вернуть назад.
Снятие проведения одного документа
Самый частый случай — провели документ не глядя, он сформировал лишние движения. Проведение отменяется в два клика.
- Откройте нужный документ двойным щелчком из списка.
- На верхней командной панели найдите кнопку «Отменить проведение» (рядом с кнопкой «Провести и закрыть»). Если её не видно, она прячется под
Ещё. - Нажмите — статус документа сменится с проведённого на непроведённый.
После этого все записи, которые документ делал в регистрах (бухгалтерии, накопления, сведений), удаляются. Документ при этом не исчезает: он остаётся в журнале как черновик и ждёт либо повторного проведения, либо удаления.
Стоит различать три близких действия, которые часто путают:
| Действие | Что происходит с движениями | Что происходит с документом |
|---|---|---|
| Отменить проведение | Удаляются | Остаётся в базе (непроведённый) |
| Пометить на удаление | Остаются до обработки удаления | Помечается на удаление |
| Удалить помеченные объекты | Удаляются вместе с документом | Удаляется из базы |
Если нужно просто убрать влияние документа на учёт — отменяйте проведение. Пометка на удаление и последующая обработка Операции → Удаление помеченных объектов — это уже про полное избавление от документа, и 1С перед удалением проверит, не ссылается ли на него что-то ещё.
Отмена проведения ничего не удаляет из самого документа — ни табличные части, ни реквизиты. Вы просто убираете его влияние на учёт. Это обратимое действие: провести заново можно в любой момент.
Отдельная ситуация — закрытый период. Если месяц уже закрыт и защищён от изменений (Операции → Закрытие периода или настройка даты запрета редактирования), 1С не даст снять проведение, пока дату запрета не сдвинут. Это защита от случайной порчи сданной отчётности, и обходить её без согласования с главбухом не стоит.
Групповая отмена проведения из списка
Когда задним числом провели десяток накладных или вся пачка документов за день оказалась ошибочной, открывать каждую отдельно незачем.
- Откройте список документов нужного вида (например,
Продажи → Реализация (акты, накладные)). - Выделите строки: щёлкайте с зажатым
Ctrlпо отдельным документам илиShift— чтобы захватить диапазон. - Нажмите
Ещё → Отменить проведение.
1С снимет проведение со всех выделенных документов разом и покажет служебное сообщение, если по какому-то из них отмена не удалась (например, из-за закрытого периода).
Групповое снятие проведения затрагивает ровно то, что выделено. Перед операцией убедитесь, что в выделение не попали чужие документы — визуально проверьте верхнюю и нижнюю строки диапазона.
Для разбора завалов удобна обработка «Групповое изменение реквизитов» и Ещё → Групповое перепроведение документов (в разделе администрирования или сервиса). Но перепроведение — это не отмена, а пересчёт движений заново по текущим настройкам; если цель именно убрать движения, пользуйтесь «Отменить проведение».
Правка движений вручную, когда перепровести нельзя
Иногда перепроводить документ опасно: настройки учёта с тех пор поменялись, и при повторном проведении суммы встанут иначе, чем в сданной отчётности. Тогда проводки правят руками, не трогая проведение.
- Откройте документ.
- Нажмите кнопку результатов проведения — обычно это «ДтКт» (дебет-кредит) или
Ещё → Движения документа. - В открывшейся форме поставьте флажок «Ручная корректировка (разрешает редактирование движений документа)».
- Отредактируйте строки: поправьте суммы, счета, субконто или удалите лишние записи по регистрам.
После включения ручной корректировки документ перестаёт автоматически пересчитывать движения при проведении — он держит ровно то, что вы вписали. Это и плюс, и риск.
Включённая ручная корректировка замораживает движения. Если позже вы измените сам документ (добавите строку в накладную), проводки сами не обновятся. Снимайте флажок, когда ручная правка больше не нужна, — тогда 1С снова начнёт считать движения автоматически.
Ручная корректировка — инструмент точечный. Для одной-двух спорных проводок он незаменим, но наводить им порядок в сотнях документов не стоит: потеряете связь между документами и учётом.
Проверка: как убедиться, что движения действительно убраны
После отмены проведения полезно сверить, что в учёте не осталось хвостов — особенно если документов было много.
- Оборотно-сальдовая ведомость (
Отчёты → Оборотно-сальдовая ведомость) покажет, изменились ли обороты и сальдо по нужным счетам за период. Если документ был единственным по операции, соответствующая строка обнулится. - Отчёт по проводкам или Анализ субконто помогут найти, не остались ли записи с ручной корректировкой: такие проводки в отчётах обычно помечены отдельно.
- Для регистров накопления (взаиморасчёты, остатки товаров) используйте универсальный отчёт по регистру или штатные ведомости раздела — убедитесь, что движения снятого документа исчезли.
Если после отмены проведения обороты не изменились, скорее всего, документ и не делал движений — например, был проведён «вхолостую» или его движения перекрыты ручной корректировкой другого документа.
Сверку по закрытым операциям (расчёты с контрагентами, зарплата) логично завершить актом сверки или расчётной ведомостью — так видно итог целиком, а не только по одному документу.
Журнал регистрации: что он фиксирует и можно ли стереть запись
Журнал регистрации — это лог действий в базе: кто и когда вошёл, что провёл, что изменил, какие были ошибки. Открывается он в режиме Конфигуратора через Администрирование → Журнал регистрации, а в пользовательском режиме — из раздела администрирования, если такая команда включена в конкретной конфигурации.
Важный момент: отдельную запись из журнала удалить нельзя. Журнал пишется системой и не редактируется по строкам — в этом его смысл как средства контроля. Что с ним реально можно сделать:
- Сократить журнал — в Конфигураторе
Администрирование → Настройка журнала регистрациизадать дату, до которой записи удаляются, либо полностью очистить лог. - Ограничить срок хранения — там же выбрать период (неделя, месяц, год), после которого старые события автоматически вычищаются.
- Снизить детальность — отключить регистрацию части событий, чтобы журнал не рос.
Чистка журнала регистрации уничтожает историю действий всех пользователей, а не только вашу. Если база используется несколькими людьми и журнал ведётся для контроля, сокращать его без ведома администратора не нужно — восстановить удалённые записи штатными средствами невозможно.
Путать журнал регистрации с движениями документа не стоит: первое — служебная история, второе — учётные данные. Отмена проведения правит движения, но запись о том, что вы отменили проведение, в журнале как раз останется.
Откат изменений при работе в Конфигураторе и в коде
Если «изменение» — это правка конфигурации, а не документа, механизмы отмены другие.
Правки, ещё не принятые в базу. Пока вы меняли метаданные или модули, но не нажали «Обновить конфигурацию
базы данных», всё лежит в основной конфигурации. Откатить к рабочему состоянию можно командой Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Она сотрёт все несохранённые в базу изменения и вернёт конфигурацию к той, по которой база сейчас работает.
Отмена в редакторе. Обычная связка Ctrl+Z отменяет последние действия в открытом модуле или форме, Ctrl+Y — возвращает. Работает это в пределах текущего сеанса редактирования.
Откат программной транзакции. В коде изменения данных оборачивают в транзакцию, и при ошибке её откатывают целиком:
НачатьТранзакцию();
Попытка
// запись объектов, движений и т. п.
ЗафиксироватьТранзакцию();
Исключение
ОтменитьТранзакцию();
ВызватьИсключение;
КонецПопытки;
ОтменитьТранзакцию() возвращает базу к состоянию до НачатьТранзакцию() — все записи внутри блока отменяются разом. Это штатный способ не оставить данные в полупроведённом виде, если посреди обработки что-то пошло не так.
Расширения конфигурации
. Если изменения внесены через расширение (а не в типовую конфигурацию
), их проще всего откатить, отключив расширение в списке Конфигурация → Расширения конфигурации — функциональность вернётся к типовой без правки основной конфигурации.
Правки конфигурации лучше хранить в хранилище конфигурации или в системе контроля версий — тогда откат к любой прошлой версии становится рутиной, а не аварией.
Возврат базы к прежнему состоянию из копии
Когда ошибку штатно уже не отменить — удалили не то, перепровели пол-базы, испортили данные массово, — остаётся откат на резервную копию. Это самое тяжёлое средство: вместе с ошибкой пропадёт всё, что внесли в базу после создания копии.
Для файловой базы есть два пути:
- Загрузка выгрузки .dt — в Конфигураторе
Администрирование → Загрузить информационную базу, выбрать заранее сделанный файл.dt. Текущие данные полностью заменяются содержимым выгрузки. - Замена файла базы — закрыть все сеансы и подменить файл
1Cv8.1CDна копию из бэкапа. Способ грубее, применяйте, только если понимаете, что делаете.
Для клиент-серверной базы восстановление идёт средствами СУБД (например, восстановление бэкапа PostgreSQL или MS SQL) — этим занимается администратор сервера. Подменять что-то в такой базе вручную, в обход СУБД, нельзя.
Отдельно стоит продуманная практика резервного копирования. Чтобы откат на копию вообще был возможен, копии должны делаться регулярно и автоматически:
- в файловой базе — через
Администрирование → Резервное копирование и восстановление(в типовых конфигурациях есть настройка расписания); - в клиент-серверной — средствами СУБД по расписанию;
- перед любой рискованной операцией (обновление, массовая обработка, загрузка данных) — ручная копия «здесь и сейчас».
Хорошая копия — это та, из которой вы хотя бы раз пробовали восстановиться. Непроверенный бэкап в момент аварии часто оказывается пустым или битым.
Перед загрузкой .dt все пользователи должны выйти из базы. Загрузка информационной базы требует монопольного доступа и затирает текущие данные без возможности вернуть их. Делайте свежую копию прямо перед восстановлением — на случай, если откатитесь не на ту точку.
Поэтому к восстановлению из копии прибегают в последнюю очередь. Снятие проведения, ручная корректировка и возврат к конфигурации БД решают 9 задач из 10, не трогая базу целиком.