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

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

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

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

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

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

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

Определите, где именно нужен столбец

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

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

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

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

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

Как показать скрытую колонку в форме документа

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

Установите флажок напротив нужного поля и нажмите «ОК» — колонка появится в таблице. Порядок колонок меняется в том же окне кнопками перемещения вверх и вниз. Настройка сохраняется для текущего пользователя и не влияет на других.

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

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

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

Отчёты на СКД через настройки пользователя

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

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

Если поля нет среди доступных

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

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

Это самый «тяжёлый» сценарий: вы создаёте новый реквизит, который будет храниться в базе данных. Перед началом обязательно сделайте резервную копию базы через «Администрирование → Выгрузить информационную базу» или средствами СУБД. Ошибка при обновлении структуры может привести к потере данных.

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

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

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

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

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

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

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

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

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

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

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

НоваяСтрока = ТЗ.Добавить();

НоваяСтрока.Номенклатура = СсылкаНаТовар;

НоваяСтрока.Количество = 5;

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

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

Типичные ошибки и как их избежать

Наиболее частая ошибка — попытка добавить «столбец» изменением формы, когда на самом деле нужен новый реквизит с хранением данных. Форма только отображает то, что есть в объекте; если реквизита нет в табличной части, на форме его появиться неоткуда.

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

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

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

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

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

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

Отображение колонки
Норма

Столбец виден в форме и у других пользователей с теми же правами

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

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

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

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

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

Данные исчезают — реквизит не записывается в объект

Печать
Норма

Новая колонка выводится на печать и помещается в ширину листа

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

Колонка обрезана или сдвигает макет

Итог

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

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

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

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

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

Почему добавленная в отчёт колонка пустая?

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

Что безопаснее: изменить конфигурацию или сделать расширение?

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

Как добавить столбец сразу всем пользователям?

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

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

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

Как добавить вычисляемый столбец, который не хранится в базе?

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