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

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

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

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

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

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

Когда заимствовать документ, а когда создавать новый

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

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

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

Заимствование типового документа

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

Новый документ в расширении

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

Подготовка: создание и подключение расширения

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

Проверьте свойства расширения: назначение должно соответствовать задаче («Дополнение» для большинства случаев), а режим безопасности и защита от опасных действий — требованиям вашей базы. В файловой базе расширение подключается сразу; в клиент-серверном варианте может потребоваться перезапуск сеансов пользователей, чтобы объект стал доступен.

Как заимствовать типовой документ

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

После заимствования доступны типовые сценарии доработки. Чтобы добавить реквизит, откройте заимствованный документ, перейдите на вкладку «Данные» и создайте новый реквизит — он будет храниться в расширении. Чтобы расширить модуль объекта или форму, вызовите контекстное меню на модуле и выберите «Добавить в расширение», затем используйте аннотации &После("ИмяПроцедуры"), &Перед("ИмяПроцедуры") или &Вместо("ИмяПроцедуры") для переопределения обработчиков.

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

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

В дереве расширения щёлкните правой кнопкой по ветке «Документы» и выберите «Добавить». Платформа создаст объект с именем, начинающимся с префикса расширения, например Расш1_АктОсмотра. Задайте синоним — именно его увидят пользователи в интерфейсе.

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

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

// Пример: переопределение обработки проведения заимствованного документа

&После("ОбработкаПроведения")

Процедура Расш1_ОбработкаПроведения(Отказ, РежимПроведения)

// Дополнительные проверки или движения

Если Не ЗначениеЗаполнено(Расш1_Согласующий) Тогда

Отказ = Истина;

КонецЕсли;

КонецПроцедуры

Настройка прав и подсистем

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

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

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

После завершения доработок нажмите F7 («Обновить конфигурацию базы данных»). Платформа выполнит реструктуризацию: для нового документа будут созданы таблицы в базе данных, для заимствованного — добавлены поля новых реквизитов. В многопользовательском режиме потребуется завершить активные сеансы.

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

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

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

Документ в интерфейсе
Норма

Виден в нужной подсистеме и открывается

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

Объект есть в конфигураторе, но не виден пользователю — проверьте подсистемы и права

Проведение
Норма

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

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

Ошибки проведения или пустые движения — проверьте обработчики и регистры

Права пользователя
Норма

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

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

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

Типичные ошибки и ограничения расширений

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

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

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

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

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

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

Почему новый документ из расширения не виден в меню?

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

Сохранятся ли данные при отключении расширения?

При отключении расширения с удалением данных все таблицы, созданные расширением (новые документы и их реквизиты), будут удалены вместе с данными. Вариант «отключить без удаления» оставляет данные в базе, но они станут недоступны. Перед отключением сделайте резервную копию.

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

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

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

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

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

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

Итог

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

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