Быстрый старт · 10 мин
Как вставить строку в 1С: инструкция для документов, таблиц и кода
Как вставить строку в табличную часть документа, таблицу значений и список в 1С: горячие клавиши, кнопки, методы Добавить() и Вставить(), типовые ошибки.
Вставка строки — одна из самых частых операций в 1С, но она выполняется по-разному в зависимости от контекста: табличная часть документа, список справочника, таблица значений в отчёте или программный код. Пользователю достаточно знать несколько клавиш и кнопок, а разработчику — методы Добавить() и Вставить().
Ключевое различие, которое нужно понять сразу: «добавить» обычно означает новую строку в конце таблицы, а «вставить» — новую строку перед текущей позицией курсора. В интерфейсе за это отвечают разные команды, и в языке 1С это тоже разные методы.
Ниже разобраны все рабочие сценарии: вставка строки в документ клавишами и мышью, работа со списками, копирование строк, программная вставка в табличную часть и таблицу значений, а также типичные ошибки и ограничения.
Вставка строки в табличную часть документа
Табличная часть — это блок строк внутри документа, например перечень товаров в «Реализации» или сотрудников в «Начислении зарплаты». Самый быстрый способ добавить строку — поставить курсор в табличную часть и нажать клавишу Insert. Новая пустая строка появится сразу, курсор встанет в первое редактируемое поле.
Тот же результат даёт кнопка «Добавить» на командной панели табличной части (обычно значок «+»). Если курсор стоит на существующей строке, поведение зависит от конфигурации: в большинстве типовых решений новая строка добавляется в конец, а в некоторых — после текущей.
Чтобы вставить строку именно перед выбранной позицией, откройте контекстное меню правой кнопкой мыши или меню «Ещё» над таблицей. Во многих конфигурациях там есть команда «Вставить» или «Вставить строку». Если такой команды нет, добавьте строку в конец и поднимите её кнопками перемещения (стрелки вверх/вниз на панели).
- 1Откройте документ и перейдите на вкладку с табличной частью (например, «Товары»)
- 2Установите курсор в таблицу и нажмите Insert или кнопку «Добавить»
- 3Заполните поля новой строки: номенклатуру, количество, цену
- 4Для вставки в середину используйте контекстное меню «Вставить» или переместите строку стрелками
- 5Проверьте итог по документу и запишите его кнопкой «Записать» или «Провести»
Копирование и перемещение строк
Когда нужно ввести несколько похожих строк, быстрее не добавлять каждую с нуля, а копировать. Выделите строку и нажмите F9 — в большинстве конфигураций это создаёт копию текущей строки с теми же данными. Останется только изменить отличающиеся значения, например количество.
Работает и универсальный механизм буфера обмена: Ctrl+C на выделенной строке, затем Ctrl+V в табличной части. В ряде конфигураций через меню «Ещё» доступна команда «Скопировать строки» / «Вставить строки», которая поддерживает множественное выделение (строки выделяются с зажатым Ctrl или Shift).
Для изменения порядка строк используйте кнопки «Переместить вверх» и «Переместить вниз» на командной панели таблицы. Это важно, когда порядок влияет на печатную форму документа: позиции выводятся в том же порядке, в каком идут в табличной части.
Вставка строки в список и справочник
В формах списков (справочники, документы, регистры) логика другая: здесь «строка» — это самостоятельный объект, а не часть документа. Новая строка создаётся кнопкой «Создать» или клавишей Insert — откроется форма нового элемента. После заполнения и записи он появится в списке.
Скопировать существующий элемент можно клавишей F9 или командой «Скопировать» в меню «Ещё». Это удобно для однотипных позиций номенклатуры или контрагентов: копия создаётся с заполненными реквизитами, остаётся поменять наименование и уникальные данные.
Учтите: в иерархических справочниках новый элемент создаётся внутри той группы (папки), где стоит курсор. Если элемент появился не в той папке, перенесите его командой «Переместить в группу» из меню «Ещё».
Программная вставка строки в коде 1С
Разработчику доступны два основных метода для табличных частей и таблиц значений. Метод Добавить() создаёт строку в конце коллекции и возвращает ссылку на неё — это самый частый вариант. Метод Вставить(Индекс) вставляет строку в указанную позицию, сдвигая остальные вниз; индексация начинается с нуля.
// Добавление строки в конец табличной части документа
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = НоменклатураСсылка;
НоваяСтрока.Количество = 5;
// Вставка строки в начало табличной части
ПерваяСтрока = Объект.Товары.Вставить(0);
ПерваяСтрока.Номенклатура = НоменклатураСсылка;
Те же методы работают для таблицы значений в отчётах и обработках: ТаблицаЗначений.Добавить() и ТаблицаЗначений.Вставить(Индекс). Перед вставкой убедитесь, что колонки таблицы уже описаны, иначе присвоение значений несуществующим полям вызовет ошибку.
// Вставка строки после текущей в обработчике формы
ИндексТекущей = Элементы.Товары.ТекущиеДанные.НомерСтроки - 1;
НоваяСтрока = Объект.Товары.Вставить(ИндексТекущей + 1);Как выбрать способ: сравнение вариантов
Выбор зависит от того, где вы работаете и какой результат нужен. Ниже — краткое сопоставление основных сценариев.
| Задача | Способ | Когда применять |
|---|---|---|
| Новая строка в конец документа | Insert или кнопка «Добавить» | Стандартный ввод позиций |
| Строка в середину таблицы | Контекстное меню «Вставить» или перемещение | Когда важен порядок позиций |
| Похожие строки подряд | F9 (копирование) | Массовый ввод однотипных данных |
| Много строк из другого документа | Копировать/вставить строки или «Заполнить» | Перенос позиций между документами |
| Строка из программы | Добавить() / Вставить(Индекс) | Обработки, обмены, автозаполнение |
Как выбрать действие
Типичные ошибки и их последствия
Частая ошибка — путать «Добавить» и «Вставить» в коде: метод Вставить() без корректного индекса или с индексом больше размера коллекции приводит к ошибке выполнения. Перед вставкой проверяйте, что индекс находится в диапазоне от 0 до количества строк.
Вторая распространённая ситуация — пользователь добавляет строки в документ, но забывает его записать или провести. При закрытии формы несохранённые строки теряются. Признак несохранённых изменений — звёздочка в заголовке окна или вопрос о сохранении при закрытии.
Третья ошибка — вставка строк в документ, по которому уже сформированы проводки или печатные формы, без повторного проведения. После изменения табличной части проведённого документа его нужно перепровести, иначе данные учёта не будут соответствовать содержимому документа.
Проверка результата и ограничения
После вставки строки убедитесь, что она попала в нужную позицию: номера строк в первой колонке должны идти последовательно, а новая строка — стоять там, где ожидалось. Для документов с суммами проверьте итоговые поля «Всего» — они должны пересчитаться автоматически.
В программном сценарии проверку делают через количество строк: сравните Объект.Товары.Количество() до и после операции, а также содержимое вставленной строки по индексу. Это простой способ убедиться, что обработка отработала корректно.
Учитывайте ограничения прав: если кнопка «Добавить» неактивна, вероятно, у пользователя нет права на изменение документа, документ находится в закрытом периоде или установлена дата запрета редактирования. В этом случае обратитесь к администратору системы, а не пытайтесь обойти ограничение.
Как проверить результат
Номера идут по порядку, новая строка на нужном месте
Пропуски номеров или строка оказалась не там
«Всего» пересчиталось с учётом новой строки
Итог не изменился — строка не заполнена или не записана
После изменения документ перепроведён без ошибок
Предупреждения при проведении или старые проводки
Часто задаваемые вопросы
Какая клавиша добавляет строку в 1С?
Основная клавиша — Insert: она добавляет новую строку в табличную часть документа или создаёт новый элемент в списке. Для копирования текущей строки обычно используется F9, а удаление строки — Shift+Delete или кнопка на панели.
Как вставить строку между существующими строками в документе?
Установите курсор на строку, перед которой нужно вставить новую, откройте контекстное меню правой кнопкой мыши и выберите «Вставить». Если такой команды нет, добавьте строку в конец и поднимите её кнопками перемещения на панели таблицы.
Почему кнопка «Добавить» неактивна?
Чаще всего причины такие: документ открыт только на просмотр, у пользователя нет прав на изменение, установлена дата запрета редактирования или документ помечен на удаление. Проверьте статус документа и при необходимости обратитесь к администратору за правами.
Чем Добавить() отличается от Вставить() в коде?
Метод Добавить() создаёт строку в конце коллекции, а Вставить(Индекс) — в указанной позиции со сдвигом остальных строк. Оба метода возвращают созданную строку, которую можно сразу заполнить значениями. Индексация начинается с нуля.
Можно ли вставить сразу несколько строк?
В интерфейсе — через выделение нескольких строк с зажатым Ctrl или Shift и копирование/вставку через буфер обмена. Во многих документах также есть кнопка «Заполнить» или подбор, которые добавляют группу позиций одним действием. В коде строки добавляются в цикле.
Пропадут ли добавленные строки, если закрыть документ без записи?
Да. Строки существуют только в открытой форме до момента записи документа. При закрытии без сохранения все изменения, включая новые строки, будут потеряны, поэтому всегда нажимайте «Записать» или «Провести» после правок.
Что важно запомнить
В интерфейсе строка добавляется клавишей Insert или кнопкой «Добавить», копируется клавишей F9, а вставка в середину выполняется через контекстное меню или перемещение. В коде используются методы Добавить() и Вставить(Индекс). После любых изменений табличной части документ нужно записать, а проведённый — перепровести.