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

Разработка и Конфигурация · 11 мин

1С 8: как добавить колонку в таблицу, форму и отчёт

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

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

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

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

Определите, где именно нужна колонка

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

Второй вопрос — есть ли уже нужные данные в информационной базе. Например, если в списке товаров не видна колонка «Артикул», скорее всего, реквизит существует, его нужно просто вывести. Если же требуется хранить новую информацию (например, «Серийный номер поставщика»), придётся добавлять новый реквизит в объект конфигурации.

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

Как выбрать действие

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

Как добавить колонку в список через «Изменить форму»

В управляемых формах типовых конфигураций (1С:Бухгалтерия 3.0, Управление торговлей 11, ERP) почти любой список и табличную часть можно перенастроить без конфигуратора. Откройте нужный список или документ, нажмите кнопку «Ещё» в командной панели формы и выберите пункт «Изменить форму».

Откроется окно настройки с деревом элементов формы. Найдите нужный реквизит в списке и установите рядом с ним флажок — колонка появится в таблице. Снятием флажка колонки скрываются. В этом же окне можно менять порядок элементов кнопками перемещения.

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

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

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

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

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

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

Как добавить колонку (реквизит) в конфигураторе

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

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

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

Как добавить колонку в отчёт на СКД

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

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

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

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

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

Колонка в списке или документе
Норма

Колонка видна, данные отображаются, прокрутка не обрезает значения

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

Колонка есть в настройках, но не видна в таблице или пустая

Новый реквизит объекта
Норма

Поле доступно для ввода, значение сохраняется после записи объекта

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

Поле не сохраняется или выдаёт ошибку при записи

Колонка в отчёте
Норма

Колонка выводится, итоги считаются корректно

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

Колонка пустая или отчёт выдаёт ошибку компоновки

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

Во встроенном языке 1С колонка добавляется методом Колонки.Добавить() у таблицы значений. Метод принимает имя колонки, описание типов, заголовок и ширину. Тип задаётся через объект «ОписаниеТипов» — это важно для корректной работы сортировки, итогов и отображения.

ОписаниеТипа = Новый ОписаниеТипов("Строка", , Новый КвалификаторыСтроки(100));

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

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

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

Типичные ошибки и ограничения

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

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

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

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

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

Можно ли добавить колонку в 1С без конфигуратора?

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

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

Настройки форм и списков в 1С сохраняются персонально для каждого пользователя. Чтобы колонка появилась у всех, изменения нужно внести в конфигураторе в саму форму объекта, либо скопировать настройки другим пользователям, если конфигурация поддерживает такой механизм.

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

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

Что делать, если нужного поля нет в настройках отчёта?

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

Безопасно ли добавлять реквизиты в типовую конфигурацию?

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

Как добавить колонку в таблицу значений в коде 1С?

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