Разработка и Конфигурация · 13 мин
Как добавить поле в таблицу 1С
Как добавить поле (реквизит) в таблицу 1С через конфигуратор: выбор типа данных, обновление конфигурации базы, расширения, проверка результата и типичные ошибки.
«Добавить поле в таблицу 1С» — задача, которая встречается в двух разных ситуациях. Первая: нужно добавить новый реквизит в объект конфигурации — справочник, документ или регистр, чтобы хранить дополнительные данные. Вторая: нужно вывести дополнительную колонку в табличную часть документа или в динамический список на форме. Оба сценария выполняются через конфигуратор, но различаются по глубине вмешательства и рискам.
Важно понимать, что в 1С нет прямого редактирования таблиц базы данных, как в SQL. Платформа сама создаёт и изменяет физические таблицы при обновлении конфигурации базы данных. Ваша задача — правильно описать новый реквизит в дереве метаданных, а платформа выполнит реструктуризацию автоматически.
Ниже разобраны все основные способы: добавление реквизита в типовую конфигурацию через расширение, прямое изменение собственной конфигурации, вывод колонки на форму и добавление поля в табличную часть. Отдельно описаны проверка результата, типичные ошибки и ограничения, при которых лучше привлечь специалиста.
Что понимать под «таблицей» в 1С
Прежде чем добавлять поле, определите, с каким именно объектом вы работаете. В 1С «таблицей» пользователи часто называют разные сущности, и способ добавления поля для каждой свой:
- Таблица справочника или документа — основное хранилище данных объекта. Поле добавляется как реквизит объекта в конфигураторе.
- Табличная часть — вложенная таблица внутри документа или справочника (например, «Товары» в реализации). Поле добавляется как реквизит табличной части.
- Таблица на форме — визуальное отображение списка. Иногда поле уже существует в данных, и его нужно только вывести на форму.
- Регистр сведений или накопления — поле добавляется как измерение, ресурс или реквизит регистра.
Если цель — хранить новую информацию (например, «Цвет» у номенклатуры), нужен реквизит объекта. Если данные уже есть, но не видны пользователю, достаточно отредактировать форму — это быстрее и не требует реструктуризации базы.
Подготовка: резервная копия и выбор способа
Любое изменение структуры метаданных требует обновления конфигурации базы данных, а эта операция при ошибке может повредить данные. Перед началом работы сделайте выгрузку информационной базы: в конфигураторе откройте «Администрирование → Выгрузить информационную базу» и сохраните файл .dt. Для клиент-серверных баз дополнительно убедитесь, что есть свежая копия средствами СУБД.
Второй шаг — выбрать способ внесения изменений. Если конфигурация типовая и находится на полной поддержке, прямое изменение объектов снимет её с поддержки и усложнит будущие обновления. В этом случае правильный инструмент — расширение конфигурации. Если конфигурация собственная или уже доработана, реквизит можно добавить напрямую.
Как добавить реквизит в справочник или документ
Базовый сценарий выглядит одинаково для большинства объектов. Порядок действий в конфигураторе:
- 1Откройте конфигуратор и разблокируйте конфигурацию от изменений, если она на поддержке (Конфигурация → Поддержка → Настройка поддержки).
- 2В дереве конфигурации найдите нужный объект: Справочники → Номенклатура (или нужный документ).
- 3Раскройте объект, щёлкните правой кнопкой по ветке «Реквизиты» и выберите «Добавить».
- 4Задайте имя реквизита латиницей без пробелов (например, ЦветТовара) и синоним — он будет виден пользователям.
- 5Выберите тип данных: строка с ограничением длины, число, дата, булево или ссылка на справочник.
- 6Перетащите реквизит на форму объекта или добавьте через редактор формы.
- 7Нажмите F7 (Обновить конфигурацию базы данных) и подтвердите реструктуризацию.
Обратите внимание на тип данных — его сложно изменить после того, как в поле накоплены значения. Строку неограниченной длины не получится использовать в отборах и индексах так же свободно, как строку фиксированной длины. Для полей, по которым планируется поиск и отбор, задавайте разумную фиксированную длину, например 50 или 100 символов.
После обновления конфигурации базы данных откройте объект в режиме предприятия и убедитесь, что новое поле отображается, сохраняется и не ломает существующие данные. Если реквизит добавлен в документ, который участвует в проведении, проверьте, не требуется ли учесть его в движениях по регистрам.
Как добавить колонку в табличную часть
Табличная часть — это отдельная таблица, связанная с объектом. Например, чтобы в документе «Реализация товаров и услуг» хранить примечание к каждой строке товара, реквизит добавляется именно в табличную часть «Товары», а не в шапку документа.
Порядок почти идентичен: в дереве конфигурации раскройте документ, найдите ветку «Табличные части», выберите нужную и добавьте в неё реквизит. Затем откройте форму документа, найдите таблицу, связанную с табличной частью, и добавьте новую колонку — либо перетаскиванием реквизита из панели «Реквизиты» в дерево элементов формы, либо через команду «Добавить» в редакторе формы.
Если колонка добавлена в данные, но не видна на форме, проверьте свойство «Видимость» элемента формы и пользовательские настройки формы в режиме предприятия («Ещё → Изменить форму»). Часто поле уже существует, но скрыто настройками конкретного пользователя.
Добавление поля через расширение конфигурации
Расширение — механизм, который позволяет дорабатывать типовую конфигурацию, не изменяя её саму. Ваши реквизиты хранятся отдельно, и при обновлении типовой конфигурации они не конфликтуют с изменениями поставщика. Это рекомендуемый способ для конфигураций на поддержке.
Порядок работы: в конфигураторе откройте «Конфигурация → Расширения конфигурации», создайте новое расширение с понятным именем и префиксом (например, «Доп»). Затем в дереве конфигурации найдите нужный объект, вызовите контекстное меню и выберите «Добавить в расширение». После этого добавьте реквизит в объект уже внутри расширения — он получит префикс, который вы указали.
Расширения имеют ограничения: не все объекты и не все изменения через них поддерживаются. Например, изменение ролей, некоторых регистров и отдельных системных свойств может быть недоступно. Если расширение не позволяет решить задачу, придётся дорабатывать конфигурацию напрямую с включением возможности изменения.
Сравнение вариантов
Подходит для типовых конфигураций на поддержке. Обновления поставщика не затирают доработки. Ограничение: доступны не все объекты и свойства.
Полный доступ ко всем объектам и свойствам. Подходит для собственных и уже доработанных конфигураций. Минус: усложняет обновление типовых решений.
Во многих типовых конфигурациях есть механизм «Дополнительные реквизиты и сведения» — поле создаётся без конфигуратора. Подходит для простых справочных данных, но такие поля неудобны в отчётах и запросах.
Альтернатива без конфигуратора: дополнительные реквизиты
В типовых конфигурациях (например, в линейке «Управление торговлей», «ERP», «Бухгалтерия предприятия») встроен механизм дополнительных реквизитов и сведений. Он позволяет администратору добавить поле к справочнику или документу прямо в режиме предприятия, без конфигуратора и без обновления конфигурации базы данных.
Обычно механизм находится в разделе администрирования: «НСИ и администрирование → Общие настройки → Дополнительные реквизиты и сведения». После включения флажка у объектов появляется возможность добавлять поля через форму «Дополнительные реквизиты». Поле сразу становится доступно пользователям с соответствующими правами.
Минус подхода — такие поля хранятся в универсальной таблице, а не в основной таблице объекта. Это замедляет выборки по этим полям и усложняет их использование в запросах и произвольных отчётах. Для полей, участвующих в отборах, обменах и проведении документов, лучше использовать полноценный реквизит через конфигуратор или расширение.
Как выбрать действие
Проверка результата и типичные ошибки
После обновления конфигурации базы данных проверьте результат в несколько шагов: откройте объект в режиме предприятия, создайте новый элемент, заполните добавленное поле, сохраните и откройте повторно — значение должно сохраниться. Затем проверьте поле в списке, отчёте или отборе, если оно для этого предназначалось.
Как проверить результат
Значение введено, объект записан, после повторного открытия значение на месте
Поле очищается после записи — проверьте связь элемента формы с реквизитом данных
Поле видно всем пользователям с нужными правами
Поле видно только части пользователей — проверьте права и функциональные опции
Реструктуризация завершилась без ошибок, база открывается
Ошибка реструктуризации — восстановите копию и ищите причину в журнале
Существующие отчёты и синхронизации работают как раньше
Отчёт или обмен упал с ошибкой — новое поле могло нарушить формат обмена
Отдельная группа проблем связана с обменами данными. Если база участвует в синхронизации (например, с сайтом или другой базой 1С), новый реквизит не передаётся автоматически — его нужно добавить в правила обмена. До настройки правил данные в новом поле будут существовать только в одной базе.
Перед добавлением реквизита проверьте, нет ли в типовой конфигурации уже готового поля с похожим смыслом. Часто нужное поле существует, но не выведено на форму или закрыто функциональной опцией. Поиск по дереву конфигурации (Ctrl+Shift+F по метаданным) экономит время и избавляет от дублирующих реквизитов.
Ограничения и границы самостоятельной работы
Добавление простого реквизита в справочник или документ — задача, которую может выполнить администратор с базовым знанием конфигуратора. Однако есть ситуации, где лучше привлечь разработчика: добавление полей в регистры, участвующие в проведении документов; изменение объектов, включённых в планы обмена; доработка конфигураций со сложной системой прав; работа с большими таблицами, где реструктуризация занимает часы.
Также учитывайте лицензионные ограничения: для изменения конфигурации требуется, чтобы она не была закрыта от изменений поставщиком. Некоторые отраслевые решения поставляются в закрытом виде, и единственный доступный способ доработки — расширение.
Что важно запомнить
Поле в таблицу 1С добавляется через реквизит объекта в конфигураторе с последующим обновлением конфигурации базы данных (F7). Для типовых конфигураций используйте расширение или механизм дополнительных реквизитов. Перед изменениями делайте резервную копию, тщательно выбирайте тип данных и проверяйте результат в режиме предприятия.
Частые вопросы
Можно ли добавить поле в таблицу 1С без конфигуратора?
Да, если конфигурация типовая и в ней включён механизм «Дополнительные реквизиты и сведения». Поле создаётся в режиме предприятия через раздел администрирования. Ограничение: такие поля хранятся отдельно от основной таблицы, медленнее работают в отборах и неудобны в запросах.
Что произойдёт с данными при добавлении нового реквизита?
Существующие записи не пострадают: при реструктуризации платформа добавляет новую колонку, а в старых записях поле остаётся пустым (значение по умолчанию для типа). Опасна обратная операция — удаление реквизита или смена его типа на несовместимый: тогда данные в этом поле теряются.
Почему после добавления реквизита его не видно на форме?
Реквизит в данных и элемент на форме — разные вещи. Откройте форму объекта в конфигураторе и перетащите реквизит из панели реквизитов в дерево элементов формы. Также проверьте пользовательские настройки формы в режиме предприятия («Ещё → Изменить форму») — поле может быть скрыто настройками конкретного пользователя.
Чем расширение лучше прямого изменения конфигурации?
Расширение хранит доработки отдельно от типовой конфигурации, поэтому обновления поставщика устанавливаются штатно и не затирают ваши реквизиты. При прямом изменении конфигурации каждое обновление требует ручного сопоставления изменений, а при полной загрузке конфигурации поставщика доработки теряются.
Как добавить поле в табличную часть документа?
В конфигураторе раскройте документ, найдите ветку «Табличные части», выберите нужную (например, «Товары») и добавьте реквизит в неё. Затем откройте форму документа и добавьте колонку в таблицу формы. После обновления конфигурации базы данных (F7) поле станет доступно для заполнения в каждой строке документа.
Опасно ли обновлять конфигурацию базы данных на рабочей базе?
Сама операция безопасна при наличии резервной копии, но во время реструктуризации пользователи не могут работать с базой, а на больших таблицах процесс может занять значительное время. Выполняйте обновление в нерабочее время, предварительно проверив его на копии базы.