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

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

Как вставить строку в 1С: инструкция для документов, таблиц и кода

Как вставить строку в табличную часть документа, таблицу значений и список в 1С: горячие клавиши, кнопки, методы Добавить() и Вставить(), типовые ошибки.

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

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

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

Вставка строки в табличную часть документа

Табличная часть — это блок строк внутри документа, например перечень товаров в «Реализации» или сотрудников в «Начислении зарплаты». Самый быстрый способ добавить строку — поставить курсор в табличную часть и нажать клавишу Insert. Новая пустая строка появится сразу, курсор встанет в первое редактируемое поле.

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

Чтобы вставить строку именно перед выбранной позицией, откройте контекстное меню правой кнопкой мыши или меню «Ещё» над таблицей. Во многих конфигурациях там есть команда «Вставить» или «Вставить строку». Если такой команды нет, добавьте строку в конец и поднимите её кнопками перемещения (стрелки вверх/вниз на панели).

Порядок действий в документе
  1. 1
    Откройте документ и перейдите на вкладку с табличной частью (например, «Товары»)
  2. 2
    Установите курсор в таблицу и нажмите Insert или кнопку «Добавить»
  3. 3
    Заполните поля новой строки: номенклатуру, количество, цену
  4. 4
    Для вставки в середину используйте контекстное меню «Вставить» или переместите строку стрелками
  5. 5
    Проверьте итог по документу и запишите его кнопкой «Записать» или «Провести»

Копирование и перемещение строк

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

Работает и универсальный механизм буфера обмена: Ctrl+C на выделенной строке, затем Ctrl+V в табличной части. В ряде конфигураций через меню «Ещё» доступна команда «Скопировать строки» / «Вставить строки», которая поддерживает множественное выделение (строки выделяются с зажатым Ctrl или Shift).

Для изменения порядка строк используйте кнопки «Переместить вверх» и «Переместить вниз» на командной панели таблицы. Это важно, когда порядок влияет на печатную форму документа: позиции выводятся в том же порядке, в каком идут в табличной части.

Вставка строки в список и справочник

В формах списков (справочники, документы, регистры) логика другая: здесь «строка» — это самостоятельный объект, а не часть документа. Новая строка создаётся кнопкой «Создать» или клавишей Insert — откроется форма нового элемента. После заполнения и записи он появится в списке.

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

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

Программная вставка строки в коде 1С

Разработчику доступны два основных метода для табличных частей и таблиц значений. Метод Добавить() создаёт строку в конце коллекции и возвращает ссылку на неё — это самый частый вариант. Метод Вставить(Индекс) вставляет строку в указанную позицию, сдвигая остальные вниз; индексация начинается с нуля.

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

НоваяСтрока = Объект.Товары.Добавить();

НоваяСтрока.Номенклатура = НоменклатураСсылка;

НоваяСтрока.Количество = 5;

// Вставка строки в начало табличной части

ПерваяСтрока = Объект.Товары.Вставить(0);

ПерваяСтрока.Номенклатура = НоменклатураСсылка;

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

bsl
// Вставка строки после текущей в обработчике формы
ИндексТекущей = Элементы.Товары.ТекущиеДанные.НомерСтроки - 1;
НоваяСтрока = Объект.Товары.Вставить(ИндексТекущей + 1);

Как выбрать способ: сравнение вариантов

Выбор зависит от того, где вы работаете и какой результат нужен. Ниже — краткое сопоставление основных сценариев.

ЗадачаСпособКогда применять
Новая строка в конец документаInsert или кнопка «Добавить»Стандартный ввод позиций
Строка в середину таблицыКонтекстное меню «Вставить» или перемещениеКогда важен порядок позиций
Похожие строки подрядF9 (копирование)Массовый ввод однотипных данных
Много строк из другого документаКопировать/вставить строки или «Заполнить»Перенос позиций между документами
Строка из программыДобавить() / Вставить(Индекс)Обработки, обмены, автозаполнение
Маршрут решения

Как выбрать действие

Нужно быстро добавить одну строку в документНажмите Insert или кнопку «Добавить» над таблицей
Нужно несколько почти одинаковых строкСкопируйте строку клавишей F9 и измените отличающиеся поля
Строка должна встать в середину списка позицийИспользуйте «Вставить» из контекстного меню или поднимите строку стрелками
Строки создаются по алгоритму или из файлаИспользуйте методы Добавить() и Вставить() в коде обработки

Типичные ошибки и их последствия

Частая ошибка — путать «Добавить» и «Вставить» в коде: метод Вставить() без корректного индекса или с индексом больше размера коллекции приводит к ошибке выполнения. Перед вставкой проверяйте, что индекс находится в диапазоне от 0 до количества строк.

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

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

Типичные ошибки
01
Вызов Вставить(Индекс) с индексом больше числа строк — ошибка выполнения кода
02
Закрытие документа без записи — добавленные строки теряются
03
Изменение табличной части без перепроведения — расхождение документа и проводок
04
Копирование строки F9 без правки уникальных полей — дубли в учёте

Проверка результата и ограничения

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

В программном сценарии проверку делают через количество строк: сравните Объект.Товары.Количество() до и после операции, а также содержимое вставленной строки по индексу. Это простой способ убедиться, что обработка отработала корректно.

Учитывайте ограничения прав: если кнопка «Добавить» неактивна, вероятно, у пользователя нет права на изменение документа, документ находится в закрытом периоде или установлена дата запрета редактирования. В этом случае обратитесь к администратору системы, а не пытайтесь обойти ограничение.

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

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

Нумерация строк в табличной части
Норма

Номера идут по порядку, новая строка на нужном месте

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

Пропуски номеров или строка оказалась не там

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

«Всего» пересчиталось с учётом новой строки

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

Итог не изменился — строка не заполнена или не записана

Статус проведения
Норма

После изменения документ перепроведён без ошибок

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

Предупреждения при проведении или старые проводки

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

Какая клавиша добавляет строку в 1С?

Основная клавиша — Insert: она добавляет новую строку в табличную часть документа или создаёт новый элемент в списке. Для копирования текущей строки обычно используется F9, а удаление строки — Shift+Delete или кнопка на панели.

Как вставить строку между существующими строками в документе?

Установите курсор на строку, перед которой нужно вставить новую, откройте контекстное меню правой кнопкой мыши и выберите «Вставить». Если такой команды нет, добавьте строку в конец и поднимите её кнопками перемещения на панели таблицы.

Почему кнопка «Добавить» неактивна?

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

Чем Добавить() отличается от Вставить() в коде?

Метод Добавить() создаёт строку в конце коллекции, а Вставить(Индекс) — в указанной позиции со сдвигом остальных строк. Оба метода возвращают созданную строку, которую можно сразу заполнить значениями. Индексация начинается с нуля.

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

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

Пропадут ли добавленные строки, если закрыть документ без записи?

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

Итог

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

В интерфейсе строка добавляется клавишей Insert или кнопкой «Добавить», копируется клавишей F9, а вставка в середину выполняется через контекстное меню или перемещение. В коде используются методы Добавить() и Вставить(Индекс). После любых изменений табличной части документ нужно записать, а проведённый — перепровести.