Массовое удаление строк в табличной части и списках 1С 8.3

· 9 мин

Содержание

Чтобы удалить в 1С сразу несколько строк, выделите их мышью с зажатым Shift (подряд идущие) или Ctrl (вразбивку) и нажмите Delete. Все строки табличной части выделяются сочетанием Ctrl+A. Так это работает в любой конфигурации на платформе 8.3 с интерфейсом «Такси»: в Бухгалтерии 3.0, ЗУП 3.1, УТ 11 — потому что механизм выделения общий для платформы.

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

Как выделить несколько строк в 1С мышью и клавиатурой

Удаление начинается с выделения. Табличная часть документа (например, «Товары» в реализации) и список документов поддерживают одни и те же приёмы.

Что нужно выделитьКак сделать
Строки подряд, с 5-й по 40-юЩелчок по 5-й строке, затем Shift + щелчок по 40-й
Строки вразбивку: 3-ю, 8-ю, 15-юCtrl + щелчок по каждой
Все строки таблицыЩелчок в таблицу, затем Ctrl+A
Расширить выделение с клавиатурыShift + стрелки ↑ / ↓
Убрать одну строку из выделенияCtrl + повторный щелчок по ней

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

Щёлкайте по ячейке с номером строки или по колонке, которая не открывает выбор значения. Щелчок по полю «Номенклатура» в режиме редактирования откроет поле ввода, и выделение собьётся.

Почему не выделяются несколько строк

Если Ctrl и Shift не работают и подсвечивается только одна строка, у этой таблицы в форме включён одиночный режим выделения. Это свойство элемента формы «Режим выделения», его задаёт разработчик. В типовых табличных частях товаров и услуг множественное выделение обычно есть, а в некоторых служебных таблицах — нет.

Пользователю в этом случае помогут способы из разделов про отбор и обработку. Программисту — свойство РежимВыделения = Множественный у элемента таблицы, лучше через расширение, чтобы не снимать конфигурацию с поддержки.

Удаление выделенных строк: клавиша, контекстное меню, «Ещё»

Когда строки выделены, удалить их можно тремя путями. Результат одинаковый, выбирайте удобный.

  1. ⌨️ Клавиша Delete — самый быстрый вариант.
  2. 🖱️ Правый щелчок по любой выделенной строке → Удалить.
  3. 📋 Кнопка Ещё на командной панели табличной части → Удалить.

В табличной части документа строки исчезают сразу, без вопроса «Удалить?». Это пугает, но изменения ещё не записаны: пока вы не нажали Записать или Провести, документ в базе прежний.

Как очистить табличную часть целиком

Отдельной кнопки очистки в большинстве типовых форм нет. Работает связка Ctrl+A → Delete: на документе в 300 строк это две секунды.

Кнопка Заполнить в ряде документов (например, в инвентаризации или в начислении зарплаты) сначала очищает таблицу, а потом заполняет её заново. Если вам нужна пустая таблица, а не перезаполненная, используйте Ctrl+A.

Строки в печатной форме или отчёте

Табличный документ — печатная форма, отчёт, выгрузка — устроен как электронная таблица. Строки выделяют щелчком по их номерам у левого края (с Shift — диапазон), а удаляют правым щелчком → Удалить.

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

Как удалить строки по условию: сортировка и поиск

Типичная задача: в документе 250 строк, из них 40 с нулевым количеством, и они разбросаны по всей таблице. Выделять их с Ctrl по одной долго и легко промахнуться. Есть два приёма быстрее.

Сортировка: собрать нужные строки в один блок

  1. Щёлкните по заголовку колонки «Количество». Таблица отсортируется, строки с нулём окажутся вверху.
  2. Если по одному щелчку отсортировалось по убыванию — щёлкните ещё раз.
  3. Выделите первую нулевую строку, затем Shift + щелчок по последней нулевой.
  4. Нажмите Delete.

Сортировать можно и через Ещё → Сортировать по возрастанию, предварительно встав в нужную колонку. Тот же приём работает по номенклатуре, складу, ставке НДС — по любой колонке.

Сортировка меняет порядок строк в документе, и после записи он сохранится. Если порядок важен (например, совпадает с накладной поставщика), отсортируйте обратно по колонке «N» перед записью.

Поиск: оставить на экране только подходящие строки

В форме документа встаньте в нужную колонку и нажмите Ctrl+F (или Ещё → Найти). Введите значение — например, артикул или слово из наименования. В таблице останутся только найденные строки.

Дальше Ctrl+A → Delete, и Ещё → Отменить поиск (Ctrl+Q), чтобы вернуть остальные строки на экран.

Перед удалением сверьте число выделенных строк с тем, что ожидаете увидеть: посмотрите номера в колонке «N» и итог по документу до и после. Если что-то пошло не так, закройте документ без записи.

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

В списках — журнале документов, справочнике «Номенклатура», списке контрагентов — Delete работает иначе. Объект не удаляется, а получает пометку на удаление. Это защита: документ может быть связан с проводками, оплатами, счетами-фактурами.

Порядок для группы объектов:

  1. Откройте список, например Продажи → Реализация (акты, накладные).
  2. Отберите нужное: поле поиска над списком, отбор по организации или контрагенту, Ещё → Настроить список для отбора по периоду и другим полям.
  3. Выделите строки (Shift, Ctrl или Ctrl+A) и нажмите Delete.
  4. Подтвердите вопрос о пометке. Проведённые документы при пометке теряют проведение — движения и проводки по ним снимаются.
  5. Физически удалите помеченные: в Бухгалтерии 3.0 это Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов.

Обработка удаления помеченных проверяет ссылки. Если на документ ссылается, например, платёжка или счёт-фактура, он не удалится, а попадёт в список объектов, которые мешают удалению. Решите, что делать со ссылкой, и запустите обработку повторно.

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

Удаление помеченных лучше запускать, когда остальные пользователи не проводят документы: обработка идёт долго и ссылки проверяет на момент запуска.

Массовое удаление строк сразу в десятках документов

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

Стандартная обработка «Групповое изменение реквизитов» (в Бухгалтерии 3.0 — в том же разделе Администрирование → Обслуживание → Корректировка данных) меняет значения реквизитов, а строки табличной части не удаляет. Для удаления нужна внешняя обработка. Ниже — серверная процедура, которую программист вставит в форму внешней обработки за 10 минут.

&НаСервере
Процедура УдалитьНулевыеСтрокиНаСервере(НачалоПериода, КонецПериода)

	Запрос = Новый Запрос;
	Запрос.Текст =
	"ВЫБРАТЬ РАЗЛИЧНЫЕ
	|	Т.Ссылка КАК Ссылка
	|ИЗ
	|	Документ.РеализацияТоваровУслуг.Товары КАК Т
	|ГДЕ
	|	Т.Количество = 0
	|	И Т.Сумма = 0
	|	И Т.Ссылка.Дата МЕЖДУ &Начало И &Конец
	|	И НЕ Т.Ссылка.ПометкаУдаления";
	Запрос.УстановитьПараметр("Начало", НачалоПериода);
	Запрос.УстановитьПараметр("Конец", КонецПериода);

	Выборка = Запрос.Выполнить().Выбрать();
	Пока Выборка.Следующий() Цикл
		ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
		Отбор = Новый Структура("Количество, Сумма", 0, 0);
		НайденныеСтроки = ДокОбъект.Товары.НайтиСтроки(Отбор);
		Для Каждого Строка Из НайденныеСтроки Цикл
			ДокОбъект.Товары.Удалить(Строка);
		КонецЦикла;
		Если ДокОбъект.Проведен Тогда
			ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
		Иначе
			ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
		КонецЕсли;
	КонецЦикла;

КонецПроцедуры

Почему код устроен именно так:

  • 🔍 Запрос выбирает только документы, где такие строки точно есть. Остальные не перезаписываются и не перепроводятся.
  • 📌 НайтиСтроки возвращает массив строк, и удаление идёт по самой строке, а не по индексу. Поэтому сдвиг нумерации после удаления ничего не ломает — частая ошибка в цикле по индексам «от 0 до Количество()».
  • 💰 Условие «количество и сумма равны нулю» гарантирует, что итог документа не изменится. Если удаляете строки с суммой, документ после записи нужно проверить: итоговая сумма и НДС должны пересчитаться.
  • 🔁 Проведённые документы перепроводятся, иначе движения остались бы со старыми строками.

Имя документа и табличной части (РеализацияТоваровУслуг, Товары) замените на свои — их видно в конфигураторе в дереве метаданных. Запускают внешнюю обработку через главное меню: Файл → Открыть. Для этого у пользователя должно быть право на открытие внешних обработок.

Перед запуском массовой обработки
Выполнено: 0 / 5

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

Какой способ массового удаления выбрать

СитуацияСпособРиск
Несколько строк рядомShift + щелчок → DeleteМинимальный, до записи всё обратимо
Строки вразбивку, до 10–15 штукCtrl + щелчки → DeleteПромахнуться мимо строки
Строки с общим признаком в одном документеСортировка или поиск → выделение → DeleteИзменённый порядок строк
Очистить таблицу целикомCtrl+A → DeleteМинимальный
Группа документов или элементов справочникаПометка на удаление → удаление помеченныхУдаление связанных объектов, долгий запуск
Строки во многих документахВнешняя обработкаПерепроведение, закрытый период

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

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

Шансы зависят от того, успели ли вы записать документ.

Документ ещё не записан. Закройте форму крестиком и на вопрос о сохранении изменений ответьте Нет. Откройте документ заново — строки на месте. Это самый надёжный способ, используйте его сразу, как заметили ошибку.

Документ записан, включена история изменений. В Бухгалтерии 3.0 и других конфигурациях на БСП версии объектов хранятся, если включена настройка в Администрирование → Общие настройки (раздел про историю изменений). В документе откройте Ещё → История изменений, выберите версию до удаления, сравните её с текущей и восстановите. Строки вернутся вместе со всеми реквизитами.

Истории нет. Остаются три пути:

  • 📄 Скопировать строки из похожего документа: открыть его, выделить строки, Ctrl+C, в нужном документе встать в таблицу и Ctrl+V. Копирование и вставка строк между табличными частями одного вида работают в интерфейсе «Такси».
  • 🗂️ Поднять копию базы из резервной копии в отдельную информационную базу и перенести данные оттуда вручную или выгрузкой.
  • 🧾 Восстановить строки по первичному документу контрагента или по печатной форме, если она сохранена.

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

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

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

Почему Delete в списке документов не удаляет, а только помечает?
Это защита ссылочной целостности. Документ может участвовать в оплатах, счетах-фактурах, отчётах. Физически его удаляет отдельная обработка удаления помеченных, которая проверяет, не ссылается ли на него что-то.
Можно ли удалить строки в проведённом документе?
Да. Удалите строки и нажмите Провести и закрыть, чтобы движения пересчитались. Если нажать только Записать, программа обычно предупреждает, что документ будет записан без проведения или перепроведён, — смотрите текст сообщения.
Пропало выделение после прокрутки — строки сняты?
Нет, выделение сохраняется при прокрутке колесом. Сбивает его обычный щелчок без Ctrl по любой строке: тогда выделенной останется только она.
Удаляются ли связанные данные при удалении строк товаров?
В части документов со строкой связаны данные в других таблицах формы, например серийные номера или коды маркировки. Обычно при удалении строки товара их строки удаляются вместе с ней, но после записи загляните в эти таблицы и проверьте.
Как удалить пустые строки, которые остались после загрузки из Excel?
Отсортируйте таблицу по колонке «Номенклатура»: строки без номенклатуры соберутся в начале или в конце. Выделите их с Shift и нажмите Delete.