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

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

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

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

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

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

Что происходит при сохранении: основная конфигурация и конфигурация базы данных

В 1С существуют два уровня конфигурации. Основная конфигурация — та, которую вы редактируете в Конфигураторе. Конфигурация базы данных — та, с которой фактически работают пользователи. Команда «Сохранить конфигурацию» (Ctrl+S) записывает изменения только в основную конфигурацию, и этого недостаточно для применения правок в работе.

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

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

Базовый сценарий: сохранить и обновить конфигурацию

Стандартная последовательность для базы, где нет активных пользователей (например, копия для разработки), выглядит так:

Порядок действий
  1. 1
    Откройте Конфигуратор и разблокируйте конфигурацию, если она на поддержке с запретом изменений
  2. 2
    Внесите нужные изменения в объекты метаданных
  3. 3
    Нажмите Ctrl+S или «Конфигурация → Сохранить конфигурацию»
  4. 4
    Нажмите F7 или «Конфигурация → Обновить конфигурацию базы данных»
  5. 5
    Если появился список изменений структуры — проверьте его и нажмите «Принять»
  6. 6
    Дождитесь завершения реструктуризации и сообщения об успешном обновлении

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

Признак успешного завершения — сообщение «Обновление конфигурации базы данных завершено» в окне служебных сообщений и отсутствие расхождений при повторном сравнении конфигураций.

Обновление при работающих пользователях: динамическое обновление

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

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

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

Сохранение конфигурации в файл и загрузка из файла

Выгрузка конфигурации в файл нужна для переноса доработок между базами, архивного хранения версий и передачи изменений коллегам. Используются два формата: файл конфигурации (.cf) и файлы поставки/обновления, а также выгрузка в XML-файлы для систем контроля версий.

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

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

Сохранение при работе с хранилищем конфигурации

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

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

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

Частые ошибки и как их избежать

Типичные ошибки
01
Нажатие только Ctrl+S без F7: изменения сохранены в основной конфигурации, но пользователи их не видят, а при закрытии Конфигуратора без обновления правки можно потерять при определённых сбоях
02
Обновление без резервной копии: прерванная реструктуризация большой таблицы может повредить базу без возможности отката
03
Попытка динамического обновления при изменении структуры данных: платформа откажет, а время на подготовку будет потрачено
04
Загрузка полного .cf-файла вместо сравнения и объединения: затираются доработки, сделанные в целевой базе
05
Игнорирование окна реструктуризации: удалённые реквизиты и табличные части теряют данные безвозвратно
06
Работа в монопольном режиме на рабочей базе в разгар дня: пользователи не могут войти, документы не проводятся

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

Как проверить, что изменения сохранились и применились

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

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

Сравнение основной конфигурации с конфигурацией БД
Норма

Окно сравнения пустое, различий нет

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

Показываются отличающиеся объекты — обновление не выполнено

Открытие изменённой формы в режиме Предприятия
Норма

Форма отображается с новыми элементами и работает без ошибок

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

Старый вид формы или ошибка при открытии

Поведение пользователей после динамического обновления
Норма

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

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

Ошибки в сеансах, запущенных до обновления

Журнал регистрации
Норма

Нет ошибок, связанных с обновлением конфигурации

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

Записи об ошибках реструктуризации или фоновых заданиях обновления

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

Итог

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

Сохранение изменений в 1С состоит из двух шагов: сохранения основной конфигурации (Ctrl+S) и обновления конфигурации базы данных (F7). Перед обновлением рабочей базы делайте резервную копию, при активных пользователях и неструктурных изменениях применяйте динамическое обновление, а для переноса доработок между базами используйте сравнение и объединение вместо полной загрузки .cf.

Ответы на частые вопросы

Чем отличаются команды «Сохранить конфигурацию» и «Обновить конфигурацию базы данных»?

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

Можно ли отменить обновление конфигурации базы данных?

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

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

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

Что делать, если реструктуризация зависла на большой таблице?

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

Как перенести доработки из тестовой базы в рабочую, не затронув чужие изменения?

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

Почему после динамического обновления у пользователей ошибки в формах?

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