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

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

Как добавить столбец в таблицу в 1С

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

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

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

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

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

Прежде чем что-то менять, важно понять тип таблицы, потому что механизмы добавления столбцов принципиально различаются. В 1С чаще всего встречаются четыре ситуации: табличная часть документа или справочника (например, список товаров в накладной), динамический список (журнал документов, список номенклатуры), таблица в отчёте и таблица значений, существующая только в момент выполнения программного кода.

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

Табличная часть документаСтроки товаров или услуг внутри документа

Проверьте меню «Ещё» над таблицей — есть ли пункт настройки формы

Журнал или списокСписок документов, контрагентов, номенклатуры

Доступен пункт «Ещё → Настроить список» или «Изменить форму»

ОтчётСформированная таблица с итогами

Есть кнопка «Настройки» или «Изменить вариант отчёта»

Нужного поля нет нигдеДанные не хранятся в базе

Требуется доработка конфигурации в конфигураторе

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Как добавить столбец в конфигураторе: реквизит и элемент формы

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

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

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

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

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

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

Чтобы показать такую таблицу пользователю на управляемой форме, одного добавления колонки недостаточно: нужно программно создать реквизит формы типа «ТаблицаЗначений», добавить в него колонки через метод ИзменитьРеквизиты(), затем создать элементы формы (поля таблицы) и связать их с данными. Это типовая задача при создании обработок, и она требует аккуратной работы с путями к данным.

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

Проверка результата и типичные ошибки

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

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

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

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

Колонка отображается в таблице после настройки

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

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

Данные в столбце
Норма

Значения заполнены и соответствуют типу поля

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

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

Проведение документа
Норма

Документ проводится без ошибок после добавления реквизита

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

Ошибки проведения — не доработаны движения или проверки заполнения

Печатная форма
Норма

Новое поле выводится в печать, если это требовалось

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

В печати поля нет — макет не доработан

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

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

Почему в меню «Ещё» нет пункта «Изменить форму»?

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

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

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

Что такое дополнительные реквизиты и когда они лучше доработки?

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

Добавленный столбец виден мне, но не виден коллегам. Что делать?

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

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

Если новый реквизит сделан обязательным (свойство «Проверка заполнения» — «Выдавать ошибку»), документы без заполненного значения не проведутся. Также ошибки возникают, если реквизит задействован в движениях, но обработка проведения не доработана. Уберите обязательность или заполните значения, а логику проведения проверьте вместе с разработчиком.

Как добавить колонку в табличное поле обычной формы (не управляемой)?

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

Итог

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

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