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