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

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

Как внести изменения в конфигураторе 1С

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

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

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

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

Подготовка: резервная копия и выбор способа доработки

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

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

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

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

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

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

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

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

Как открыть конфигурацию и включить возможность изменений

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

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

Убедитесь, что в базе нет активных сеансов пользователей, если планируете обновление конфигурации базы данных. Проверить сеансы можно через «Администрирование → Активные пользователи» либо в консоли кластера серверов при клиент-серверном режиме работы.

Внесение изменений в объекты конфигурации

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

Добавление реквизита в документ

Типовая задача — добавить, например, реквизит «Комментарий менеджера» в документ реализации. В дереве конфигурации найдите нужный документ, раскройте ветку «Реквизиты», добавьте новый элемент, укажите тип «Строка» с нужной длиной. Затем откройте основную форму документа и перетащите реквизит из панели доступных полей на форму, иначе пользователи его не увидят.

Изменение программного кода

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

Работа через расширения конфигурации

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

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

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

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

Обновление конфигурации базы данных

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

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

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

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

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

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

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

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

Открытие формы с новым реквизитом
Норма

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

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

Ошибка обращения к реквизиту или форма не открывается

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

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

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

Ошибка в модуле проведения или отсутствуют движения

Работа под правами обычного пользователя
Норма

Объект доступен, операции выполняются

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

Нарушение прав доступа — забыли настроить роли на новый объект

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

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

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

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

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

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

Можно ли вносить изменения, пока пользователи работают в базе?

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

Чем расширение лучше прямого изменения конфигурации?

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

Что делать, если после обновления появилась ошибка?

Зафиксируйте текст ошибки и момент её возникновения. Если ошибка критична и мешает работе, восстановите базу из выгрузки .dt, сделанной перед обновлением. Затем проанализируйте доработку в копии базы: чаще всего причина в обращении к несуществующему реквизиту или в изменённой типовой процедуре.

Как вернуть конфигурацию к типовому состоянию?

Через «Конфигурация → Загрузить конфигурацию из файла» можно загрузить файл поставщика соответствующего релиза, либо выполнить «Конфигурация → Поддержка → Настройка поддержки» и вернуть объект на поддержку, если правки незначительны. Перед этим обязательно выгрузите текущую конфигурацию в файл .cf, чтобы не потерять нужные доработки.

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

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

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

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

Итог

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

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