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