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

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

Как добавить реквизит в расширение 1С

Как добавить реквизит в расширение 1С: заимствование объектов, создание реквизита, вывод на форму, проверка и типичные ошибки при работе с расширениями.

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

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

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

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

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

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

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

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

Нужно 1–5 дополнительных полей в типовом объектеИспользуйте расширение — это быстрый и безопасный путь
Нужно изменить алгоритмы проведения типовых документовОцените доработку основной конфигурации, расширение здесь ограничено
Конфигурация уже снята с поддержкиДобавляйте реквизит напрямую в конфигурацию, расширение не обязательно
Нужно хранить дополнительные данные без доработки вообщеРассмотрите штатный механизм дополнительных реквизитов и сведений (БСП)

Подготовка: создание расширения и требования к режиму совместимости

Откройте конфигуратор и перейдите в меню «Конфигурация» → «Расширения конфигурации». В открывшемся списке создайте новое расширение: задайте имя латиницей без пробелов (например, ДоработкиУчета), префикс (например, Расш1_) и синоним. Префикс автоматически добавляется к именам всех новых объектов расширения и защищает от конфликтов имён с типовой конфигурацией и другими расширениями.

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

Заимствование объекта и добавление реквизита

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

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

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

Вывод реквизита на форму объекта

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

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

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

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

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

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

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

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

Поле на форме элемента
Норма

Реквизит отображается, доступен для ввода

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

Поле отсутствует или недоступно — проверьте заимствование формы и права

Сохранение значения
Норма

Значение остаётся после записи и повторного открытия

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

Значение пропадает — реквизит не попал в базу, повторите обновление (F7)

Доступность в запросе
Норма

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

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

Поле не видно в запросе — проверьте, что реквизит добавлен именно в расширение, а расширение подключено

Окно реструктуризации
Норма

Только добавление новых полей

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

Есть удаление или изменение типовых объектов — отмените и проверьте изменения

Ограничения и типичные ошибки

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

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

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

Альтернатива: дополнительные реквизиты без конфигурирования

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

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

Сравнение вариантов

Реквизит через расширение

Полноценное поле в таблице объекта: быстро в запросах, доступно в обменах. Требует конфигуратора и обновления базы

Дополнительный реквизит (БСП)

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

Доработка основной конфигурации

Нет ограничений, но снимает конфигурацию с полной поддержки и усложняет обновления

Итог

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

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

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

Сохранятся ли данные реквизита при обновлении типовой конфигурации?

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

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

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

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

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

Что произойдёт с данными, если удалить расширение?

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

Можно ли использовать добавленный реквизит в отчётах и СКД?

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

Работает ли расширение в файловой и клиент-серверной базе одинаково?

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