Быстрый старт · 9 мин
Как удалить строку в таблице 1С
Как удалить строку в табличной части документа, списке справочника и таблице значений в 1С. Клавиши, команды меню, код для разработчика и частые ошибки.
Работа с таблицами — основа повседневных задач в 1С: строки есть в табличных частях документов, в списках справочников и регистров, в отчётах и таблицах значений. Способ удаления строки зависит от того, где именно она находится и какой режим работы используется — обычное приложение, тонкий клиент или веб-клиент.
В большинстве случаев строку табличной части документа удаляют клавишей Delete или командой контекстного меню, а запись в списке справочника помечают на удаление через F8 или кнопку с корзиной. При этом важно различать «удаление строки таблицы» и «удаление объекта из базы» — это разные операции с разными последствиями.
Ниже разобраны все основные сценарии: табличная часть документа, список справочника, динамический список, удаление через код для разработчиков и типичные ошибки, из-за которых строка не удаляется.
Как удалить строку в табличной части документа
Табличная часть — это блок строк внутри документа: товары в накладной, услуги в акте, начисления в ведомости. Чтобы удалить строку, установите курсор на нужную строку и нажмите клавишу Delete. Строка исчезнет сразу, без дополнительных подтверждений, но само изменение сохранится только после записи документа.
Альтернативный способ — контекстное меню: щёлкните правой кнопкой мыши по строке и выберите «Удалить». В некоторых конфигурациях над табличной частью есть командная панель с кнопкой «Удалить» (обычно значок крестика или корзины) — она делает то же самое.
Если нужно убрать сразу все строки, быстрее воспользоваться командой «Очистить» (если она есть в меню «Ещё» табличной части) либо выделить все строки сочетанием Ctrl+A и нажать Delete. Учтите: массовое удаление не всегда можно отменить, поэтому перед очисткой большой таблицы проверьте, что удаляете именно то.
- 1Откройте документ и перейдите на вкладку с табличной частью
- 2Установите курсор на нужную строку
- 3Нажмите Delete или выберите «Удалить» в контекстном меню
- 4Проверьте, что итоговые суммы документа пересчитались
- 5Запишите документ кнопкой «Записать» или «Провести и закрыть»
Удаление записи из списка справочника или документа
Список справочника или журнал документов — тоже таблица, но удаление здесь работает иначе. Нажатие Delete на выделенном элементе не стирает его мгновенно, а устанавливает пометку на удаление: элемент остаётся в базе, но становится недоступным для выбора и обычно отображается с перечёркнутым значком.
Для пометки на удаление выделите запись и нажмите Delete, либо используйте команду «Пометить на удаление / Снять пометку» в меню «Ещё». Повторное нажатие снимает пометку — это удобно, если запись отметили ошибочно.
Физическое удаление помеченных объектов выполняется отдельно: в разделе «Администрирование» выберите «Обслуживание» → «Удаление помеченных объектов» (в некоторых конфигурациях путь — «Операции» → «Удаление помеченных объектов»). Система проверит ссылки на объект: если на него ссылаются другие документы или элементы, удалить его не получится, пока ссылки не будут устранены.
Почему строка не удаляется: типичные причины
Самая частая причина — документ проведён. В ряде конфигураций редактирование табличной части проведённого документа заблокировано или требует отмены проведения. Нажмите «Ещё» → «Отменить проведение», удалите строку и проведите документ заново. Помните: перепроведение изменит движения по регистрам, а в закрытом периоде это может быть запрещено датой запрета редактирования.
Вторая причина — недостаток прав. Если у пользователя нет права «Изменение» или «Удаление» на объект, кнопки будут неактивны, а Delete не сработает. Проверить это просто: если команда «Удалить» серая в меню и в контекстном списке — обратитесь к администратору за настройкой ролей.
Третья группа причин — программные ограничения конфигурации: строки, добавленные автоматически (например, по данным другого документа или механизма распределения), могут пересоздаваться при пересчёте. В таком случае удалять нужно не строку, а источник её появления — иначе после перезаписи документа она вернётся.
Удаление строки в динамическом списке и отчёте
Динамические списки (журналы документов, списки в рабочих местах) отображают данные из базы, и удаление в них происходит тем же способом, что и в списке справочника: выделите строку и нажмите Delete — объект будет помечен на удаление. Если список настроен только на просмотр, команда удаления будет недоступна.
В отчётах строки удалить нельзя в принципе: отчёт — это результат выборки данных, а не редактируемая таблица. Если в отчёте «лишняя» строка, нужно изменить отбор, настройки группировки или исправить первичный документ, на основании которого строка попала в отчёт.
Отдельный случай — таблицы в режиме подбора (например, подбор номенклатуры). Там строки добавляются в документ, и удалять их нужно уже в самом документе, а не в окне подбора.
Как удалить строку программно (для разработчиков)
Во встроенном языке 1С строку табличной части удаляют методом Удалить() коллекции строк. Есть два подхода: удалить конкретную строку по объекту или найти строки по условию и удалить их в цикле.
// Удалить текущую строку табличной части "Товары"
Документ.Товары.Удалить(ТекущаяСтрока);
// Удалить все строки с нулевым количеством
Индекс = Документ.Товары.Количество() - 1;
Пока Индекс >= 0 Цикл
Если Документ.Товары[Индекс].Количество = 0 Тогда
Документ.Товары.Удалить(Индекс);
КонецЕсли;
Индекс = Индекс - 1;
КонецЦикла;
Обратите внимание на обход коллекции с конца: если удалять строки в прямом цикле, индексы сдвигаются, и часть строк будет пропущена. Для полной очистки табличной части используйте метод Очистить() — он быстрее и безопаснее ручного цикла.
Для таблиц значений логика аналогична: методы Удалить(Строка), Удалить(Индекс) и Очистить(). После программного удаления строк из табличной части объекта не забудьте записать объект — иначе изменения останутся только в памяти.
Документ.Товары.Удалить(ТекущаяСтрока); // удалить строку табличной частиПроверка результата и восстановление после ошибки
После удаления строки табличной части проверьте итоговые показатели документа: суммы, количество, налоги должны пересчитаться автоматически. Если итоги не изменились — возможно, пересчёт в конфигурации выполняется при записи, тогда просто запишите документ и откройте его повторно.
Если строку удалили по ошибке и документ ещё не записан, закройте форму без сохранения — данные вернутся к состоянию на момент последней записи. Если документ уже записан, строку придётся добавлять заново вручную или из исходных данных.
Для помеченных на удаление объектов восстановление проще: снимите пометку командой «Пометить на удаление / Снять пометку». Но после физического удаления через «Удаление помеченных объектов» восстановить данные можно только из резервной копии.
Как проверить результат
Итоги пересчитались после удаления строки
Суммы не изменились — документ не записан или пересчёт отключён
Элемент отображается с пометкой на удаление (перечёркнут)
Элемент исчез без пометки — возможно, выполнено прямое удаление
Удалённая строка отсутствует после записи
Строка вернулась — изменения не были записаны
Частые вопросы
Как удалить сразу все строки табличной части?
Выделите все строки сочетанием Ctrl+A и нажмите Delete, либо используйте команду «Очистить» в меню «Ещё» табличной части, если она доступна. Программно для этого служит метод Очистить().
Почему кнопка «Удалить» неактивна?
Чаще всего не хватает прав пользователя на изменение объекта, документ проведён и редактирование заблокировано, либо список открыт в режиме только для просмотра. Проверьте статус документа и обратитесь к администратору для проверки ролей.
Чем пометка на удаление отличается от удаления строки?
Удаление строки табличной части убирает данные из конкретного документа сразу после записи. Пометка на удаление — это отметка целого объекта базы (элемента справочника, документа), который физически стирается позже через специальную обработку удаления помеченных объектов.
Можно ли восстановить удалённую строку документа?
Если документ не записан — закройте его без сохранения. Если уже записан, строку нужно добавить заново вручную. Автоматической функции отмены удаления строки в типовых конфигурациях нет.
Как удалить строку в 1С через браузер (веб-клиент)?
Логика та же: выделите строку и нажмите Delete или используйте контекстное меню. Если сочетание клавиш перехватывается браузером, пользуйтесь командой «Удалить» в меню «Ещё» табличной части.
Строка удаляется, но появляется снова после записи. Что делать?
Строка, скорее всего, создаётся автоматическим механизмом конфигурации — например, пересчётом, распределением или заполнением по другому документу. Найдите и измените источник автозаполнения, а не саму строку.
Что важно запомнить
Строка табличной части удаляется клавишей Delete с последующей записью документа. Объект из списка сначала помечается на удаление, а стирается через обработку удаления помеченных объектов. Перед удалением проверьте проведение документа, права доступа и наличие резервной копии при массовых операциях.