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