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