Массовое удаление строк в табличной части и списках 1С 8.3
Содержание
Чтобы удалить в 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 не работают и подсвечивается только одна строка, у этой таблицы в форме включён одиночный режим выделения. Это свойство элемента формы «Режим выделения», его задаёт разработчик. В типовых табличных частях товаров и услуг множественное выделение обычно есть, а в некоторых служебных таблицах — нет.
Пользователю в этом случае помогут способы из разделов про отбор и обработку. Программисту — свойство РежимВыделения = Множественный у элемента таблицы, лучше через расширение, чтобы не снимать конфигурацию с поддержки.
Удаление выделенных строк: клавиша, контекстное меню, «Ещё»
Когда строки выделены, удалить их можно тремя путями. Результат одинаковый, выбирайте удобный.
- ⌨️ Клавиша
Delete— самый быстрый вариант. - 🖱️ Правый щелчок по любой выделенной строке →
Удалить. - 📋 Кнопка
Ещёна командной панели табличной части →Удалить.
В табличной части документа строки исчезают сразу, без вопроса «Удалить?». Это пугает, но изменения ещё не записаны: пока вы не нажали Записать или Провести, документ в базе прежний.
Как очистить табличную часть целиком
Отдельной кнопки очистки в большинстве типовых форм нет. Работает связка Ctrl+A → Delete: на документе в 300 строк это две секунды.
Кнопка Заполнить в ряде документов (например, в инвентаризации или в начислении зарплаты) сначала очищает таблицу, а потом заполняет её заново. Если вам нужна пустая таблица, а не перезаполненная, используйте Ctrl+A.
Строки в печатной форме или отчёте
Табличный документ — печатная форма, отчёт, выгрузка — устроен как электронная таблица. Строки выделяют щелчком по их номерам у левого края (с Shift — диапазон), а удаляют правым щелчком → Удалить.
Сработает это, только если документ доступен для редактирования. Отчёты часто открываются в режиме «только просмотр». Тогда сохраните результат в Excel (Ещё → Сохранить как или значок дискеты) и удаляйте строки там. Учтите: правка печатной формы не меняет сам документ в базе.
Как удалить строки по условию: сортировка и поиск
Типичная задача: в документе 250 строк, из них 40 с нулевым количеством, и они разбросаны по всей таблице. Выделять их с Ctrl по одной долго и легко промахнуться. Есть два приёма быстрее.
Сортировка: собрать нужные строки в один блок
- Щёлкните по заголовку колонки «Количество». Таблица отсортируется, строки с нулём окажутся вверху.
- Если по одному щелчку отсортировалось по убыванию — щёлкните ещё раз.
- Выделите первую нулевую строку, затем
Shift+ щелчок по последней нулевой. - Нажмите
Delete.
Сортировать можно и через Ещё → Сортировать по возрастанию, предварительно встав в нужную колонку. Тот же приём работает по номенклатуре, складу, ставке НДС — по любой колонке.
Сортировка меняет порядок строк в документе, и после записи он сохранится. Если порядок важен (например, совпадает с накладной поставщика), отсортируйте обратно по колонке «N» перед записью.
Поиск: оставить на экране только подходящие строки
В форме документа встаньте в нужную колонку и нажмите Ctrl+F (или Ещё → Найти). Введите значение — например, артикул или слово из наименования. В таблице останутся только найденные строки.
Дальше Ctrl+A → Delete, и Ещё → Отменить поиск (Ctrl+Q), чтобы вернуть остальные строки на экран.
Перед удалением сверьте число выделенных строк с тем, что ожидаете увидеть: посмотрите номера в колонке «N» и итог по документу до и после. Если что-то пошло не так, закройте документ без записи.
Как удалить сразу несколько документов или элементов справочника
В списках — журнале документов, справочнике «Номенклатура», списке контрагентов — Delete работает иначе. Объект не удаляется, а получает пометку на удаление. Это защита: документ может быть связан с проводками, оплатами, счетами-фактурами.
Порядок для группы объектов:
- Откройте список, например
Продажи → Реализация (акты, накладные). - Отберите нужное: поле поиска над списком, отбор по организации или контрагенту,
Ещё → Настроить списокдля отбора по периоду и другим полям. - Выделите строки (
Shift,CtrlилиCtrl+A) и нажмитеDelete. - Подтвердите вопрос о пометке. Проведённые документы при пометке теряют проведение — движения и проводки по ним снимаются.
- Физически удалите помеченные: в Бухгалтерии 3.0 это
Администрирование → Обслуживание → Корректировка данных → Удаление помеченных объектов.
Обработка удаления помеченных проверяет ссылки. Если на документ ссылается, например, платёжка или счёт-фактура, он не удалится, а попадёт в список объектов, которые мешают удалению. Решите, что делать со ссылкой, и запустите обработку повторно.
Пометка на удаление снимается тем же Delete или командой снятия пометки в меню Ещё. Пока не запущено удаление помеченных, объект можно вернуть в один щелчок.
Удаление помеченных лучше запускать, когда остальные пользователи не проводят документы: обработка идёт долго и ссылки проверяет на момент запуска.
Массовое удаление строк сразу в десятках документов
Бывает, что лишние строки нужно убрать не в одном документе, а в ста. Пример: после загрузки из файла во всех реализациях за квартал оказались строки с нулём в количестве и сумме. Открывать каждый документ — полдня работы.
Стандартная обработка «Групповое изменение реквизитов» (в Бухгалтерии 3.0 — в том же разделе Администрирование → Обслуживание → Корректировка данных) меняет значения реквизитов, а строки табличной части не удаляет. Для удаления нужна внешняя обработка. Ниже — серверная процедура, которую программист вставит в форму внешней обработки за 10 минут.
&НаСервере
Процедура УдалитьНулевыеСтрокиНаСервере(НачалоПериода, КонецПериода)
Запрос = Новый Запрос;
Запрос.Текст =
"ВЫБРАТЬ РАЗЛИЧНЫЕ
| Т.Ссылка КАК Ссылка
|ИЗ
| Документ.РеализацияТоваровУслуг.Товары КАК Т
|ГДЕ
| Т.Количество = 0
| И Т.Сумма = 0
| И Т.Ссылка.Дата МЕЖДУ &Начало И &Конец
| И НЕ Т.Ссылка.ПометкаУдаления";
Запрос.УстановитьПараметр("Начало", НачалоПериода);
Запрос.УстановитьПараметр("Конец", КонецПериода);
Выборка = Запрос.Выполнить().Выбрать();
Пока Выборка.Следующий() Цикл
ДокОбъект = Выборка.Ссылка.ПолучитьОбъект();
Отбор = Новый Структура("Количество, Сумма", 0, 0);
НайденныеСтроки = ДокОбъект.Товары.НайтиСтроки(Отбор);
Для Каждого Строка Из НайденныеСтроки Цикл
ДокОбъект.Товары.Удалить(Строка);
КонецЦикла;
Если ДокОбъект.Проведен Тогда
ДокОбъект.Записать(РежимЗаписиДокумента.Проведение);
Иначе
ДокОбъект.Записать(РежимЗаписиДокумента.Запись);
КонецЕсли;
КонецЦикла;
КонецПроцедуры
Почему код устроен именно так:
- 🔍 Запрос выбирает только документы, где такие строки точно есть. Остальные не перезаписываются и не перепроводятся.
- 📌
НайтиСтрокивозвращает массив строк, и удаление идёт по самой строке, а не по индексу. Поэтому сдвиг нумерации после удаления ничего не ломает — частая ошибка в цикле по индексам «от 0 до Количество()». - 💰 Условие «количество и сумма равны нулю» гарантирует, что итог документа не изменится. Если удаляете строки с суммой, документ после записи нужно проверить: итоговая сумма и НДС должны пересчитаться.
- 🔁 Проведённые документы перепроводятся, иначе движения остались бы со старыми строками.
Имя документа и табличной части (РеализацияТоваровУслуг, Товары) замените на свои — их видно в конфигураторе в дереве метаданных. Запускают внешнюю обработку
через главное меню: Файл → Открыть. Для этого у пользователя должно быть право на открытие внешних обработок.
Если период закрыт датой запрета изменения, запись документов прервётся с ошибкой. Не снимайте запрет «на минутку» без согласования с главным бухгалтером: перепроведение старых документов может сдвинуть закрытую отчётность.
Какой способ массового удаления выбрать
| Ситуация | Способ | Риск |
|---|---|---|
| Несколько строк рядом | Shift + щелчок → Delete | Минимальный, до записи всё обратимо |
| Строки вразбивку, до 10–15 штук | Ctrl + щелчки → Delete | Промахнуться мимо строки |
| Строки с общим признаком в одном документе | Сортировка или поиск → выделение → Delete | Изменённый порядок строк |
| Очистить таблицу целиком | Ctrl+A → Delete | Минимальный |
| Группа документов или элементов справочника | Пометка на удаление → удаление помеченных | Удаление связанных объектов, долгий запуск |
| Строки во многих документах | Внешняя обработка | Перепроведение, закрытый период |
Правило простое: чем больше документов затрагивает способ, тем обязательнее резервная копия и проверка на копии базы. Ручное удаление в одном открытом документе такой подготовки не требует.
Как вернуть случайно удалённые строки
Шансы зависят от того, успели ли вы записать документ.
Документ ещё не записан. Закройте форму крестиком и на вопрос о сохранении изменений ответьте Нет. Откройте документ заново — строки на месте. Это самый надёжный способ, используйте его сразу, как заметили ошибку.
Документ записан, включена история изменений. В Бухгалтерии 3.0 и других конфигурациях на БСП версии объектов хранятся, если включена настройка в Администрирование → Общие настройки (раздел про историю изменений). В документе откройте Ещё → История изменений, выберите версию до удаления, сравните её с текущей и восстановите. Строки вернутся вместе со всеми реквизитами.
Истории нет. Остаются три пути:
- 📄 Скопировать строки из похожего документа: открыть его, выделить строки,
Ctrl+C, в нужном документе встать в таблицу иCtrl+V. Копирование и вставка строк между табличными частями одного вида работают в интерфейсе «Такси». - 🗂️ Поднять копию базы из резервной копии в отдельную информационную базу и перенести данные оттуда вручную или выгрузкой.
- 🧾 Восстановить строки по первичному документу контрагента или по печатной форме, если она сохранена.
Не загружайте резервную копию поверх рабочей базы ради нескольких строк: пропадёт всё, что коллеги внесли после её создания. Разворачивайте копию рядом, отдельной базой.
Объекты удалены обработкой удаления помеченных. Здесь отмены нет. Пока объект только помечен — снимите пометку. После физического удаления вернуть документ можно только из резервной копии.
Частые вопросы
Почему Delete в списке документов не удаляет, а только помечает?
Можно ли удалить строки в проведённом документе?
Провести и закрыть, чтобы движения пересчитались. Если нажать только Записать, программа обычно предупреждает, что документ будет записан без проведения или перепроведён, — смотрите текст сообщения.Пропало выделение после прокрутки — строки сняты?
Ctrl по любой строке: тогда выделенной останется только она.Удаляются ли связанные данные при удалении строк товаров?
Как удалить пустые строки, которые остались после загрузки из Excel?
Shift и нажмите Delete.