Обучение и Решения · 11 мин
Как вставить колонку в 1С: все рабочие способы
Как добавить колонку в 1С: в табличной части документа, в отчёте, в таблице значений и через конфигуратор. Пошаговые инструкции, ограничения и частые ошибки.
Вопрос «как вставить колонку в 1С» встречается у пользователей в самых разных ситуациях: нужно добавить графу в табличную часть документа, вывести дополнительный столбец в отчёте, расширить таблицу в обработке или изменить макет печатной формы. Проблема в том, что единой кнопки «вставить колонку», как в Excel, в 1С нет — способ зависит от того, с каким объектом вы работаете.
Ключевой момент, который нужно понять сразу: 1С — это не табличный редактор, а система учёта. Колонки в документах и справочниках не «рисуются», а определяются реквизитами объекта в конфигурации. Поэтому одни колонки можно добавить настройкой прямо в режиме пользователя («Ещё → Изменить форму»), а другие — только через конфигуратор с правами разработчика.
Ниже разобраны все основные сценарии: от простого включения скрытой колонки в форме документа до добавления реквизита через расширение конфигурации и программного создания колонки в таблице значений. Для каждого способа указаны условия применения, ограничения и способ проверить результат.
Определите, с какой таблицей вы работаете
Прежде чем что-то менять, важно понять, какой именно объект перед вами. От этого зависит весь дальнейший порядок действий. В 1С «колонка» может означать четыре разные вещи, и путают их постоянно.
Первый случай — колонка уже существует в конфигурации, но скрыта в форме. Это самая частая ситуация: разработчик добавил реквизит, но по умолчанию вывел не все графы. Второй случай — нужен столбец в отчёте (СКД): тогда он добавляется через настройки отчёта без изменения конфигурации. Третий — колонки в принципе нет, нужен новый реквизит табличной части документа или справочника. Четвёртый — программная таблица значений в обработке или отчёте, где колонки создаются кодом.
Как выбрать способ
Включить скрытую колонку в форме документа
Если колонка предусмотрена конфигурацией, но не отображается, её можно вернуть штатными средствами. Откройте документ, нажмите кнопку «Ещё» в правом верхнем углу формы и выберите пункт «Изменить форму». Откроется дерево элементов формы, где видны все поля, включая скрытые.
Найдите в дереве нужную табличную часть (например, «Товары» или «Материалы»), раскройте её и поставьте флажок напротив нужной колонки. Нажмите «ОК» — колонка появится в таблице. Порядок колонок там же меняется кнопками «Вверх» и «Вниз» или перетаскиванием мышью.
Важное ограничение: в типовых конфигурациях настройка формы сохраняется для текущего пользователя. Если колонку должны видеть все сотрудники, каждый настраивает форму у себя, либо администратор копирует настройки другим пользователям через механизм копирования настроек (в разделе администрирования).
- 1Откройте документ или список, где не хватает колонки
- 2Нажмите «Ещё → Изменить форму»
- 3Найдите табличную часть и раскройте список её полей
- 4Поставьте флажок напротив нужной колонки, при необходимости поднимите её выше в списке
- 5Нажмите «ОК» и проверьте, что колонка появилась и в ней отображаются данные
Добавить столбец в отчёт
В отчётах на системе компоновки данных (а это подавляющее большинство отчётов в современных конфигурациях) столбцы добавляются через настройки, без всякого конфигуратора. Откройте отчёт, нажмите «Ещё → Настройки» или кнопку настройки на панели. В простом варианте настроек нужные поля включаются флажками на закладке «Поля».
Если нужного поля нет в списке доступных — значит, его нет в источнике данных отчёта, и добавить его настройкой не получится. Тогда потребуется доработка запроса отчёта разработчиком. Это принципиальная граница самостоятельной работы: пользователь может выбирать только из тех полей, которые разработчик вывел в набор данных.
Для сложных случаев переключитесь в расширенный режим настроек: там можно добавить группировку, выбранное поле, ресурс, изменить порядок столбцов. После настройки полезно сохранить вариант отчёта под понятным именем, чтобы не повторять действия.
Добавить новую колонку в табличную часть через расширение
Когда нужна принципиально новая графа — например, «Комментарий к строке» в заказе покупателя или «Процент брака» в производственном документе — требуется добавить реквизит табличной части. В типовой конфигурации на поддержке правильный способ — расширение конфигурации, а не прямое изменение.
Порядок действий в конфигураторе: откройте «Конфигурация → Расширения конфигурации», создайте новое расширение с понятным именем. Затем в основной конфигурации найдите нужный документ, в контекстном меню табличной части выберите «Добавить в расширение». В расширении добавьте в табличную часть новый реквизит, укажите тип данных (строка, число, ссылка на справочник) и длину. После этого заимствуйте форму документа в расширение и выведите новый реквизит на форму — иначе он будет существовать в базе, но останется невидимым.
После сохранения расширения потребуется обновление конфигурации базы данных (F7). В файловой базе это выполняется монопольно, в клиент-серверной — через консоль или конфигуратор с выгоном пользователей. Планируйте обновление на нерабочее время.
Изменение типовой конфигурации напрямую и его риски
Альтернатива расширению — снятие конфигурации с поддержки и прямое добавление реквизита. Технически это делается так же: конфигуратор, документ, табличная часть, новый реквизит. Но последствия существенные: конфигурация теряет полную поддержку поставщика, и каждое обновление превращается в ручное сравнение и объединение объектов.
Для типовых решений («Бухгалтерия», «Управление торговлей», «Зарплата и управление персоналом») прямое изменение оправдано только тогда, когда расширение не справляется — а для добавления реквизита табличной части расширение подходит практически всегда. Если конфигурация уже снята с поддержки до вас, добавляйте реквизит напрямую, но документируйте изменения.
Расширение или прямое изменение
Подходит для типовых конфигураций на поддержке. Обновления не ломаются, доработку легко отключить. Ограничение: не все объекты и формы можно расширить без заимствования
Подходит для самописных и уже доработанных решений. Полный контроль, но обновления типовых релизов придётся сливать вручную
Подходит, если колонка уже существует в конфигурации. Нулевой риск, но новые данные хранить нельзя — только показать существующие
Программное добавление колонки в таблицу значений
В обработках, отчётах и при работе с таблицами на форме колонки создаются кодом встроенного языка. Базовый приём — метод Добавить() у коллекции колонок таблицы значений. Тип колонки задаётся через описание типов: если тип не указать, колонка будет хранить значения произвольного типа, что иногда удобно, но мешает сортировке и итогам.
ТЗ = Новый ТаблицаЗначений;
ТЗ.Колонки.Добавить("Номенклатура", Новый ОписаниеТипов("СправочникСсылка.Номенклатура"));
ТЗ.Колонки.Добавить("Количество", Новый ОписаниеТипов("Число", Новый КвалификаторыЧисла(15, 3)));
ТЗ.Колонки.Добавить("Комментарий", Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(200)));
// Вставка колонки в конкретную позицию:
ТЗ.Колонки.Вставить(1, "ПорядковыйНомер", Новый ОписаниеТипов("Число"));Обратите внимание на разницу между Добавить() и Вставить(): первый метод ставит колонку в конец, второй позволяет указать индекс позиции. Если таблица значений связана с элементом формы «ТаблицаФормы», после добавления колонки в данные нужно ещё создать соответствующий элемент формы программно — иначе колонка останется невидимой.
Имя колонки должно быть корректным идентификатором: без пробелов, не начинаться с цифры. Попытка добавить колонку с уже существующим именем вызовет ошибку выполнения — перед добавлением проверяйте наличие через ТЗ.Колонки.Найти(ИмяКолонки).
Проверка результата и типичные ошибки
После любого способа добавления колонки проверьте три вещи: колонка видна в форме, в неё можно ввести данные (или они выводятся), данные сохраняются после записи и переоткрытия объекта. Для реквизитов табличной части дополнительно проверьте, попадает ли новое поле в запросы и отчёты, где оно должно использоваться.
Как проверить результат
Колонка отображается в табличной части у текущего пользователя
Колонка есть в конфигураторе, но в форме не видна — реквизит не выведен на форму или скрыт настройкой
Введённое значение остаётся после записи и переоткрытия документа
Значение пропадает — реквизит добавлен только на форму, а не в данные объекта
После обновления расширения колонка видна всем
Колонка видна только вам — это пользовательская настройка формы, а не доработка
FAQ
Можно ли вставить колонку в 1С так же просто, как в Excel?
Нет, прямого аналога нет. В Excel колонка — это просто область листа, а в 1С каждая графа табличной части — реквизит объекта с типом данных, который хранится в базе. Поэтому «нарисовать» колонку нельзя: её нужно либо включить в настройках формы, либо добавить как реквизит через расширение или конфигуратор.
Почему я добавил колонку в конфигураторе, а в документе её не видно?
Реквизит табличной части и элемент формы — разные вещи. После добавления реквизита его нужно вывести на форму документа: в расширении формы перетащите реквизит из панели реквизитов в дерево элементов табличной части. Также проверьте, что обновление конфигурации базы данных выполнено и пользователь обновил клиентское приложение.
Нужны ли права разработчика, чтобы добавить колонку?
Зависит от задачи. Включить скрытую колонку через «Изменить форму» может обычный пользователь — прав разработчика не нужно. Добавить новый реквизит табличной части или изменить запрос отчёта может только пользователь с доступом к конфигуратору и правами на изменение конфигурации.
Пропадут ли данные при добавлении новой колонки в табличную часть?
Само добавление нового реквизита существующие данные не удаляет — новая колонка просто будет пустой в старых документах. Риск возникает при изменении типа или удалении существующих реквизитов и при ошибках реструктуризации. Поэтому перед обновлением структуры базы всегда делайте резервную копию.
Как добавить колонку в печатную форму документа?
Печатная форма строится по макету, который хранится в конфигурации. Нужно в конфигураторе открыть макет печатной формы, добавить в область таблицы новую ячейку-колонку с параметром и дополнить код формирования печатной формы выводом значения в этот параметр. Для типовых конфигураций это делается через расширение с переопределением процедуры печати.
Можно ли добавить колонку в список документов журнала?
Да, если нужное поле есть среди реквизитов документа. В форме списка нажмите «Ещё → Изменить форму» и включите нужное поле. Если реквизита в списке нет, но он есть в объекте, разработчик может вывести его в форму списка через расширение. Учтите, что вывод большого числа колонок в динамический список может замедлить его открытие.
Что важно запомнить
В 1С колонка — это реквизит или поле настройки, а не рисунок на таблице. Скрытую колонку включайте через «Изменить форму», столбец отчёта — через настройки, новую графу документа — реквизитом через расширение, в обработках — кодом Колонки.Добавить(). Перед изменением структуры базы всегда делайте резервную копию.