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

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

Как добавить столбцы в 1С: таблицы, списки и отчёты

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

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

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

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

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

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

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

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

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

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

Как показать скрытый столбец в списке без программирования

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

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

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

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

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

Новый столбец, который должен хранить данные (например, «Процент скидки» или «Срок годности» в таблице товаров), добавляется только на уровне метаданных. Для этого откройте конфигуратор, найдите нужный документ в дереве конфигурации и раскройте его табличные части.

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

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

Добавление столбца через расширение конфигурации

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

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

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

Как добавить столбец в отчёт

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

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

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

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

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

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

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

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

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

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

Проверка результата и границы самостоятельной работы

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

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

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

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

Видимость столбца
Норма

Колонка отображается у всех пользователей с нужными правами

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

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

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

Значение в новом столбце сохраняется после записи документа

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

Значение пропадает — реквизит не добавлен в метаданные или документ не записывается

Старые документы
Норма

Ранее созданные документы открываются без ошибок

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

Ошибки открытия — возможно, изменён тип существующего реквизита

Отчёт
Норма

Новая колонка заполнена и итоги сходятся

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

Пустая колонка — поле не связано с данными в схеме компоновки

Итог

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

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

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

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

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

Почему добавленный в конфигураторе столбец не виден в документе?

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

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

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

Пропадут ли данные при добавлении нового реквизита?

Добавление нового реквизита безопасно: в существующих документах он просто будет пустым. Риск потери данных возникает при удалении реквизита или изменении его типа на несовместимый.

Как добавить вычисляемую колонку в отчёт без доработки конфигурации?

Используйте пользовательские поля в настройках варианта отчёта: «Ещё → Изменить вариант → Пользовательские поля → Добавить поле-выражение». Формула записывается на языке выражений СКД на основе уже доступных в отчёте полей.

Что делать, если конфигурация на поддержке, а столбец нужен срочно?

Создайте расширение конфигурации и добавьте реквизит через него — это не нарушает поддержку и не мешает обновлениям. Снимать объекты с поддержки ради одной колонки не рекомендуется.