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