Администрирование · 10 мин
Как удалять данные в 1С:Розница без потери целостности базы
Как правильно удалять документы, номенклатуру и контрагентов в 1С:Розница: пометка на удаление, контроль ссылочной целостности, типичные ошибки и способы восстановления.
Удаление в 1С:Розница устроено иначе, чем в обычных файловых менеджерах: объект нельзя стереть мгновенно, пока на него ссылаются другие записи. Это сделано намеренно — документы, товары и контрагенты связаны между собой, и бесконтрольное удаление разрушило бы отчёты, остатки и проводки.
Процедура всегда состоит из двух этапов: сначала объект помечается на удаление, затем администратор запускает обработку «Удаление помеченных объектов», которая проверяет ссылки и физически стирает только то, что больше нигде не используется. Понимание этой логики избавляет от большинства проблем, с которыми сталкиваются пользователи розничных баз.
В статье разобраны сценарии удаления документов, элементов справочников и устаревших данных, ограничения по правам, а также способы восстановления при ошибочной пометке.
Как устроено удаление в 1С:Розница и почему оно двухэтапное
Пометка на удаление — это не удаление, а флаг. Объект с таким флагом визуально отображается с перечёркнутой иконкой, но продолжает существовать в базе и может быть восстановлен одним действием. Проведённые документы при пометке автоматически отменяют проведение, то есть их движения по регистрам стираются, а остатки пересчитываются.
Физическое удаление выполняет отдельная обработка, доступная пользователю с правами администратора. Она сканирует всю базу и проверяет, есть ли ссылки на помеченный объект из других документов, справочников и регистров. Если ссылок нет — объект стирается окончательно. Если есть — программа выводит список мест использования.
Такая двухэтапная схема защищает базу от случайного разрушения данных. Однако она же становится источником путаницы: пользователь помечает объект, а он «не удаляется». На самом деле всё работает корректно — просто второй этап не выполнен или ссылочная целостность не позволяет завершить операцию.
Как пометить объект на удаление
Для пометки откройте нужный список — например, «Продажи → Чеки ККМ» или «Справочники → Номенклатура». Выделите объект и нажмите клавишу Del, либо вызовите команду «Пометить на удаление» из меню «Ещё». Программа попросит подтверждение, после чего иконка объекта станет перечёркнутой.
Повторное нажатие Del на помеченном объекте снимает пометку — это штатный способ восстановления. Для документа, который был проведён, при снятии пометки потребуется провести его заново, чтобы движения по регистрам вернулись.
Пометить можно и сразу несколько объектов: выделите их с зажатой клавишей Ctrl или Shift и нажмите Del. Это удобно при чистке тестовых чеков, ошибочно заведённых товаров или дублей контрагентов.
- 1Откройте нужный список документов или справочник
- 2Выделите один или несколько объектов
- 3Нажмите Del или выберите «Ещё → Пометить на удаление»
- 4Подтвердите действие и убедитесь, что иконка стала перечёркнутой
- 5При ошибке сразу снимите пометку повторным нажатием Del
Как физически удалить помеченные объекты
Физическое удаление запускается из раздела «Администрирование → Удаление помеченных объектов». Команда доступна только пользователям с правами администратора или с ролью, разрешающей удаление. Кассиры и продавцы в типовой настройке этой операции не видят.
Перед запуском убедитесь, что в базе не работают другие пользователи, а обмены с кассами и другими системами остановлены. Обработка предложит два режима: автоматическое удаление всех помеченных объектов или выборочное удаление с ручной отметкой. Для первого раза безопаснее выборочный режим — вы видите, что именно будет стёрто.
После проверки ссылок программа покажет результат: удалённые объекты исчезнут из списка, а для неудалённых отобразится перечень препятствующих ссылок. Каждую ссылку можно открыть прямо из этого окна и разобраться, почему объект используется.
Что делать, если объект не удаляется из-за ссылок
Наиболее частая ситуация — товар или контрагент не удаляется, потому что фигурирует в старых документах. Например, номенклатуру нельзя стереть, если она есть в чеках ККМ прошлых месяцев, а поставщика — если на него оформлены поступления.
Порядок действий здесь такой: откройте список ссылок из обработки удаления, оцените, какие документы мешают. Если документы ошибочные — пометьте их на удаление тоже и повторите операцию. Если документы реальные и нужны для отчётности, объект лучше не удалять вовсе, а исключить из работы другим способом.
Для номенклатуры, которая больше не продаётся, но участвует в исторических документах, правильная альтернатива — снятие с продажи. В карточке товара можно установить признак недействительности или перенести позицию в отдельную группу «Архив», чтобы она не мешала подбору. Это сохранит историю продаж и целостность отчётов.
Как выбрать действие
Удаление дублей и массовая чистка данных
Дубли номенклатуры и контрагентов — типичная проблема розничных баз, особенно после загрузок из внешних источников. Удалять дубль вручную нельзя, если на него заведены документы: сначала все ссылки нужно перенести на основной элемент.
Для этого в типовых конфигурациях на платформе 1С:Предприятие есть обработка «Поиск и удаление дублей» (обычно в разделе «Администрирование → Обслуживание»). Она находит совпадающие элементы по заданным правилам, заменяет ссылки во всех документах на выбранный «правильный» элемент и помечает дубль на удаление. После этого остаётся только выполнить физическое удаление помеченных.
Для массовой чистки устаревших данных — например, старых чеков за пределами срока хранения, отменённых заказов, неактуальных цен — используйте пометку по отбору: установите в списке фильтр по периоду или статусу, выделите записи и пометьте их группой. Перед такой операцией обязательно согласуйте с бухгалтерией, какие периоды можно трогать: удаление документов закрытого периода исказит уже сданную отчётность.
Права доступа и ограничения
Возможность удаления регулируется ролями. В типовой настройке 1С:Розница кассиру доступна работа с чеками, но не их удаление; администратору доступны оба этапа. Если кнопка пометки неактивна или команда «Удаление помеченных объектов» отсутствует в меню — причина почти всегда в правах, а не в неисправности программы.
Дополнительное ограничение — дата запрета изменения данных («Администрирование → Поддержка и обслуживание → Даты запрета изменения данных»). Документы раньше этой даты нельзя ни пометить, ни удалить без снятия запрета. Это защита закрытых периодов, и обходить её стоит только осознанно.
Также учтите, что в распределённой базе (центральный узел и кассы/магазины) помеченные объекты передаются по обмену. Удаление нужно выполнять в центральном узле после завершения всех обменов, иначе в периферийных базах останутся «висячие» пометки и рассинхронизация.
Как проверить результат
Список пуст или содержит только объекты с понятными ссылками
Объекты остались, а причина в списке ссылок не изучена
Остатки соответствуют ожиданиям и прежним данным
Остатки изменились неожиданно — удалён лишний проведённый документ
Обмен завершается без ошибок и предупреждений
Ошибки ссылок или коллизии — удаление выполнено вне центрального узла
Как восстановить ошибочно удалённое
Пока объект только помечен — восстановление занимает секунды: выделите его и снова нажмите Del. Документ после этого проведите заново. Это главное преимущество двухэтапной схемы: случайное нажатие ничего не портит.
После физического удаления штатного восстановления нет. Единственный путь — резервная копия: либо восстановить всю базу целиком, либо, если база файловая и копия недавняя, перенести нужные объекты из копии вручную или через обработку выгрузки-загрузки данных. Поэтому регламент резервного копирования — не формальность, а единственная страховка при операциях удаления.
Практичная привычка: перед любой массовой чисткой фиксируйте список того, что планируется удалить, и проверяйте его по отчётам. Пятиминутная проверка дешевле восстановления базы.
Что важно запомнить
Удаление в 1С:Розница двухэтапное: пометка, затем физическое удаление через «Администрирование → Удаление помеченных объектов». Объект с ссылками не удалится — сначала разберите связи. Историческую номенклатуру архивируйте, а не удаляйте. Перед массовой чисткой всегда делайте резервную копию и останавливайте обмены.
Частые вопросы
Почему кнопка удаления неактивна у кассира?
В типовой настройке роли кассира и продавца не включают права на удаление объектов — это защита от случайной порчи данных. Команду «Удаление помеченных объектов» видит только администратор. Если удаление действительно нужно, его должен выполнять сотрудник с соответствующими правами.
Можно ли удалить чек ККМ?
Технически чек можно пометить и удалить, но делать это с реальными фискальными чеками нельзя: данные уже переданы в ОФД, а расхождение базы с фискальными данными создаст проблемы при проверке. Ошибочный чек корректно закрывать чеком возврата, а не удалением. Удалять допустимо только тестовые или нефискальные документы.
Объект помечен, но в списке всё равно виден — это нормально?
Да. Помеченные объекты продолжают отображаться с перечёркнутой иконкой до физического удаления. Если хотите скрыть их из рабочего списка, настройте отбор по признаку пометки. После выполнения обработки «Удаление помеченных объектов» они исчезнут окончательно.
Что будет с остатками, если удалить проведённое поступление?
При пометке проведённого документа его движения отменяются, и остаток по этому поступлению исчезнет из регистров. Если товар уже продан, остатки могут уйти в минус. Поэтому перед удалением документов движения товаров всегда сверяйте отчёт по остаткам до и после операции.
Как удалить сразу много устаревших товаров?
Установите в списке номенклатуры отбор по нужному признаку (группа, отсутствие движений), выделите записи и пометьте их группой, затем выполните «Удаление помеченных объектов» в выборочном режиме. Товары, участвующие в документах, программа не удалит — их разумнее перенести в архивную группу.
Можно ли отменить уже выполненное физическое удаление?
Нет, штатной отмены не существует. Восстановить данные можно только из резервной копии. Именно поэтому перед запуском обработки рекомендуется делать выгрузку базы, а саму операцию проводить в монопольном режиме без работающих пользователей.