Удаление документов в 1С:Управление торговлей (УТ 11) без вреда для учёта

· 9 мин

Содержание

Многие считают, что документ удаляется нажатием Delete в списке. В 1С:Управление торговлей это не так: одна клавиша только ставит пометку на удаление, а физически объект убирает отдельная процедура — с проверкой ссылок. Поэтому удалить документ в 1С УТ 11 — это всегда два действия.

Сначала вы помечаете документ на удаление (Ctrl + Delete или правой кнопкой мыши → «Пометить на удаление»). Затем администратор запускает обработку НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов. Программа проверит, не ссылается ли на документ что-то ещё, и удалит его только если ссылок нет.

Пометить на удаление может рядовой пользователь. А вот физически удалить помеченные объекты — только тот, у кого есть права администратора. И ещё один момент, который удивляет новичков: проведённый документ при пометке на удаление сразу теряет проведение, его движения по регистрам снимаются. На остатки, резервы и взаиморасчёты это влияет моментально — задолго до того, как объект исчезнет из базы.

Проверьте перед удалением документа
Выполнено: 0 / 5

Что учесть до удаления: права и последствия для учёта

Удаление в 1С УТ 11 необратимо штатными средствами. Поэтому сначала убедитесь, что документ действительно лишний, а не просто «мешает в списке».

Права на удаление разделены:

  • 📝 Пометить на удаление может пользователь с обычными правами на работу с документом.
  • 🗑️ Запустить физическое удаление может только пользователь с профилем, где включено право на удаление помеченных объектов (как правило, профиль «Администратор» или специально настроенный).

Теперь о последствиях. Когда вы помечаете на удаление проведённый документ:

  • отменяется его проведение;
  • снимаются все движения по регистрам (остатки товаров, продажи, взаиморасчёты, себестоимость);
  • остатки пересчитываются немедленно, и другие пользователи увидят изменившиеся цифры.

Перед удалением документов сделайте резервную копию базы . Отменить физическое удаление нельзя — только развернуть копию.

Чтобы заранее понять, что потянет за собой документ, откройте его и посмотрите структуру подчинённости (команда отчётов по документу, пункт со структурой связанных документов). Там видно всю цепочку: на основании чего введён документ и какие операции введены на его основании. Если в цепочке есть оплаты, счета-фактуры или отгрузки — удаление затронет и их, и это повод остановиться и сначала разобраться со связями.

Не удаляйте документы за закрытый период и за периоды, по которым уже сданы отчёты и рассчитана себестоимость. Разрыв в цепочке партий и движений ломает учёт сильнее, чем лишняя строка в списке.

Как пометить документ на удаление

Пометка — обратимое действие. Пока объект только помечен, его легко вернуть.

  1. Откройте нужный список документов (например, Продажи → Реализации товаров и услуг).
  2. Выделите документ. Чтобы отметить несколько — удерживайте Ctrl или Shift.
  3. Нажмите Ctrl + Delete либо правой кнопкой мыши → «Пометить на удаление / Снять пометку».
  4. Подтвердите действие.

Помеченный документ в списке перечёркивается и помечается значком. Это видят все пользователи базы.

Снять пометку так же просто: выделите документ и снова нажмите Ctrl + Delete. Но помните — проведение, снятое при пометке, само не вернётся. Проведённый документ после снятия пометки нужно провести заново.

Как физически удалить помеченные объекты

Это и есть окончательное удаление. Путь: НСИ и администрирование → Администрирование → Обслуживание → Удаление помеченных объектов.

Обработка работает в двух режимах:

  • Автоматическое удаление — программа проверяет все помеченные объекты в базе и удаляет те, на которые никто не ссылается.
  • Выборочное удаление — вы сами отмечаете галочками конкретные документы.

Порядок действий:

  1. Запустите обработку из раздела обслуживания.
  2. Выберите режим (для адресного удаления — выборочный, отметьте нужные документы).
  3. Нажмите кнопку удаления и дождитесь проверки ссылочной целостности.
  4. Посмотрите итог: что удалено, а что — нет, и почему.

Если ни на один помеченный документ нет ссылок, он исчезнет из базы. Если ссылки есть — программа оставит объект и покажет, где он используется.

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

Если документ не удаляется: ищем ссылки

Самая частая причина — на документ ссылаются другие объекты. Программа не даст удалить объект, пока на него что-то указывает, иначе в базе появятся «битые» ссылки.

Диагностика: выберите симптом

Разберитесь, какая связь удерживает документ. Иногда проще не удалять, а разорвать зависимость: например, в документе-потребителе заменить ссылку на другой объект.

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

Удаление — не единственный и часто не лучший способ «убрать» документ. Для торгового учёта важна прослеживаемость операций, а удаление её рвёт.

ЗадачаУдалениеЧто лучше сделать
Документ создан по ошибке сегодня, движений ещё нетможно удалитьпометить на удаление и удалить
Операцию отменил контрагентне удалятьотменить проведение, при закрытом периоде — сторнирующий документ
Ошибка в сумме или номенклатурене удалятьисправить документ и перепровести
Период закрыт, отчётность сдананельзя удалятькорректировка или сторно текущей датой
Документ-дубльосторожноудалять только тот, на который нет ссылок

Если период закрыт, вместо удаления используйте механизм отмены/сторно. Удаление задним числом пересчитает партии и себестоимость и разойдётся с уже сданной отчётностью.

Отменить проведение, не удаляя документ, можно кнопкой отмены проведения в самом документе или в списке. Движения снимутся, но сам документ и его история останутся в базе. Это удобно, когда операция под вопросом: вы убираете её влияние на остатки, но сохраняете возможность провести обратно без повторного ввода.

Разница между отменой проведения и сторно простая:

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

Для дубля логика другая: оставляйте тот экземпляр, на который уже навешаны связанные документы и оплаты, а удаляйте «пустой». Иначе вы сами создадите себе работу по перепривязке.

Удаление документов программно (для администраторов)

Если удалять нужно массово — например, чистить тестовые или импортированные данные, — есть два пути.

Штатный путь. Та же обработка «Удаление помеченных объектов» умеет работать по отбору: пометьте документы отбором в списке, затем удалите их пакетно в выборочном режиме. Это безопасно — контроль ссылок никуда не девается.

Через код (внешняя обработка). Применяйте только на монопольной копии базы и с резервной копией. Непосредственное удаление не проверяет ссылки и может оставить битые связи.

// Внешняя обработка, запуск администратором на копии базы
Запрос = Новый Запрос(
    "ВЫБРАТЬ Ссылка
    |ИЗ Документ.РеализацияТоваровУслуг
    |ГДЕ ПометкаУдаления");

Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
    Объект = Выборка.Ссылка.ПолучитьОбъект();
    Попытка
        Объект.Удалить(); // непосредственное удаление — БЕЗ контроля ссылок!
    Исключение
        Сообщить("Не удалён: " + Выборка.Ссылка);
    КонецПопытки;
КонецЦикла;

Метод Удалить() стирает объект сразу и не смотрит на ссылки. Если на документ ссылались — в базе останутся «висящие» ссылки, и это придётся лечить отдельно.

Безопаснее не удалять напрямую, а проставить пометку кодом, а дальше отдать работу штатной обработке с её контролем ссылок:

Объект = Выборка.Ссылка.ПолучитьОбъект();
Объект.УстановитьПометкуУдаления(Истина);

После такого прохода запустите обычное «Удаление помеченных объектов» — оно само проверит ссылки и удалит только то, что можно удалить безопасно.

Не пишите код удаления прямо в рабочей базе «на горячую». Сначала копия, тест, потом перенос результата. И не запускайте массовое удаление в часы активной работы: длительная блокировка на чтении таблиц тормозит остальных пользователей.

Можно ли восстановить удалённый документ

Зависит от того, на каком этапе вы остановились.

  • Документ только помечен на удаление — снимите пометку (Ctrl + Delete) и, если он был проведён, проведите заново. Данные целы.
  • Документ физически удалён — штатно не восстанавливается. Единственный способ — развернуть резервную копию базы в отдельную информационную базу, найти там документ и перенести его вручную или ввести заново.

В журнале регистрации (НСИ и администрирование → Администрирование → Поддержка и обслуживание → Журнал регистрации) останется запись о событии удаления: кто и когда удалил. Отфильтруйте журнал по событию удаления данных, чтобы быстро найти, в какой момент и под каким пользователем это произошло. Но содержимого документа там нет — журнал фиксирует только факт и реквизиты события.

Если документ восстанавливаете из копии, вводить его в рабочей базе лучше заново по данным из копии, а не переносить «как есть»: при переносе легко притащить устаревшие ссылки на объекты, которых в актуальной базе уже нет. Ввели — перепровели — сверили остатки.

Поэтому резервная копия перед массовым удалением — не формальность. Это ваш единственный способ отката.

Особенности в УТ 11.4 и 11.5

Порядок действий в редакциях 11.4 и 11.5 одинаковый: пометка на удаление, затем удаление помеченных объектов из раздела обслуживания. Названия разделов верхнего уровня между релизами могут незначительно отличаться, но сама обработка «Удаление помеченных объектов» живёт в группе «Обслуживание».

Два момента, о которых стоит помнить:

  • 🔄 Распределённая база (РИБ). Если узлы работают в распределённой базе, удаление в главном узле уйдёт в периферийные через обмен. Не удаляйте в периферийном узле то, что ещё не ушло в центр.
  • 👥 Монопольный режим не нужен. Удаление помеченных объектов работает в обычном режиме, базу монопольно захватывать не требуется. Но при активной работе пользователей проверка ссылок идёт медленнее.

Если вы перешли на УТ 11 с более старой конфигурации, не переносите привычки из интерфейса 8.2: в «Такси» команда называется «Пометить на удаление / Снять пометку», а не «Все действия → Установить пометку удаления».

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

Исчезнет ли документ у других пользователей сразу после пометки?
Сама пометка видна всем сразу — документ перечёркивается в списке. Если он был проведён, его движения снимаются в тот же момент, поэтому остатки и взаиморасчёты у всех пересчитаются ещё до физического удаления.
Что будет с нумерацией документов после удаления?
Номера не перенумеровываются. На месте удалённого документа останется разрыв в нумерации — это нормально и на учёт не влияет. Искусственно «сдвигать» номера не нужно.
Почему после удаления помеченных объектов часть из них осталась?
На оставшиеся документы ссылаются другие объекты. В отчёте обработки будет список этих ссылок. Пока связь не разорвана или связанные документы не удалены вместе, объект останется в базе.
Как снять пометку удаления сразу с нескольких документов?
Выделите их в списке с зажатым Ctrl или Shift и нажмите Ctrl + Delete — пометка снимется со всех выделенных. Проведение при этом не восстанавливается, проведите документы заново.
Можно ли удалить документ, не удаляя связанные с ним?
Только если разорвать связь. Откройте документ, который ссылается на удаляемый, и уберите в нём это упоминание либо замените на другой объект. После этого удаление пройдёт.