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

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

Как добавить новую строку в таблицу 1С

Как добавить строку в табличную часть документа, таблицу значений и динамический список в 1С через интерфейс и кодом. Горячие клавиши, ошибки, FAQ.

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

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

Как добавить строку в табличную часть документа через интерфейс

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

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

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

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

Добавление строки через подбор и копирование

Если строк много, добавлять их по одной неудобно. Кнопка «Подбор» открывает форму справочника номенклатуры, где можно двойным щелчком или кнопкой переносить позиции в таблицу. При повторном выборе той же позиции количество обычно увеличивается, а не создаётся дубль — поведение зависит от настроек конфигурации.

Для похожих строк удобно копирование: выделите строку и нажмите F9 (или «Ещё → Скопировать»). Появится новая строка с теми же значениями — останется изменить только отличающиеся поля. Множественное выделение с Ctrl и Shift позволяет копировать сразу несколько строк.

Как программно добавить строку в табличную часть

В модуле объекта или формы строка добавляется методом Добавить(). Метод возвращает ссылку на созданную строку, через которую заполняются реквизиты. Типовой фрагмент выглядит так:

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

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

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

НоваяСтрока.Цена = 1500;

Если данные уже есть в виде структуры или другой таблицы, можно использовать ЗаполнитьЗначенияСвойств(НоваяСтрока, Источник) — совпадающие по именам поля заполнятся автоматически. После добавления строк в цикле не забудьте пересчитать итоги документа, если они хранятся в шапке.

1c
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = Справочники.Номенклатура.НайтиПоКоду("000001");
НоваяСтрока.Количество = 1;
НоваяСтрока.Цена = 100;
НоваяСтрока.Сумма = НоваяСтрока.Количество * НоваяСтрока.Цена;

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

Таблица значений — программный объект, не привязанный напрямую к базе данных. Строки в неё добавляются тем же методом Добавить(), но сначала таблицу нужно создать и описать колонки через Колонки.Добавить() с указанием типа.

ТЗ = Новый ТаблицаЗначений;

ТЗ.Колонки.Добавить("Наименование", Новый ОписаниеТипов("Строка"));

ТЗ.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число"));

Строка = ТЗ.Добавить();

Строка.Наименование = "Услуга";

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

Если таблица значений выведена на управляемую форму как реквизит, добавление строки пользователем происходит стандартно — через Insert и кнопку «Добавить», дополнительная настройка обычно не требуется.

Почему кнопка «Добавить» недоступна или строка не сохраняется

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

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

Типичные ошибки
01
Добавление строки в проведённый документ без отмены проведения — кнопка недоступна или изменения не сохраняются
02
Заполнение не всех обязательных полей — документ не проводится, строка подсвечивается
03
В коде: вызов Добавить() без заполнения полей и последующего пересчёта итогов — итоги шапки расходятся с таблицей
04
Попытка добавить строку в форму с признаком ТолькоПросмотр — изменения молча отбрасываются

Как проверить, что строка добавлена корректно

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

При программном добавлении полезно проверить количество строк до и после операции через Объект.Товары.Количество(). Если число не изменилось, метод Добавить() не выполнился — например, из-за исключения в коде выше по стеку.

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

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

Номер новой строки
Норма

Присвоен следующий порядковый номер

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

Номер пустой или строка отсутствует после записи

Итоги документа
Норма

Суммы пересчитались с учётом новой строки

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

Итоги не изменились

Проведение документа
Норма

Проводится без сообщений об ошибках

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

Ошибки о незаполненных полях строки

FAQ

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

Insert добавляет новую строку в конец таблицы. F9 копирует текущую строку, а Shift+F9 или команда контекстного меню «Вставить» позволяет вставить строку в произвольную позицию.

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

Кликните правой кнопкой по строке, выше которой нужно вставить новую, и выберите «Вставить» в контекстном меню. В ряде конфигураций работает сочетание Shift+Insert.

Почему после записи документа добавленная строка пропадает?

Чаще всего не заполнены обязательные поля, и строка отклоняется проверкой, либо в коде события записи табличная часть перезаполняется. Проверьте панель сообщений и логику процедуры «ПередЗаписью».

Как добавить сразу много строк из справочника?

Используйте кнопку «Подбор» над табличной частью: в открывшейся форме можно выбирать позиции списком, и каждая будет добавляться отдельной строкой. В некоторых конфигурациях доступна загрузка из файла через «Ещё → Загрузить».

Чем отличается Добавить() для табличной части и таблицы значений?

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

Можно ли добавить строку в проведённый документ?

Стандартно редактирование проведённого документа заблокировано. Нужно отменить проведение (кнопка «Отмена проведения»), внести изменения и провести документ заново с учётом возможного сдвига последовательности документов.

Итог

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

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