Разработка и Конфигурация · 10 мин
Как вносить изменения в конфигурацию 1С
Как безопасно изменить конфигурацию 1С: расширения, режим поддержки, обновление конфигурации базы данных, тестирование и откат изменений.
Изменение конфигурации 1С — задача, которая рано или поздно встаёт перед любым внедрением: нужно добавить реквизит в справочник, поправить форму документа, изменить печатную форму или доработать алгоритм проведения. Действия при этом сильно различаются в зависимости от того, типовая у вас конфигурация или уже доработанная, стоит ли она на поддержке и какой механизм доработки вы выберете.
Главный принцип безопасной доработки — по возможности не трогать типовой код, а использовать расширения конфигурации. Прямые изменения объектов снимают их с полной поддержки, усложняют обновления и повышают риск потери данных при ошибке. Расширение же «надстраивается» поверх конфигурации и отключается одной галочкой.
Ниже разобраны подготовка, выбор механизма, практические сценарии изменения объектов, обновление конфигурации базы данных, проверка результата и типичные ошибки.
Подготовка: резервная копия и проверка режима поддержки
Перед любыми изменениями сделайте резервную копию информационной базы. Для файловой базы достаточно скопировать файл 1Cv8.1CD при остановленной работе пользователей или выполнить выгрузку через «Администрирование → Выгрузить информационную базу» в Конфигураторе. Для клиент-серверной базы используйте средства СУБД или выгрузку в dt.
Далее откройте Конфигуратор и посмотрите состояние поддержки: меню «Конфигурация → Поддержка → Настройка поддержки». Если конфигурация стоит на полной поддержке поставщика, объекты будут закрыты для редактирования — платформа не даст их менять, пока вы не включите возможность изменения. Это осознанный барьер: он защищает типовой механизм обновления.
Также заранее решите, где будете тестировать доработку. Правило безопасной работы: изменения сначала вносятся и проверяются на копии базы, и только потом переносятся в рабочую. Прямые правки в «боевой» базе, где работают пользователи, — частая причина простоев и потери данных.
Выбор способа: расширение или изменение основной конфигурации
Платформа 1С:Предприятие 8.3 предлагает два принципиально разных пути. Расширение конфигурации — отдельный объект, который добавляет или переопределяет формы, роли, подсистемы и некоторые метаданные, не меняя саму конфигурацию. Прямая доработка — редактирование объектов основной конфигурации с включением возможности изменения.
Сравнение вариантов
Подходит для новых реквизитов, печатных форм, отчётов, обработчиков, доработки форм. Не ломает обновления, легко отключается. Ограничение: нельзя менять некоторые объекты и часть логики проведения.
Нужно, когда расширение не покрывает задачу: глубокая переработка документов, регистров, планов обмена. Минус — снятие с полной поддержки и сложные обновления.
Выбирайте расширение всегда, когда задача решается его средствами: добавить реквизит, изменить форму, подключить внешнюю печатную форму, переопределить обработчик события. К прямой доработке прибегайте только если нужно изменить состав движений документа, структуру регистра или типовые модули, недоступные для расширения.
Как создать расширение и внести правки
Откройте Конфигуратор, перейдите в «Конфигурация → Расширения конфигурации» и создайте новое расширение. Задайте имя и префикс — префикс добавляется к именам добавляемых объектов и помогает отличать их от типовых. После создания расширение появится в дереве конфигурации отдельной веткой.
Чтобы доработать типовой объект, найдите его в основной конфигурации, вызовите контекстное меню и выберите «Добавить в расширение». После этого объект станет доступен в расширении: вы сможете добавить реквизит, изменить форму, заимствовать модуль и переопределить обработчики «Вместо», «Перед» или «После».
Для переопределения процедур и функций используйте аннотации в модуле расширения. Режим «После» и «Перед» безопаснее, чем «Вместо»: при обновлении типовой конфигурации код, полностью заменённый через «Вместо», не получит исправлений поставщика, и вы рискуете потерять важные изменения логики.
- 1Сделайте резервную копию базы
- 2Создайте расширение с понятным именем и префиксом
- 3Добавьте нужный типовой объект в расширение через контекстное меню
- 4Внесите правки: реквизиты, форма, обработчики событий
- 5Сохраните расширение и обновите конфигурацию базы данных (F7)
- 6Проверьте результат в режиме 1С:Предприятие на тестовой базе
- 7Перенесите расширение в рабочую базу через загрузку из файла
Прямое изменение основной конфигурации
Если расширение не подходит, включите возможность изменения: «Конфигурация → Поддержка → Настройка поддержки → Включить возможность изменения». Для каждого объекта платформа позволяет задать правило: «Редактируется с сохранением поддержки» или «Не редактируется». Старайтесь открывать для изменения только те объекты, которые реально дорабатываете, — так при обновлении конфигурации сравнение и объединение пройдут проще.
После включения возможности изменения редактируйте объекты обычным образом: добавляйте реквизиты в справочники и документы, правьте формы, модули объектов и менеджеров. Каждую доработку полезно сопровождать комментарием в коде с пометкой доработки — это сильно упрощает будущие обновления, когда нужно будет вручную переносить изменения на новый релиз.
Обновление конфигурации базы данных
Изменения, внесённые в Конфигураторе, не применяются к базе автоматически. Чтобы пользователи увидели новые реквизиты и формы, выполните «Конфигурация → Обновить конфигурацию базы данных» или нажмите F7. Платформа покажет список изменений структуры: новые реквизиты, таблицы, индексы.
Если изменения затрагивают структуру данных (добавлен реквизит, изменён тип поля), платформа выполнит реструктуризацию. В монопольном режиме она обычно проходит быстро, но на больших таблицах может занять продолжительное время — планируйте такие обновления на нерабочие часы. В клиент-серверном варианте доступно фоновое обновление, но оно имеет ограничения и требует аккуратной настройки.
Признак успешного обновления — отсутствие ошибок в окне сообщений и корректный запуск базы в режиме предприятия. Если платформа сообщила об ошибке реструктуризации, не пытайтесь повторять обновление вслепую: восстановите базу из копии и разберитесь с причиной — чаще всего это несовместимое изменение типа данных.
Проверка результата и откат изменений
После обновления запустите базу в режиме 1С:Предприятие и пройдите полный пользовательский сценарий: создайте документ, заполните новый реквизит, проведите, сформируйте печатную форму и отчёт, который затрагивает доработка. Проверяйте не только «не упало ли», но и корректность данных: суммы, движения по регистрам, права доступа.
Для отката расширения достаточно снять у него флажок «Используется» в списке расширений — конфигурация вернётся к типовому поведению. Откат прямых доработок сложнее: потребуется либо загрузить сохранённый файл конфигурации (cf), либо восстановить базу из резервной копии, если данные уже изменены.
Как проверить результат
База открывается без ошибок, пользователи входят штатно
Ошибки реструктуризации, аварийное завершение при входе
Новый реквизит сохраняется, документ проводится, печать формируется
Поле не сохраняется, ошибки в модуле при проведении
Связанные отчёты и документы работают как раньше
Перестали работать смежные функции после доработки
Типичные ошибки и ограничения
Помните и об ограничениях расширений: в них нельзя изменять некоторые виды объектов (например, планы обмена, критерии отбора), глубоко перестраивать регистры и часть типовой логики проведения. Если задача упирается в эти рамки, вариантов два: прямая доработка конфигурации или пересмотр решения — например, реализация логики через внешнюю обработку или подписки на события в расширении.
Ещё одна граница безопасной самостоятельной работы — доработки, влияющие на учётные данные: изменение проведения документов, расчёта налогов, обменов с другими системами. Ошибка здесь искажает учёт, и исправлять её придётся уже на исторических данных. Такие задачи разумно выполнять с привлечением специалиста по 1С и обязательным тестированием на копии с реальным объёмом данных.
Что важно запомнить
Всегда начинайте с резервной копии и тестовой базы. Предпочитайте расширения прямым доработкам, а при прямых изменениях открывайте для редактирования только нужные объекты. После правок обновляйте конфигурацию базы данных (F7), проверяйте полный сценарий работы и держите под рукой план отката.
Частые вопросы
Можно ли изменять конфигурацию, не снимая её с поддержки?
Да, частично. Правило «Редактируется с сохранением поддержки» позволяет менять отдельные объекты, не снимая конфигурацию с поддержки целиком. А расширения вообще не требуют изменения режима поддержки — это основной способ доработки типовых решений.
Что делать, если кнопка «Обновить конфигурацию базы данных» недоступна?
Чаще всего причина в том, что конфигурация базы данных не открыта (нужно сначала открыть конфигурацию через «Конфигурация → Открыть конфигурацию»), либо изменений, требующих обновления, нет. Также проверьте, что база не заблокирована другими сеансами и у вас есть права администратора.
Почему после обновления типовой конфигурации пропали доработки?
Если правки вносились напрямую и при обновлении в окне сравнения и объединения не были отмечены для сохранения, они заменяются типовым кодом. Поэтому перед обновлением сохраняйте текущую конфигурацию в cf-файл и внимательно проходите объединение по каждому изменённому объекту.
Можно ли использовать расширение в файловой базе?
Да, расширения работают и в файловом, и в клиент-серверном варианте. Они хранятся в самой информационной базе и применяются при её запуске, если у расширения установлен флажок использования.
Опасно ли добавлять реквизит в типовой документ?
Само по себе добавление реквизита — относительно безопасная операция: платформа при реструктуризации добавит новую колонку, существующие данные не пострадают. Риски появляются, если новый реквизит участвует в проведении, обменах или отчётах — тогда нужно тестировать все связанные механизмы.
Как перенести доработки с тестовой базы на рабочую?
Расширение выгружается в файл через кнопку выгрузки в списке расширений и загружается в рабочую базу. Прямые доработки переносятся через сравнение и объединение конфигураций («Конфигурация → Сравнить, объединить с конфигурацией из файла») с последующим обновлением конфигурации базы данных.