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

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

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

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

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

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

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

Что значит «добавить документ в расширение»

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

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

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

Подготовка: что проверить перед добавлением документов

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

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

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

Как заимствовать документы в расширение

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

Для добавления сразу нескольких документов используйте множественное выделение: зажмите Ctrl и кликайте по нужным объектам либо выделите диапазон с Shift. Затем вызовите контекстное меню и выполните «Добавить в расширение» — все выделенные документы будут заимствованы за одну операцию.

Порядок действий
  1. 1
    Откройте конфигуратор и активное расширение (окно расширения должно быть активным)
  2. 2
    В дереве основной конфигурации раскройте ветку «Документы»
  3. 3
    Выделите нужные документы с Ctrl или Shift
  4. 4
    Щёлкните правой кнопкой и выберите «Добавить в расширение»
  5. 5
    Проверьте, что объекты появились в дереве расширения
  6. 6
    Сохраните расширение (F7 или «Сохранить»)

Штатной команды «добавить все документы разом» в конфигураторе нет. Если объектов десятки, выделяйте их группами через Shift — это самый быстрый легальный способ. Альтернатива для совсем больших объёмов — программная выгрузка и загрузка расширения через файлы XML или использование EDT, где доступны более гибкие инструменты работы с проектом.

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

Добавление документов в роли и подсистемы расширения

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

Для включения в подсистему заимствуйте нужную подсистему в расширение и в её составе отметьте свой документ. Для прав создайте в расширении новую роль (или заимствуйте типовую) и установите права на объект: чтение, добавление, изменение, проведение. Затем назначьте роль пользователям в режиме предприятия или через профили групп доступа, если используется БСП.

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

Создание собственных документов в расширении

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

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

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

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

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

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

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

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

Документ в дереве расширения
Норма

Объект заимствован и отображается с пиктограммой расширения

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

Объекта нет — заимствование не выполнено или расширение не было активным

Видимость в интерфейсе
Норма

Документ есть в нужном разделе под обычным пользователем

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

Виден только администратору — не настроены роли или подсистема

Проведение документа
Норма

Документ проводится без ошибок, движения формируются

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

Ошибка прав доступа или отсутствия объекта метаданных

Обновление расширения
Норма

Реструктуризация проходит без удаления нужных данных

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

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

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

Ограничения и альтернативные подходы

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

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

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

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

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

Итог

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

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

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

Можно ли добавить в расширение сразу все документы конфигурации одной кнопкой?

Штатной команды «заимствовать всё» нет. Выделяйте документы группами с помощью Shift и Ctrl и добавляйте через контекстное меню. Однако массовое заимствование без реальной необходимости — плохая практика: каждое обновление типовой конфигурации потребует проверки всех заимствованных объектов.

Почему заимствованный документ не виден пользователям?

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

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

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

Как изменить модуль документа в расширении, чтобы не было конфликтов при обновлении?

Заимствуйте модуль и переопределяйте процедуры через аннотации &Вместо, &После, &Перед или &ИзменениеИКонтроль, а не переписывайте код целиком. Тогда при обновлении типовой конфигурации вы увидите только точечные изменения, а не полный конфликт версий модуля.

Переносится ли расширение с документами в другую базу?

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