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

Обучение и Решения · 11 мин

Как вставить колонку в 1С: все рабочие способы

Как добавить колонку в 1С: в табличной части документа, в отчёте, в таблице значений и через конфигуратор. Пошаговые инструкции, ограничения и частые ошибки.

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

Ключевой момент, который нужно понять сразу: 1С — это не табличный редактор, а система учёта. Колонки в документах и справочниках не «рисуются», а определяются реквизитами объекта в конфигурации. Поэтому одни колонки можно добавить настройкой прямо в режиме пользователя («Ещё → Изменить форму»), а другие — только через конфигуратор с правами разработчика.

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

Определите, с какой таблицей вы работаете

Прежде чем что-то менять, важно понять, какой именно объект перед вами. От этого зависит весь дальнейший порядок действий. В 1С «колонка» может означать четыре разные вещи, и путают их постоянно.

Первый случай — колонка уже существует в конфигурации, но скрыта в форме. Это самая частая ситуация: разработчик добавил реквизит, но по умолчанию вывел не все графы. Второй случай — нужен столбец в отчёте (СКД): тогда он добавляется через настройки отчёта без изменения конфигурации. Третий — колонки в принципе нет, нужен новый реквизит табличной части документа или справочника. Четвёртый — программная таблица значений в обработке или отчёте, где колонки создаются кодом.

Маршрут решения

Как выбрать способ

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

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

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

Найдите в дереве нужную табличную часть (например, «Товары» или «Материалы»), раскройте её и поставьте флажок напротив нужной колонки. Нажмите «ОК» — колонка появится в таблице. Порядок колонок там же меняется кнопками «Вверх» и «Вниз» или перетаскиванием мышью.

Важное ограничение: в типовых конфигурациях настройка формы сохраняется для текущего пользователя. Если колонку должны видеть все сотрудники, каждый настраивает форму у себя, либо администратор копирует настройки другим пользователям через механизм копирования настроек (в разделе администрирования).

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

Добавить столбец в отчёт

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

Если нужного поля нет в списке доступных — значит, его нет в источнике данных отчёта, и добавить его настройкой не получится. Тогда потребуется доработка запроса отчёта разработчиком. Это принципиальная граница самостоятельной работы: пользователь может выбирать только из тех полей, которые разработчик вывел в набор данных.

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

Добавить новую колонку в табличную часть через расширение

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

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

После сохранения расширения потребуется обновление конфигурации базы данных (F7). В файловой базе это выполняется монопольно, в клиент-серверной — через консоль или конфигуратор с выгоном пользователей. Планируйте обновление на нерабочее время.

Изменение типовой конфигурации напрямую и его риски

Альтернатива расширению — снятие конфигурации с поддержки и прямое добавление реквизита. Технически это делается так же: конфигуратор, документ, табличная часть, новый реквизит. Но последствия существенные: конфигурация теряет полную поддержку поставщика, и каждое обновление превращается в ручное сравнение и объединение объектов.

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

Расширение или прямое изменение

Расширение конфигурации

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

Прямое изменение конфигурации

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

Настройка формы пользователем

Подходит, если колонка уже существует в конфигурации. Нулевой риск, но новые данные хранить нельзя — только показать существующие

Программное добавление колонки в таблицу значений

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

bsl
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТЗ.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
ТЗ.Колонки.Добавить("Комментарий", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(200)));
// Вставка колонки в конкретную позицию:
ТЗ.Колонки.Вставить(1, "ПорядковыйНомер", Новый ОписаниеТипов("Число"));

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

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

Проверка результата и типичные ошибки

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

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

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

Видимость колонки в форме
Норма

Колонка отображается в табличной части у текущего пользователя

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

Колонка есть в конфигураторе, но в форме не видна — реквизит не выведен на форму или скрыт настройкой

Сохранение данных
Норма

Введённое значение остаётся после записи и переоткрытия документа

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

Значение пропадает — реквизит добавлен только на форму, а не в данные объекта

Поведение у других пользователей
Норма

После обновления расширения колонка видна всем

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

Колонка видна только вам — это пользовательская настройка формы, а не доработка

Типичные ошибки
01
Добавление элемента на форму без реквизита в данных — поле видно, но введённые значения не сохраняются
02
Изменение типовой конфигурации напрямую вместо расширения — следующее обновление затирает доработку или требует ручного слияния
03
Обновление структуры базы без резервной копии — при ошибке реструктуризации данные табличной части могут быть потеряны
04
Программное добавление колонки с именем, которое уже есть в таблице, — ошибка выполнения и остановка обработки
05
Ожидание, что настройка формы одного пользователя применится ко всем — настройки форм персональные

FAQ

Можно ли вставить колонку в 1С так же просто, как в Excel?

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

Почему я добавил колонку в конфигураторе, а в документе её не видно?

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

Нужны ли права разработчика, чтобы добавить колонку?

Зависит от задачи. Включить скрытую колонку через «Изменить форму» может обычный пользователь — прав разработчика не нужно. Добавить новый реквизит табличной части или изменить запрос отчёта может только пользователь с доступом к конфигуратору и правами на изменение конфигурации.

Пропадут ли данные при добавлении новой колонки в табличную часть?

Само добавление нового реквизита существующие данные не удаляет — новая колонка просто будет пустой в старых документах. Риск возникает при изменении типа или удалении существующих реквизитов и при ошибках реструктуризации. Поэтому перед обновлением структуры базы всегда делайте резервную копию.

Как добавить колонку в печатную форму документа?

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

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

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

Итог

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

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