Редактирование таблиц в 1С 8.3: строки, колонки, отборы и код

· 10 мин

Содержание

Строку в таблице 1С добавляют клавишей Ins, копируют F9, удаляют Del, а ячейку открывают на правку клавишей F2 или двойным щелчком. Колонки на экране прячут и переставляют через Ещё → Изменить форму, а отбор и сортировку списка настраивают в Ещё → Настроить список.

Частое заблуждение новичка: «в 1С нельзя добавить свою колонку в таблицу». На экране — можно скрыть, показать и переставить любые колонки, которые уже заложены в форму. А вот новую колонку с данными (например, «Номер партии» в товарах) добавляет программист: через расширение или конфигуратор. Ниже разобраны оба уровня — от простого редактирования до работы с таблицами во встроенном языке.

Какие таблицы бывают в 1С и чем они отличаются

Слово «таблица» в 1С означает четыре разные вещи. Правила редактирования у них разные, поэтому сначала определите, с чем работаете.

Вид таблицыГде встречаетсяЧто можно править
📋 Список (динамический список)Журналы документов, справочники: «Контрагенты», «Номенклатура», «Поступление (акты, накладные)»Только вид: колонки, отбор, сортировку. Данные — в карточке элемента
🧾 Табличная частьВнутри документа или карточки: «Товары», «Услуги», «Сотрудники»Строки и значения ячеек напрямую
📄 Табличный документПечатные формы, отчёты, файлы .mxlТекст, ячейки, оформление — если документ открыт на редактирование
⚙️ Таблица значенийТолько в коде (встроенный язык)Всё: строки, колонки, сортировка, свёртка

Как отличить список от табличной части на глаз:

  • 🔹 у списка своё окно с командами «Создать», «Найти», «Провести» и строкой поиска сверху;
  • 🔹 табличная часть живёт внутри формы документа, у неё свои кнопки «Добавить», «Подбор», «Заполнить» и стрелки перемещения строк;
  • 🔹 в списке Del ставит пометку на удаление, а в табличной части — сразу убирает строку.

Если двойной щелчок по строке открывает новое окно — это список. Если курсор встаёт в ячейку для ввода — табличная часть.

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

Основная ручная работа идёт в табличных частях документов. Принцип одинаков в Бухгалтерии, ЗУП, УТ и других типовых конфигурациях на платформе 8.3.

Добавить строку

  1. Откройте документ, например поступление товаров.
  2. Перейдите на нужную вкладку («Товары», «Услуги»).
  3. Нажмите «Добавить» или клавишу Ins. Появится пустая строка, курсор встанет в первую ячейку.
  4. Заполните ячейки. Переход к следующей — Tab или Enter.
  5. Чтобы закончить ввод строки, нажмите Enter в последней ячейке или щёлкните по другой строке.

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

Изменить значение в ячейке

  • ✏️ двойной щелчок по ячейке или F2 — включить редактирование ;
  • ✏️ начать печатать прямо в выделенной ячейке — старое значение заменится;
  • ✏️ Shift+F4 — очистить значение поля;
  • ✏️ Esc — отменить правку, пока не ушли из ячейки.

Суммы, НДС и итоги в типовых документах пересчитываются сами после изменения количества или цены. Если пересчёта нет — проверьте, не стоит ли ручной режим сумм в шапке документа.

Скопировать, переместить, удалить строку

ДействиеКлавишиКнопка
Скопировать строкуF9«Скопировать» (или в меню «Ещё»)
Удалить строкуDelзначок крестика / «Удалить»
Поднять строку вышеCtrl+Shift+↑стрелка вверх
Опустить строку нижеCtrl+Shift+↓стрелка вниз
Выделить несколько строкShift или Ctrl + щелчок—
Выделить все строкиCtrl+A—

Выделенную группу строк можно удалить одним нажатием Del.

Изменения в табличной части попадают в базу только после «Записать» или «Провести и закрыть». Закрыли окно и нажали «Нет» на вопрос о сохранении — все правки пропали.

Колонки таблицы: показать, скрыть, переставить, добавить новую

Настроить видимые колонки без программиста

Пользователь может менять вид любой таблицы на форме. Порядок такой:

  1. В форме документа или списка нажмите Ещё → Изменить форму.
  2. Слева откроется дерево элементов. Найдите нужную таблицу и раскройте её.
  3. Снимите флажок у колонки, чтобы скрыть её, или поставьте — чтобы показать.
  4. Стрелками на панели окна передвиньте колонку выше или ниже — так меняется её место в таблице.
  5. Нажмите «ОК». Настройка сохранится для вашего пользователя.

Ширину колонки меняют мышью: потяните границу заголовка вправо или влево.

Всё сломали и форма выглядит странно? В том же окне Ещё → Изменить форму откройте меню «Ещё» и выберите «Установить стандартные настройки». Форма вернётся к исходному виду.

Добавить колонку, которой нет в конфигурации

Новая колонка с данными — это новый реквизит табличной части. Его добавляет разработчик:

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

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

Групповое редактирование: меняем сотни строк за один раз

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

Изменить выделенные элементы списка

  1. Откройте список, например «Номенклатура».
  2. Выделите нужные строки через Ctrl/Shift или наложите отбор и нажмите Ctrl+A.
  3. Нажмите Ещё → Изменить выделенные.
  4. В открывшейся обработке отметьте реквизит, который меняете (например, «Ставка НДС» или «Вид номенклатуры»), и укажите новое значение.
  5. Нажмите «Изменить реквизиты». Обработка покажет, сколько элементов изменено и где были ошибки.

Та же обработка доступна отдельно: Администрирование → Обслуживание → Корректировка данных → Групповое изменение реквизитов. Там можно выбрать вид объектов и задать отбор без открытия списка.

Заполнить табличную часть автоматически

  • ⚡ кнопка «Заполнить» в документах — подставляет строки по остаткам, по основанию или по списку сотрудников (зависит от документа);
  • ⚡ «Подбор» — массовый выбор из справочника;
  • ⚡ «Загрузить из файла» (есть во многих документах товарного учёта) — переносит строки из Excel: вы сопоставляете колонки файла с колонками документа;
  • ⚡ ввод на основании — новый документ копирует табличную часть исходного, остаётся поправить пару строк.

Групповое изменение меняет данные сразу и без кнопки «Отмена». Сначала проверьте на 2-3 элементах, а для массовой правки проведённых документов — сделайте копию базы.

Таблицы во встроенном языке 1С

В коде чаще всего работают с табличной частью объекта и с таблицей значений. Синтаксис у них похож.

Строки табличной части документа

// Добавить строку в табличную часть "Товары"
НоваяСтрока = Объект.Товары.Добавить();
НоваяСтрока.Номенклатура = Номенклатура;
НоваяСтрока.Количество = 5;
НоваяСтрока.Цена = 120;
НоваяСтрока.Сумма = НоваяСтрока.Количество * НоваяСтрока.Цена; // 600

// Удалить строки с нулевым количеством
КУдалению = Новый Массив;
Для Каждого Строка Из Объект.Товары Цикл
    Если Строка.Количество = 0 Тогда
        КУдалению.Добавить(Строка);
    КонецЕсли;
КонецЦикла;
Для Каждого Строка Из КУдалению Цикл
    Объект.Товары.Удалить(Строка);
КонецЦикла;

Строки удаляют вторым проходом намеренно. Удаление прямо внутри цикла Для Каждого сдвигает индексы, и часть строк пропускается.

Таблица значений: колонки, сортировка, свёртка

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

Стр = ТЗ.Добавить(); Стр.Товар = "Бумага А4"; Стр.Количество = 10;
Стр = ТЗ.Добавить(); Стр.Товар = "Бумага А4"; Стр.Количество = 5;
Стр = ТЗ.Добавить(); Стр.Товар = "Скрепки";   Стр.Количество = 3;

ТЗ.Свернуть("Товар", "Количество");   // Бумага А4 = 15, Скрепки = 3
ТЗ.Сортировать("Количество Убыв");     // сначала бумага

Найденные = ТЗ.НайтиСтроки(Новый Структура("Товар", "Скрепки"));

ТЗ.Колонки.Удалить("Количество");      // убрать колонку целиком

Полезные методы, которые экономят циклы:

МетодЧто делает
Выгрузить()Табличная часть → таблица значений
Загрузить(ТЗ)Таблица значений → табличная часть (колонки по именам)
ВыгрузитьКолонку("Имя")Значения колонки → массив
Свернуть("Группировки", "Суммируемые")Группировка с суммированием
Итог("Колонка")Сумма по колонке
Скопировать()Копия таблицы, можно с отбором

Отбор, поиск и сортировка в таблицах 1С

В списках документов и справочников

  • 🔍 щелчок по заголовку колонки — сортировка; повторный щелчок меняет направление;
  • 🔍 строка поиска над списком или Ctrl+F — быстрый поиск по тексту;
  • 🔍 Alt+F — расширенный поиск по конкретной колонке с условием («содержит», «равно»);
  • 🔍 Ещё → Настроить список — постоянный отбор, сортировка по нескольким полям, группировка и условное оформление (например, красить просроченные документы красным).

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

В табличной части документа

Здесь инструментов меньше. Сортировка — через меню «Ещё» табличной части (по возрастанию или убыванию выбранной колонки). Найти строку в длинной накладной помогает Ctrl+F с вводом части названия.

Сортировка табличной части меняет порядок строк в самом документе, и в печатной форме они выйдут в новом порядке.

Выгрузить таблицу в Excel

  1. В списке или табличной части нажмите Ещё → Вывести список.
  2. Отметьте нужные колонки и нажмите «ОК».
  3. Откроется табличный документ. Сохраните его через меню «Файл» или значок дискеты в формате .xlsx.

Короткий путь для нескольких строк: выделите их, нажмите Ctrl+C и вставьте в Excel — колонки разложатся по ячейкам.

Ошибки при редактировании таблиц и что с ними делать

Диагностика: выберите симптом

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

Как работать с таблицами быстрее

Для пользователя

  • ⌨️ выучите четыре клавиши — Ins, F9, Del, F2: на них держится 90% ручной правки;
  • ⌨️ вводите название товара прямо в ячейке — 1С подскажет совпадения по первым буквам, открывать справочник не нужно;
  • ⌨️ уберите через Изменить форму колонки, которые вы никогда не заполняете, — таблица станет короче и читаемей;
  • ⌨️ для повторяющихся накладных используйте копирование документа (F9 в журнале) или ввод на основании;
  • ⌨️ большие списки фильтруйте по периоду и организации — откроются быстрее.

Для программиста

  • 🧠 сумму по колонке берите через Итог(), группировку — через Свернуть(), а не через цикл;
  • 🧠 данные для заполнения получайте одним запросом и загружайте методом Загрузить();
  • 🧠 для частого поиска по колонке добавьте индекс: ТЗ.Индексы.Добавить("Товар") — НайтиСтроки заработает в разы быстрее на тысячах строк;
  • 🧠 не вызывайте сервер в цикле по строкам на клиенте: передайте таблицу на сервер целиком и обработайте там;
  • 🧠 новые реквизиты в типовой конфигурации добавляйте расширением.

Частые вопросы

Можно ли отменить удаление строки в табличной части?
Да, пока документ не записан. Закройте его без сохранения — строка вернётся. После записи восстановить можно только вручную или из резервной копии.
Почему при удалении из списка строка остаётся, но зачёркнута?
В списках Del ставит пометку на удаление. Окончательно такие объекты удаляет администратор обработкой удаления помеченных объектов, после проверки ссылок.
Сохраняются ли мои настройки колонок для других пользователей?
Нет. Настройки через «Изменить форму» и «Настроить список» хранятся для каждого пользователя отдельно. Общий вид для всех задаёт администратор или программист.
Можно ли вставить в табличную часть строки, скопированные из Excel?
Обычной вставкой через Ctrl+V — нет, строки не создадутся. Используйте «Загрузить из файла», если эта команда есть в документе, или обработку загрузки данных.
Как поменять одно значение во всех строках документа сразу?
Штатно — только по строкам: выделять несколько строк и менять ячейку разом платформа не умеет. Если строк сотни, проще загрузить исправленный список из файла заново или попросить программиста о небольшой обработке.