Быстрый старт · 9 мин
Как удалить текущую строку в 1С
Как удалить текущую строку в 1С: горячие клавиши Shift+Del, кнопки табличной части, пометка на удаление документа и типичные ошибки при работе со строками.
Удаление строки — одна из самых частых операций при работе с документами, справочниками и отчётами в 1С. Строки встречаются в табличных частях документов (список товаров, услуг, начислений), в табличных полях справочников и в списках объектов. В зависимости от контекста удаление выполняется по-разному: где-то достаточно сочетания клавиш, а где-то потребуется пометка на удаление с последующей обработкой.
Ключевой момент: в 1С различают удаление строки внутри объекта (например, позиции товара в накладной) и удаление самого объекта из базы (документа или элемента справочника). Первый случай безопасен и обратим до записи документа, второй требует аккуратности, поскольку связан с контролем ссылочной целостности данных.
Удаление строки в табличной части документа
Табличная часть — это блок строк внутри документа: перечень товаров в реализации, сотрудники в кадровом приказе, операции в банковской выписке. Чтобы удалить текущую строку, щёлкните по ней мышью, чтобы она стала активной (подсвеченной), и выполните одно из действий.
- 1Откройте документ и перейдите на вкладку с нужной табличной частью
- 2Щёлкните мышью по строке, которую нужно удалить, — она станет активной
- 3Нажмите Shift+Del на клавиатуре или кнопку с красным крестиком на командной панели табличной части
- 4Проверьте, что строка исчезла из списка
- 5Нажмите «Записать» или «Провести и закрыть», чтобы сохранить изменения
Альтернативный способ — контекстное меню: кликните по строке правой кнопкой мыши и выберите пункт «Удалить». В некоторых конфигурациях тот же пункт доступен через кнопку «Ещё» над табличной частью.
Пока документ не записан, удаление можно отменить комбинацией Ctrl+Z или просто закрыть форму без сохранения, ответив «Нет» на вопрос о записи. После проведения документа отменить удаление строки штатными средствами уже нельзя — придётся добавлять позицию заново.
Горячие клавиши для работы со строками
Работа с клавиатуры заметно ускоряет ввод и редактирование больших табличных частей. Основные сочетания одинаковы в большинстве конфигураций на платформе 1С:Предприятие 8.
| Сочетание | Действие |
|---|---|
Shift+Del | Удалить текущую строку табличной части |
Ins | Добавить новую строку |
F9 | Скопировать текущую строку (добавить такую же ниже) |
Shift+F9 | Скопировать строку с переносом значений в новую |
Ctrl+Z | Отменить последнее действие до записи |
Если сочетание Shift+Del не срабатывает, проверьте, не перехвачено ли оно другой программой (например, раскладкой или утилитой буфера обмена), и не находится ли курсор в режиме редактирования ячейки — в этом случае сначала нажмите Esc, затем повторите удаление.
Удаление элемента списка: пометка на удаление
Когда речь идёт не о строке внутри документа, а о целом объекте в списке — документе в журнале, элементе справочника, — простое удаление строки недоступно. В 1С действует двухступенчатый механизм: сначала объект помечается на удаление, затем удаляется окончательно через специальную обработку с контролем ссылок.
Чтобы пометить объект на удаление, выделите его в списке и нажмите клавишу Del, кнопку с крестиком на панели списка или пункт «Пометить на удаление / Снять пометку» в меню «Ещё». Помеченный объект обычно отображается зачёркнутым или с пиктограммой крестика.
Окончательное удаление выполняется через раздел «Администрирование» → «Удаление помеченных объектов» (в некоторых конфигурациях — «Обслуживание» → «Удаление помеченных объектов»). Система проверит, нет ли в базе ссылок на удаляемый объект: если документ используется в других документах или записях регистров, удаление будет заблокировано до устранения связей.
Почему строка не удаляется: типичные причины
Иногда кнопка удаления неактивна или сочетание клавиш не даёт результата. Причины почти всегда стандартны и устраняются без программирования.
Если документ находится в закрытом периоде, система выдаст сообщение о запрете изменения данных. Дату запрета редактирования настраивает администратор в разделе «Администрирование» → «Поддержка и обслуживание» → «Даты запрета изменения данных». Самостоятельно обходить это ограничение не стоит — оно защищает сданную отчётность.
Ещё одна ситуация — документ создан на основании другого или связан механизмом обмена данными (например, синхронизацией с сайтом или ЭДО). Удаление строк в таком документе может вызвать расхождения при следующем обмене, поэтому корректнее редактировать источник данных.
Как проверить результат удаления
После удаления строки и записи документа полезно убедиться, что итоги документа пересчитались корректно. В товарных документах проверьте сумму документа, количество позиций и итоговый вес, если он учитывается. В зарплатных и кадровых документах — итоговые начисления и удержания.
Как проверить результат
Удалённой строки нет, нумерация строк перестроена без пропусков нужных позиций
Строка осталась на месте или исчезла не та позиция
Сумма уменьшилась ровно на значение удалённой строки
Итог не изменился — документ не записан
После перепроведения остатки и взаиморасчёты соответствуют новому составу
В отчётах видны старые значения — документ не проведён повторно
Для документов, которые уже были проведены, удаление строки требует повторного проведения: нажмите «Провести» или «Провести и закрыть». Только после этого регистры учёта (остатки склада, взаиморасчёты, бухгалтерские проводки) отразят новое состояние.
Удаление строки программно: для разработчиков
Если вы дорабатываете конфигурацию, удаление текущей строки табличной части выполняется методом Удалить() коллекции табличной части. Текущую строку в обработчике формы получают через Элементы.ИмяТаблицы.ТекущиеДанные или по идентификатору строки.
&НаКлиенте
Процедура УдалитьТекущуюСтроку(Команда)
ТекущиеДанные = Элементы.Товары.ТекущиеДанные;
Если ТекущиеДанные = Неопределено Тогда
Возврат;
КонецЕсли;
Объект.Товары.Удалить(ТекущиеДанные);
Модифицированность = Истина;
КонецПроцедурыПри программном удалении из модуля объекта (например, в обработке заполнения) используют тот же метод Удалить() с параметром — строкой коллекции или её индексом. Помните, что удаление по индексу в цикле требует обратного перебора строк (от последней к первой), иначе индексы сместятся и часть строк будет пропущена.
При массовой очистке табличной части в коде выгоднее использовать метод Очистить() вместо удаления строк по одной — это и быстрее, и исключает ошибки со смещением индексов.
Частые вопросы
Удалили строку, но документ ещё не записан. Как вернуть её?
Нажмите Ctrl+Z для отмены последнего действия либо закройте документ без сохранения, ответив «Нет» на вопрос о записи. Документ откроется в состоянии на момент последнего сохранения.
Почему кнопка удаления строки серая и не нажимается?
Чаще всего форма открыта в режиме просмотра, у пользователя нет прав на изменение объекта или период закрыт датой запрета редактирования. Проверьте наличие кнопки «Изменить» в меню «Ещё» и при необходимости обратитесь к администратору.
Чем отличается Del от Shift+Del в табличной части?
Del очищает значение активной ячейки, строка при этом остаётся. Shift+Del удаляет всю строку целиком. Для удаления именно позиции из документа используйте Shift+Del или кнопку с крестиком.
Как удалить сразу несколько строк?
Выделите нужные строки с зажатой клавишей Ctrl (отдельные строки) или Shift (диапазон), затем нажмите Shift+Del или кнопку удаления. Все выделенные строки будут удалены одним действием.
Что произойдёт с проведённым документом после удаления строки?
После удаления строки документ нужно перепровести. До перепроведения регистры учёта хранят старые данные, поэтому остатки и отчёты временно не будут соответствовать составу документа.
Можно ли восстановить объект после окончательного удаления помеченных?
Штатными средствами — нет. Восстановление возможно только из резервной копии базы. Поэтому перед запуском обработки «Удаление помеченных объектов» рекомендуется делать выгрузку базы или копию средствами СУБД.
Что важно запомнить
Строка табличной части удаляется сочетанием Shift+Del, кнопкой с крестиком или пунктом «Удалить» контекстного меню, а результат фиксируется записью или проведением документа. Целые объекты из списков удаляются через пометку на удаление с последующей обработкой «Удаление помеченных объектов». Перед удалением проведённых документов оценивайте влияние на остатки и отчётность.