← База знаний

Расширения 1С vs изменение конфигурации: что безопаснее для обновлений

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

🔑 В чём принципиальная разница

Изменение конфигурации — это прямая правка кода в конфигураторе. Конфигурация становится «несинхронизированной» с типовым релизом 1С. При каждом обновлении программист вынужден вручную переносить ваши доработки в новый релиз — иначе они будут перезаписаны.

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

📊 Сравнение двух подходов

Параметр Изменение конфигурации Расширение
Обновление 1С❌ Требует переноса доработок✅ Обновление не затрагивает расширение
Стоимость обновления❌ Высокая (часы программиста)✅ Низкая (только проверка совместимости)
Гибкость доработки✅ Полная — любые изменения⚠️ Ограничена (не всё можно вынести в расширение)
Добавление объектов (справочников, документов)✅ Да✅ Да (с ограничениями)
Переопределение модулей✅ Полное⚠️ Частичное (через &Вместо, &ДоОбъекта)
Поддержка и прозрачность⚠️ Сложнее — доработки «вшиты» в код✅ Доработки изолированы и видны отдельно
Производительность✅ Нет накладных расходов⚠️ Незначительное снижение при большом числе расширений

Нужна доработка с сохранением возможности обновлений?

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

Обсудить подход →

✅ Когда использовать расширения

  • Конфигурация типовая (1С:Бухгалтерия, 1С:УТ, 1С:ЗУП, 1С:ERP) и регулярно обновляется
  • Нужно добавить поля в документы или справочники
  • Нужно добавить свою логику в модуль документа или обработчик
  • Нужны новые справочники или документы, не пересекающиеся с типовыми
  • Важно, чтобы доработки были легко передаваемы другому программисту

⚠️ Когда без изменения конфигурации не обойтись

  • Нужно глубоко изменить логику типового объекта — расширение не позволяет переопределить весь модуль
  • Конфигурация уже сильно изменена предыдущими программистами — расширения конфликтуют
  • Нужно изменить структуру хранения данных (добавить таблицы, регистры с нестандартным измерением)
  • Конфигурация снята с поддержки и обновляться не будет

💡 Гибридный подход — лучший для большинства задач

На практике я чаще всего использую комбинацию:

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

Такой подход даёт максимум гибкости доработки при минимальных затратах на обновления в будущем.

Хотите доработку, которая не сломается при обновлении?

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

Подробнее об услуге →