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