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

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

Как добавить колонки в 1С Предприятие

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

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

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

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

Определяем, где именно нужна колонка

Прежде чем что-то менять, ответьте на вопрос: колонка нужна в табличной части конкретного объекта (документ «Реализация товаров», справочник «Номенклатура»), в списке объектов (журнал документов, список справочника) или в отчёте. От этого зависит инструмент и объём работ.

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

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

Как выбрать способ

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

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

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

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

Выбор типа важен: для текста используйте «Строка» с ограничением длины, для ссылок на справочники — соответствующий ссылочный тип, для количества и сумм — «Число» с точностью. Неоправданно длинные строки (например, неограниченная длина без необходимости) замедляют работу и усложняют индексирование.

Порядок добавления реквизита табличной части
  1. 1
    Откройте конфигуратор и найдите объект в дереве конфигурации
  2. 2
    Раскройте ветку «Табличные части» и выберите нужную табличную часть
  3. 3
    Добавьте реквизит: задайте имя, синоним и тип данных
  4. 4
    Откройте форму документа и перетащите новый реквизит в дерево элементов формы (таблицу)
  5. 5
    Обновите конфигурацию базы данных (F7), согласившись с реструктуризацией
  6. 6
    Запустите режим Предприятия и проверьте, что колонка отображается и сохраняет значения

Вывод колонки на форму документа

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

Обратите внимание на свойства колонки: «ТолькоПросмотр» делает поле недоступным для редактирования, «Видимость» управляет отображением, «Ширина» задаёт ширину колонки. Для ссылочных полей полезно настроить «Кнопку выпадающего списка» и «Быстрый выбор», чтобы пользователю было удобно выбирать значения.

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

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

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

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

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

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

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

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

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

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

Способы добавить колонку

Настройка формы в режиме Предприятия

Быстро и без риска, но работает только для полей, уже доступных на форме; новые данные хранить нельзя

Изменение конфигурации в конфигураторе

Полная свобода: реквизит хранится в базе и доступен везде, но объект снимается с полной поддержки и усложняет обновление

Расширение конфигурации

Безопасно для обновлений типовых решений, но есть ограничения по использованию добавленных реквизитов в типовых механизмах

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

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

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

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

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

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

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

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

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

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

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

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

Значение исчезает после записи — реквизит не создан или не связан с колонкой

Обновление конфигурации
Норма

После обновления типовой конфигурации колонка на месте (расширение)

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

После обновления колонка пропала — изменения были внесены напрямую в типовой объект

Часто задаваемые вопросы

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

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

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

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

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

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

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

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

Можно ли добавить вычисляемую колонку, которая не хранится в базе?

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

Итог

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

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