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