К статье
Практический материал

Быстрый старт · 9 мин

Как удалить текущую строку в 1С

Как удалить текущую строку в 1С: горячие клавиши Shift+Del, кнопки табличной части, пометка на удаление документа и типичные ошибки при работе со строками.

Удаление строки — одна из самых частых операций при работе с документами, справочниками и отчётами в 1С. Строки встречаются в табличных частях документов (список товаров, услуг, начислений), в табличных полях справочников и в списках объектов. В зависимости от контекста удаление выполняется по-разному: где-то достаточно сочетания клавиш, а где-то потребуется пометка на удаление с последующей обработкой.

Ключевой момент: в 1С различают удаление строки внутри объекта (например, позиции товара в накладной) и удаление самого объекта из базы (документа или элемента справочника). Первый случай безопасен и обратим до записи документа, второй требует аккуратности, поскольку связан с контролем ссылочной целостности данных.

Удаление строки в табличной части документа

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

Порядок действий
  1. 1
    Откройте документ и перейдите на вкладку с нужной табличной частью
  2. 2
    Щёлкните мышью по строке, которую нужно удалить, — она станет активной
  3. 3
    Нажмите Shift+Del на клавиатуре или кнопку с красным крестиком на командной панели табличной части
  4. 4
    Проверьте, что строка исчезла из списка
  5. 5
    Нажмите «Записать» или «Провести и закрыть», чтобы сохранить изменения

Альтернативный способ — контекстное меню: кликните по строке правой кнопкой мыши и выберите пункт «Удалить». В некоторых конфигурациях тот же пункт доступен через кнопку «Ещё» над табличной частью.

Пока документ не записан, удаление можно отменить комбинацией Ctrl+Z или просто закрыть форму без сохранения, ответив «Нет» на вопрос о записи. После проведения документа отменить удаление строки штатными средствами уже нельзя — придётся добавлять позицию заново.

Горячие клавиши для работы со строками

Работа с клавиатуры заметно ускоряет ввод и редактирование больших табличных частей. Основные сочетания одинаковы в большинстве конфигураций на платформе 1С:Предприятие 8.

СочетаниеДействие
Shift+DelУдалить текущую строку табличной части
InsДобавить новую строку
F9Скопировать текущую строку (добавить такую же ниже)
Shift+F9Скопировать строку с переносом значений в новую
Ctrl+ZОтменить последнее действие до записи

Если сочетание Shift+Del не срабатывает, проверьте, не перехвачено ли оно другой программой (например, раскладкой или утилитой буфера обмена), и не находится ли курсор в режиме редактирования ячейки — в этом случае сначала нажмите Esc, затем повторите удаление.

Удаление элемента списка: пометка на удаление

Когда речь идёт не о строке внутри документа, а о целом объекте в списке — документе в журнале, элементе справочника, — простое удаление строки недоступно. В 1С действует двухступенчатый механизм: сначала объект помечается на удаление, затем удаляется окончательно через специальную обработку с контролем ссылок.

Чтобы пометить объект на удаление, выделите его в списке и нажмите клавишу Del, кнопку с крестиком на панели списка или пункт «Пометить на удаление / Снять пометку» в меню «Ещё». Помеченный объект обычно отображается зачёркнутым или с пиктограммой крестика.

Окончательное удаление выполняется через раздел «Администрирование» → «Удаление помеченных объектов» (в некоторых конфигурациях — «Обслуживание» → «Удаление помеченных объектов»). Система проверит, нет ли в базе ссылок на удаляемый объект: если документ используется в других документах или записях регистров, удаление будет заблокировано до устранения связей.

Почему строка не удаляется: типичные причины

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

Типичные ошибки
01
Попытка удалить строку в документе, открытом только на просмотр — сначала нажмите «Ещё» → «Изменить» или проверьте, не закрыт ли период датой запрета редактирования
02
Удаление без последующей записи документа — изменения теряются при закрытии формы
03
Путаница между Del (очистка ячейки) и Shift+Del (удаление строки)
04
Попытка удалить строку в форме, доступной только для чтения по правам пользователя — нужно обратиться к администратору за расширением прав
05
Ожидание мгновенного исчезновения объекта после пометки на удаление — физическое удаление происходит только через обработку «Удаление помеченных объектов»

Если документ находится в закрытом периоде, система выдаст сообщение о запрете изменения данных. Дату запрета редактирования настраивает администратор в разделе «Администрирование» → «Поддержка и обслуживание» → «Даты запрета изменения данных». Самостоятельно обходить это ограничение не стоит — оно защищает сданную отчётность.

Ещё одна ситуация — документ создан на основании другого или связан механизмом обмена данными (например, синхронизацией с сайтом или ЭДО). Удаление строк в таком документе может вызвать расхождения при следующем обмене, поэтому корректнее редактировать источник данных.

Как проверить результат удаления

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

Контрольные точки

Как проверить результат

Состав табличной части
Норма

Удалённой строки нет, нумерация строк перестроена без пропусков нужных позиций

Тревожный признак

Строка осталась на месте или исчезла не та позиция

Итоговая сумма документа
Норма

Сумма уменьшилась ровно на значение удалённой строки

Тревожный признак

Итог не изменился — документ не записан

Движения документа
Норма

После перепроведения остатки и взаиморасчёты соответствуют новому составу

Тревожный признак

В отчётах видны старые значения — документ не проведён повторно

Для документов, которые уже были проведены, удаление строки требует повторного проведения: нажмите «Провести» или «Провести и закрыть». Только после этого регистры учёта (остатки склада, взаиморасчёты, бухгалтерские проводки) отразят новое состояние.

Удаление строки программно: для разработчиков

Если вы дорабатываете конфигурацию, удаление текущей строки табличной части выполняется методом Удалить() коллекции табличной части. Текущую строку в обработчике формы получают через Элементы.ИмяТаблицы.ТекущиеДанные или по идентификатору строки.

bsl
&НаКлиенте
Процедура УдалитьТекущуюСтроку(Команда)
	ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
	Если ТекущиеДанные = Неопределено Тогда
		Возврат;
	КонецЕсли;
	Объект.Товары.Удалить(ТекущиеДанные);
	Модифицированность = Истина;
КонецПроцедуры

При программном удалении из модуля объекта (например, в обработке заполнения) используют тот же метод Удалить() с параметром — строкой коллекции или её индексом. Помните, что удаление по индексу в цикле требует обратного перебора строк (от последней к первой), иначе индексы сместятся и часть строк будет пропущена.

При массовой очистке табличной части в коде выгоднее использовать метод Очистить() вместо удаления строк по одной — это и быстрее, и исключает ошибки со смещением индексов.
ПЗ
Практическое замечание

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

Удалили строку, но документ ещё не записан. Как вернуть её?

Нажмите Ctrl+Z для отмены последнего действия либо закройте документ без сохранения, ответив «Нет» на вопрос о записи. Документ откроется в состоянии на момент последнего сохранения.

Почему кнопка удаления строки серая и не нажимается?

Чаще всего форма открыта в режиме просмотра, у пользователя нет прав на изменение объекта или период закрыт датой запрета редактирования. Проверьте наличие кнопки «Изменить» в меню «Ещё» и при необходимости обратитесь к администратору.

Чем отличается Del от Shift+Del в табличной части?

Del очищает значение активной ячейки, строка при этом остаётся. Shift+Del удаляет всю строку целиком. Для удаления именно позиции из документа используйте Shift+Del или кнопку с крестиком.

Как удалить сразу несколько строк?

Выделите нужные строки с зажатой клавишей Ctrl (отдельные строки) или Shift (диапазон), затем нажмите Shift+Del или кнопку удаления. Все выделенные строки будут удалены одним действием.

Что произойдёт с проведённым документом после удаления строки?

После удаления строки документ нужно перепровести. До перепроведения регистры учёта хранят старые данные, поэтому остатки и отчёты временно не будут соответствовать составу документа.

Можно ли восстановить объект после окончательного удаления помеченных?

Штатными средствами — нет. Восстановление возможно только из резервной копии базы. Поэтому перед запуском обработки «Удаление помеченных объектов» рекомендуется делать выгрузку базы или копию средствами СУБД.

Итог

Что важно запомнить

Строка табличной части удаляется сочетанием Shift+Del, кнопкой с крестиком или пунктом «Удалить» контекстного меню, а результат фиксируется записью или проведением документа. Целые объекты из списков удаляются через пометку на удаление с последующей обработкой «Удаление помеченных объектов». Перед удалением проведённых документов оценивайте влияние на остатки и отчётность.