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

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

Как удалить строчку в 1С

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

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

В типовых конфигурациях 1С (Бухгалтерия, Управление торговлей, Зарплата и управление персоналом) удаление строки выполняется через контекстное меню, кнопку на панели инструментов или сочетанием клавиш. При этом платформа различает непосредственное удаление строки табличной части и пометку на удаление объекта целиком — это принципиально разные операции с разными последствиями для базы данных.

Ниже разобраны все основные сценарии: удаление строки в табличной части документа, работа со справочниками и журналами, удаление через код для разработчиков, а также типичные ошибки и способы проверить результат.

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

Чаще всего удалить строчку требуется в табличной части документа — например, убрать позицию товара из «Реализации товаров и услуг» или лишнюю строку начисления в кадровом документе. Откройте документ, найдите нужную табличную часть (вкладки «Товары», «Услуги», «Начисления» и т. п.) и установите курсор на строку, которую нужно удалить.

Далее есть три равнозначных способа: нажать клавишу Delete на клавиатуре, щёлкнуть правой кнопкой мыши по строке и выбрать пункт «Удалить», либо нажать кнопку с изображением красного крестика на командной панели табличной части. Строка исчезнет сразу, но физически изменение сохранится в базе только после записи документа кнопкой «Записать» или «Провести и закрыть».

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

Порядок действий
  1. 1
    Откройте документ и перейдите на нужную табличную часть
  2. 2
    Выделите строку, которую требуется удалить
  3. 3
    Нажмите Delete, кнопку с крестиком или «Удалить» в контекстном меню
  4. 4
    Проверьте итоговые суммы документа
  5. 5
    Нажмите «Провести и закрыть», чтобы зафиксировать изменение

Удаление нескольких строк сразу

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

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

Удаление элемента справочника или документа из списка

Если под «строчкой» понимается запись в списке — элемент справочника «Номенклатура», контрагент или документ в журнале, — механизм другой. В 1С такие объекты не стираются напрямую: сначала они помечаются на удаление. Выделите объект в списке и нажмите Delete, либо выберите «Пометить на удаление / Снять пометку» в меню «Ещё».

Помеченный объект остаётся в базе, но визуально отображается перечёркнутым и исключается из большинства операций. Повторное нажатие Delete снимает пометку — это удобная страховка от случайных действий.

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

Удаление строки в управляемых и обычных формах: есть ли разница

В современных конфигурациях на управляемых формах (такси-интерфейс) удаление строки работает так, как описано выше: Delete, крестик на панели, контекстное меню. В старых конфигурациях на обычных формах (например, «1С:Управление торговлей 10.3» или «Бухгалтерия 8.2» с обычным интерфейсом) набор кнопок тот же, но расположение командной панели отличается — ищите пиктограмму крестика непосредственно над таблицей.

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

Если кнопка удаления серая и не нажимается, чаще всего причина в одном из трёх: документ открыт только на просмотр, у пользователя недостаточно прав, либо курсор стоит не в табличной части, а в поле шапки документа. Кликните именно по ячейке нужной строки и проверьте активность кнопок снова.
ПЗ
Практическое замечание

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

Во встроенном языке 1С строку табличной части удаляют методом Удалить() коллекции табличной части. Типичный пример — удаление строки по индексу или по найденной строке:

// Удаление текущей строки табличной части "Товары"

ДокументОбъект.Товары.Удалить(ТекущаяСтрока);

// Удаление всех строк с нулевым количеством

СтрокиКУдалению = Новый Массив;

Для Каждого СтрокаТовара Из ДокументОбъект.Товары Цикл

Если СтрокаТовара.Количество = 0 Тогда

СтрокиКУдалению.Добавить(СтрокаТовара);

КонецЕсли;

КонецЦикла;

Для Каждого Строка Из СтрокиКУдалению Цикл

ДокументОбъект.Товары.Удалить(Строка);

КонецЦикла;

ДокументОбъект.Записать();

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

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

bsl
ДокументОбъект.Товары.Удалить(СтрокаТабличнойЧасти);
ДокументОбъект.Записать();

Как проверить результат и что делать при ошибках

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

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

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

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

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

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

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

Сумма не изменилась — строка не удалена или документ не перезаписан

Список после пометки на удаление
Норма

Объект отображается перечёркнутым

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

Объект выглядит обычно — пометка не установилась, проверьте права

Удаление помеченных объектов
Норма

Объект исчез из списка, отчёты работают без ошибок

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

Появились записи «Объект не найден» — есть битые ссылки

Типичные ошибки при удалении строк

Распространённая ошибка — попытка удалить строку клавишей Delete, когда фокус стоит в поле ввода: вместо удаления строки стирается символ в ячейке. Перед нажатием Delete убедитесь, что выделена именно строка (подсвечена целиком), а не активен курсор редактирования текста.

Вторая частая ситуация — пользователь удаляет строки, но закрывает документ без записи, а потом удивляется, что позиции «вернулись». Любые изменения табличной части фиксируются только кнопкой «Записать» или «Провести».

Типичные ошибки
01
Удаление строк и закрытие документа без записи — изменения теряются
02
Удаление элемента справочника без контроля ссылок — в документах появляются «Объект не найден»
03
Удаление строк в цикле обхода коллекции в коде — часть строк пропускается из-за сдвига индексов
04
Попытка удалить строку в документе, открытом в режиме просмотра — кнопки неактивны, действие не выполняется

Часто задаваемые вопросы

Как восстановить случайно удалённую строку в документе?

Если документ ещё не записан после удаления, закройте его без сохранения и откройте заново — строка вернётся. Если документ уже записан, восстановить строку штатными средствами нельзя: её придётся добавить вручную заново. Для критичных баз помогает только восстановление из резервной копии.

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

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

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

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

Можно ли удалить сразу все строки табличной части?

Да. Выделите все строки через Ctrl+A в табличной части и нажмите Delete, либо используйте команду «Очистить» в меню «Ещё», если она предусмотрена конфигурацией. После очистки обязательно запишите документ.

Что делать, если после удаления объекта появились записи «Объект не найден»?

Это «битые ссылки» — признак того, что объект удалили без контроля ссылочной целостности. Найдите документы и записи с такими ссылками и либо замените их на существующий объект, либо очистите. В дальнейшем удаляйте объекты только через штатную процедуру удаления помеченных с проверкой ссылок.

Как удалить строку в 1С на веб-клиенте или через браузер?

Действия те же: выделите строку и нажмите Delete или кнопку с крестиком на командной панели. Контекстное меню по правой кнопке мыши в веб-клиенте также доступно, хотя набор пунктов может немного отличаться в зависимости от браузера.

Итог

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

Строку табличной части удаляют клавишей Delete, крестиком или контекстным меню, а изменения фиксируют записью документа. Элементы справочников и документы целиком сначала помечают на удаление, затем удаляют через контроль ссылочной целостности. Перед массовыми удалениями делайте резервную копию базы.