Отмена операций в 1С 8.3: документы, проводки, закрытие месяца и задания

· 9 мин

Содержание

Отменить процедуру в 1С почти всегда означает одно из трёх: снять проведение документа (Ещё → Отменить проведение в списке или форме), отменить регламентную операцию в обработке закрытия месяца или выключить фоновое задание в Администрирование → Обслуживание. Универсальной кнопки «Отменить последнее действие» на уровне базы нет. Ctrl+Z работает только внутри поля ввода, а не для записанных данных.

Частая ошибка — «отменять» документ клавишей Del. Она лишь ставит пометку удаления. Движения при этом снимаются, но документ остаётся в базе, и после запуска удаления помеченных объектов вернуть его можно только из резервной копии. Ниже по каждому виду операций — какой способ безопасен и что он реально делает с данными.

1. Отмена проведения документа: по одному и списком

Проведение — это запись движений документа в регистры: проводки, остатки, взаиморасчёты. Отмена проведения стирает эти движения, а сам документ остаётся черновиком. Его можно исправить и провести снова.

Один документ

  1. Откройте журнал нужных документов, например Продажи → Реализация (акты, накладные, УПД) в Бухгалтерии 3.0.
  2. Выделите строку с документом.
  3. Нажмите Ещё → Отменить проведение или выберите эту команду в контекстном меню правой кнопкой.
  4. Значок в первой колонке сменится с зелёной галочки на пустой. Движения удалены.

То же можно сделать из открытой формы документа: Ещё → Отменить проведение.

Несколько документов сразу

Платформа 8.3 умеет отменять проведение группы документов одной командой:

  1. В списке выделите документы мышью с зажатым Ctrl (по одному) или Shift (диапазон).
  2. Выполните Ещё → Отменить проведение.
  3. Программа обработает выделенные документы по очереди. Если какой-то не удалось распровести, она сообщит об этом внизу окна.

Чтобы отменить проведение всех документов за период, сначала поставьте в списке отбор по дате, затем выделите всё через Ctrl+A.

Когда программа не даёт отменить проведение

  • 🔒 Дата запрета изменения. Документ попадает в закрытый период. Дату задают в Администрирование → Проведение документов → Даты запрета изменения. Сдвигать её стоит только согласовав с главным бухгалтером.
  • 👤 Нет прав. У пользователя отсутствует право на отмену проведения. Решается в профиле групп доступа администратором.
  • 🔗 Документ используется дальше. Например, ЗУП 3.1 не даст спокойно распровести начисление, по которому уже есть ведомость на выплату. Сначала распроводят зависимый документ.
  • ⏳ Объект заблокирован. Документ открыт у другого пользователя. Попросите его закрыть форму.

Исправление вместо отмены в ЗУП

В ЗУП 3.1 у ряда документов прошлых периодов есть команда Исправить. Она создаёт документ-исправление, а исходный оставляет как есть. Для закрытых месяцев и сданной отчётности это правильнее, чем отменять проведение: история изменений сохраняется, а перерасчёт попадает в текущий период.

2. Как отменить закрытие месяца и регламентные операции

В Бухгалтерии 3.0 регламентные операции (амортизация, закрытие затратных счетов, переоценка валюты, расчёт налога на прибыль, реформация баланса) проводит обработка Операции → Закрытие месяца. Каждая операция — это отдельный документ «Регламентная операция ».

Как отменить:

  1. Откройте Операции → Закрытие месяца и выберите месяц и организацию.
  2. Щёлкните по названию выполненной операции. В открывшемся меню будет команда отмены этой операции.
  3. Чтобы откатить весь месяц, используйте команду Отменить закрытие месяца.

Порядок важен. Операции закрытия выстроены цепочкой: закрытие счетов 20, 25, 26 зависит от амортизации, налог на прибыль — от финансового результата. Если отменить одну операцию в середине, обработка пометит последующие как требующие повторного выполнения.

Отмена закрытия декабря снимает реформацию баланса. Если отчётность за год уже сдана, сначала сравните текущие данные со сданной отчётностью, а затем решайте, нужна ли уточнёнка.

После исправлений нажмите Выполнить закрытие месяца ещё раз. Повторное выполнение пересчитает только то, что нужно.

3. Отмена проводок и ручных движений

Отдельную проводку в документе удалить нельзя: проводки — производная от документа. Есть три законных пути.

Убрать ручную корректировку

Если проводки документа правили руками, вернуть автоматические можно так:

  1. Откройте документ и нажмите кнопку Дт/Кт — откроется результат проведения.
  2. Снимите флаг Ручная корректировка (разрешает редактирование движений документа).
  3. Программа спросит, перезаполнить ли движения. Согласитесь, затем проведите документ.

Ручная операция

Записи, введённые документом «Операция» (Операции → Операции, введённые вручную), отменяют пометкой на удаление или удалением строк проводок внутри самой операции. Пометка снимает движения сразу.

Сторно

Если период закрыт и отчётность сдана, проводку не удаляют, а сторнируют. В журнале Операции → Операции, введённые вручную создайте документ Сторно документа и укажите исходный документ. Программа заполнит те же проводки с суммами со знаком минус. Ошибка будет исправлена текущим периодом без правки прошлого.

СитуацияЧто делать
Период открыт, ошибка в данных документаОтменить проведение, исправить, провести
Проводки правили вручнуюСнять флаг «Ручная корректировка», перепровести
Период закрыт, отчётность сданаСторно документа в текущем периоде
Лишняя ручная операцияПометить на удаление

4. Как остановить фоновое или регламентное задание

Регламентные задания — это процедуры по расписанию: загрузка курсов валют, обмен с банком, обновление классификаторов, полнотекстовый индекс. Фоновые задания запускаются разово, например при долгом формировании отчёта.

Через интерфейс программы

  1. Откройте Администрирование → Обслуживание → Регламентные операции → Регламентные и фоновые задания.
  2. На закладке регламентных заданий откройте нужное и снимите флаг Включено. Задание больше не стартует по расписанию.
  3. На закладке фоновых заданий выделите выполняющееся задание и отмените его командой формы.

Если долгий отчёт запущен из формы и видно окно ожидания, в нём обычно есть кнопка Отмена. Она прерывает фоновое задание этого отчёта.

Через консоль кластера (клиент-серверный вариант)

Чтобы на время остановить все регламентные задания базы, например перед обновлением:

  1. В консоли администрирования серверов 1С откройте Информационные базы → ваша база → Свойства.
  2. Включите флаг Блокировка регламентных заданий включена.
  3. После работ снимите флаг.

Завершение рабочего процесса или сеанса в консоли кластера обрывает работу всех пользователей этого процесса. Делайте это только после предупреждения и вне рабочих часов.

В файловой базе регламентные задания выполняет клиентский сеанс, поэтому их работа прекращается вместе с закрытием всех сеансов.

5. Программная отмена: транзакции, Отказ, прерывание

Этот раздел для тех, кто дорабатывает конфигурацию.

Отменить запись или проведение в обработчике

В модуле объекта параметр Отказ останавливает операцию целиком. Платформа откатит всё, что успело записаться в рамках этой транзакции:

Процедура ОбработкаПроведения(Отказ, РежимПроведения)
	Если Не ЗначениеЗаполнено(Контрагент) Тогда
		ОбщегоНазначения.СообщитьПользователю("Не указан контрагент", ЭтотОбъект, "Контрагент", , Отказ);
		Возврат;
	КонецЕсли;
	// формирование движений
КонецПроцедуры

Чтобы программно снять проведение с документа:

ДокОбъект = СсылкаНаДокумент.ПолучитьОбъект();
ДокОбъект.Записать(РежимЗаписиДокумента.ОтменаПроведения);

Явная транзакция

Когда несколько объектов должны записаться вместе или не записаться вовсе:

НачатьТранзакцию();
Попытка
	ДокПоступление.Записать(РежимЗаписиДокумента.Проведение);
	ДокОплата.Записать(РежимЗаписиДокумента.Проведение);
	ЗафиксироватьТранзакцию();
Исключение
	ОтменитьТранзакцию();
	ВызватьИсключение;
КонецПопытки;

ОтменитьТранзакцию() откатывает обе записи. Без неё одна запись могла бы пройти, а вторая — нет.

Фоновое и регламентное задание из кода

// Отменить выполняющееся фоновое задание
Задание = ФоновыеЗадания.НайтиПоУникальномуИдентификатору(ИдентификаторЗадания);
Если Задание <> Неопределено И Задание.Состояние = СостояниеФоновогоЗадания.Активно Тогда
	Задание.Отменить();
КонецЕсли;

// Выключить регламентное задание
РегЗадание = РегламентныеЗадания.НайтиПоМетаданным(Метаданные.РегламентныеЗадания.ЗагрузкаКурсовВалют);
РегЗадание.Использование = Ложь;
РегЗадание.Записать();

Имя ЗагрузкаКурсовВалют здесь пример: подставьте имя задания из вашей конфигурации.

Прервать долгий цикл на клиенте

Пользователь прерывает клиентский код сочетанием Ctrl+Break. Чтобы длинный цикл реагировал на прерывание, вызывайте внутри него ОбработкаПрерыванияПользователя(). Платформа спросит, прервать ли выполнение, и при согласии выбросит исключение.

6. Отмена операций в распределённой базе и обменах

В РИБ и при обмене через «Синхронизацию данных» отмена проведения — это обычное изменение документа. Оно регистрируется к выгрузке и уходит в другие узлы со следующим сеансом обмена.

Что учесть:

  • 🔄 Отменяйте в одном узле. Если документ правят одновременно в двух узлах, возникает коллизия. В РИБ по умолчанию приоритет у главного узла, и изменение подчинённого может быть перезаписано.
  • 📦 Дождитесь обмена. Пока обмен не прошёл, в другой базе документ всё ещё проведён. Отчёты там покажут старые цифры.
  • 🚫 Пометка удаления тоже передаётся. А вот удаление помеченных объектов каждый узел выполняет сам. Не удаляйте документ в одном узле, пока он используется в другом.
  • 🧾 Обмен с БП из УТ или ЗУП. Если документ пришёл из другой программы, отменять проведение в приёмнике бесполезно: при следующей загрузке он вернётся. Исправляйте в источнике.

Чтобы отменить уже подготовленную к отправке порцию изменений, существует обработка регистрации изменений. Пользоваться ей стоит только администратору: снятие регистрации приводит к рассинхронизации узлов.

7. Если отменили лишнее: как вернуть данные

Возможность восстановления зависит от того, что именно сделали.

Что произошлоКак вернуть
Отменено проведениеПровести документ снова. Данные документа не пострадали
Документ помечен на удалениеСнять пометку той же командой (Del) и провести
Помеченные объекты удаленыТолько из резервной копии базы
Отменено закрытие месяцаВыполнить закрытие месяца повторно
Изменены реквизиты и записаноВосстановить версию из истории изменений, если она включена

Кто и когда отменил

Откройте Администрирование → Обслуживание → Журнал регистрации. Поставьте отбор по событию изменения данных и по нужному документу. Журнал покажет пользователя, время и компьютер.

История изменений объектов

Если в конфигурации включено хранение версий (Администрирование → Общие настройки, раздел истории изменений), в карточке документа доступна история. Из неё можно открыть прежнюю версию и сравнить её с текущей или вернуться к ней.

Восстановление из копии

Удалённый объект достают так: разворачивают свежую резервную копию в отдельную базу, находят документ и переносят его выгрузкой в XML или вручную. Не загружайте копию поверх рабочей базы — пропадут все изменения, сделанные после её создания.

Перед массовой отменой
Выполнено: 0 / 5

8. Какой способ отмены выбрать

СпособКогда применятьРиски
Отменить проведениеОшибка в документе открытого периодаСдвиг остатков и себестоимости до перепроведения
Групповая отмена проведенияПеренос или переделка документов за периодНарушенная последовательность, нужно перепроведение
Пометка на удалениеДокумент создан ошибочноУдаление помеченных необратимо без копии
СторноПериод закрыт, отчётность сданаЗадвоение, если исходный документ тоже распровели
Исправление (ЗУП)Ошибка в начислении прошлого месяцаНе путать с отменой: исходник остаётся
Отмена закрытия месяцаНужно править документы после закрытияИзменение финансового результата
Выключение регламентного заданияЗадание мешает или работает с ошибкойПерестают грузиться курсы, обмены, классификаторы
Отмена фонового заданияЗавис отчёт или долгая обработкаЧастичный результат не сохраняется
ОтменитьТранзакцию в кодеДоработки, групповые записиОшибки в коде откатывают всю порцию

Частые вопросы

Можно ли отменить проведение документа, не открывая его?
Да. Выделите документ в списке и выполните Ещё → Отменить проведение или команду из контекстного меню.
Почему после отмены проведения изменились остатки в других документах?
Отмена проведения поступления уменьшает остаток на складе. Последующие продажи остаются с прежней себестоимостью, пока их не перепровести.
Как отменить загрузку выписки банка?
Загруженные документы списания и поступления на расчётный счёт выделяют в журнале банковских выписок и помечают на удаление. После этого выписку можно загрузить заново.
Отменяет ли выход из программы запущенное фоновое задание?
Нет. В клиент-серверной базе фоновое задание выполняется на сервере и продолжит работу после закрытия клиента. Его отменяют в списке фоновых заданий.
Можно ли отменить изменения в Конфигураторе?
Изменения конфигурации, ещё не применённые к базе данных, откатывает Конфигурация → Конфигурация базы данных → Вернуться к конфигурации БД. Если структура базы уже обновлена, вернуться можно только к резервной копии.