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

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

Как добавить дополнительные возможности в 1С

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

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

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

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

Какие способы расширения функциональности существуют

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

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

Внешние обработки и отчёты

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

Расширение конфигурации

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

Изменение основной конфигурации

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

Готовые решения и подсистемы

Коммерческие и бесплатные модули (интеграции, ЭДО, обмены). Быстрый старт, но зависимость от поставщика и возможные конфликты с другими доработками.

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

Внешние обработки и отчёты: самый безопасный способ

Внешние обработки (файлы .epf) и внешние отчёты (.erf) подключаются к типовой конфигурации без каких-либо изменений. Они работают в рамках существующих данных и не мешают обновлениям.

Как подключить внешнюю обработку
  1. 1
    Откройте раздел «Администрирование» → «Печатные формы, отчеты и обработки».
  2. 2
    Включите флажок «Дополнительные отчеты и обработки».
  3. 3
    Перейдите по ссылке «Дополнительные отчеты и обработки» и нажмите «Добавить из файла».
  4. 4
    Выберите файл .epf или .erf. Если появится предупреждение безопасности — подтверждайте только для файлов из доверенного источника.
  5. 5
    Настройте размещение: укажите, в каких разделах или документах обработка будет доступна.
  6. 6
    Проверьте права: пользователи без права «Использование дополнительных отчетов и обработок» её не увидят.
  7. 7
    Откройте обработку на тестовых данных и убедитесь, что результат корректен.

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

Расширения конфигурации: рекомендуемый способ доработок

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

Изменение типового кода выполняется через аннотации в модуле расширения:

bsl
&После("ПриПроведении")
Процедура Расш1_ПриПроведении(Отказ, РежимПроведения)
	Если СуммаДокумента > 100000 Тогда
		Сообщить("Крупный документ: требуется согласование");
	КонецЕсли;
КонецПроцедуры

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

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

Изменение основной конфигурации: когда без этого не обойтись

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

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

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

Дополнительные реквизиты и сведения без программирования

Частая потребность — добавить поле к справочнику или документу (например, «Способ доставки» к заказу). В типовых конфигурациях на управляемых формах это делается без программирования: «Администрирование → Общие настройки → Дополнительные реквизиты и сведения».

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

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

Интеграции и внешние компоненты

Ещё один класс дополнительных возможностей — обмен с внешними системами: сайтами, банками, службами доставки, оборудованием. Здесь применяются HTTP-запросы и веб-сервисы (код на встроенном языке в расширении или обработке), планы обмена, а также внешние компоненты по технологии Native API — например, для сканеров штрихкодов или нестандартного оборудования.

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

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

Как выбрать способ

Нужна печатная форма, загрузка из Excel, разовая обработка данныхИспользуйте внешнюю обработку — конфигурация не меняется.
Нужно новое поле для хранения и отбора без логикиДостаточно дополнительных реквизитов в настройках, программирование не требуется.
Нужно изменить поведение документа, форму или добавить свой объектСоздавайте расширение конфигурации.
Нужно менять структуру типовых регистров или глубоко перестраивать учётДоработка основной конфигурации — привлекайте разработчика и планируйте стоимость обновлений.
Нужен обмен с банком, ЭДО, маркировкойСначала проверьте штатные механизмы конфигурации, разработка — только если их нет.

Проверка результата и безопасное внедрение

Любую доработку — даже простую внешнюю обработку — сначала проверяйте на копии базы. Для файловых баз достаточно скопировать каталог или сделать выгрузку .dt; для серверных — создать тестовую базу из резервной копии. Только после успешной проверки подключайте доработку в рабочей базе, желательно вне пиковой нагрузки.

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

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

Подключение обработки
Норма

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

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

Обработки нет в списке, ошибка прав или «объект не найден» при открытии

Расширение после обновления конфигурации
Норма

Конфигурация обновилась, расширение подключено, доработанные функции работают

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

Расширение отключено как несовместимое, ошибки «метод не обнаружен»

Доработка проведения документа
Норма

Документы проводятся, движения по регистрам корректны, новая проверка срабатывает

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

Документы не проводятся, движения задваиваются или исчезают

Печатная форма
Норма

Формируется на реальных документах, все поля заполнены, макет не «разъезжается»

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

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

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

Итог

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

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

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

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

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

Что произойдёт с расширением при обновлении конфигурации?

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

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

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

Почему подключённая обработка не видна пользователям?

Наиболее частые причины: у пользователей нет права «Использование дополнительных отчетов и обработок»; в настройках обработки не указаны разделы размещения; обработка отключена флажком в списке. Проверьте эти три пункта — в большинстве случаев проблема в правах.

Чем опасен вариант &Вместо в расширении?

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

Можно ли вернуть конфигурацию на поддержку после доработок?

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