Замена конфигурации 1С:Предприятие: загрузка .cf, обновление структуры базы, конвертация данных
Содержание
Конфигурацию меняют в Конфигураторе: Конфигурация → Загрузить конфигурацию из файла, выбрать .cf, затем подтвердить обновление структуры базы данных (F7 или Конфигурация → Обновить конфигурацию базы данных). Загрузка полностью заменяет прежнюю конфигурацию, обновление переносит изменения на таблицы базы. Операция требует монопольного доступа — все пользователи должны выйти.
«Поменять конфигурацию» означает одно из трёх: загрузить другую конфигурацию целиком из .cf (замена), объединить текущую с другой и перенести часть объектов, либо перейти на другую прикладную программу с переносом данных через конвертацию. Способ зависит от того, совпадает ли структура базы данных со структурой новой конфигурации.
Что различать: загрузка, обновление и объединение
Три операции Конфигуратора легко спутать, а последствия у них разные.
| Операция | Что делает | Когда применяют |
|---|---|---|
| Загрузить конфигурацию из файла | Полностью заменяет конфигурацию содержимым .cf | Разворачивают эталонную или новую конфигурацию с нуля |
| Обновить конфигурацию базы данных | Переносит изменения из главной конфигурации на таблицы базы | После любой правки или загрузки — обязательный финальный шаг |
| Сравнить, объединить с конфигурацией из файла | Переносит выбранные объекты, сохраняя остальное | Нужно подтянуть доработки, не затирая свои изменения |
Ключевое различие: загрузка затирает всё, объединение переносит выбранное. Если в базе есть собственные доработки (новые отчёты, обработки, реквизиты), загрузка чужого .cf их уничтожит без предупреждения о конкретных объектах.
У конфигурации два уровня: «главная конфигурация» (то, что редактируют) и «конфигурация базы данных» (по ней работают пользователи). Загрузка и объединение меняют главную конфигурацию. Пока не выполнено «Обновить конфигурацию базы данных», пользователи видят старую структуру.
Совместимость версий платформы и конфигурации
Прежде чем загружать .cf, убедитесь, что он вообще откроется в вашей платформе. Правило простое: загрузить можно конфигурацию, сохранённую в версии платформы не выше вашей. Если .cf сделан в более новой платформе, при загрузке будет ошибка «файл сохранён более новой версией».
Как действовать:
- 🔢 Сверьте номера. Версия вашей платформы — в Конфигураторе
Справка → О программе. Версию, в которой сохранён.cf, сообщает тот, кто его передал. - ⬆️ Если платформа старше — обновите платформу до номера не ниже требуемого, затем загружайте
.cf. Обновление платформы и замена конфигурации — разные операции: платформа ставится установщиком, конфигурация грузится в Конфигураторе. - 🧩 Режим совместимости. У конфигурации есть свойство «Режим совместимости» (в свойствах корня конфигурации). Оно задаёт, под какую версию платформы рассчитана конфигурация. При переносе между базами это свойство тоже должно укладываться в возможности платформы.
Путаница «обновить 1С» часто сводит в одно платформу и конфигурацию. Платформа — это 1cv8, движок. Конфигурация — прикладное решение поверх него. Меняя конфигурацию, вы не трогаете платформу, и наоборот.
Резервная копия перед заменой
Замена конфигурации необратима штатными средствами: откатить загрузку .cf кнопкой «назад» нельзя. Перед заменой сделайте полную выгрузку информационной базы.
- 💾 Файловая база — скопируйте файл
1Cv8.1CDиз каталога базы, когда все вышли. Этого достаточно. - 🗄 Клиент-серверная база
— выгрузите базу в
.dt: Конфигуратор →Администрирование → Выгрузить информационную базу. Выгрузка.dtтребует монопольного доступа. - 📦 Только конфигурация — если нужен откат на текущую конфигурацию без данных, сохраните её в
.cf:Конфигурация → Сохранить конфигурацию в файл.
Выгрузка .dt содержит и конфигурацию, и данные — это полный слепок. Копия файла 1Cv8.1CD равнозначна по содержанию, но делается быстрее и без захвата базы, если скопировать её при остановленных сеансах.
Как загрузить другую конфигурацию в файловой базе
В файловом варианте база — это один каталог с файлом 1Cv8.1CD. Монопольный доступ здесь означает, что никто больше не держит базу открытой.
- Попросите всех закрыть базу. В окне запуска 1С выделите базу — убедитесь, что список сеансов пуст (в файловом варианте это просто отсутствие других открытых окон 1С с этой базой).
- Откройте базу в режиме
Конфигуратор. - Меню
Конфигурация → Открыть конфигурацию(если панель конфигурации не видна). Конфигурация → Загрузить конфигурацию из файла, укажите нужный.cf.- Платформа загрузит конфигурацию и предложит обновить конфигурацию базы данных — согласитесь.
- В окне «Реорганизация информации» просмотрите список изменений структуры и нажмите
Принять.
Если платформа сообщает, что база занята, значит, кто-то не вышел либо остался фоновый сеанс. Закройте все клиентские окна этой базы и повторите. Насильно завершать чужие сеансы в файловом варианте нечем — только договориться, чтобы вышли.
Сам файл .cf вы получаете готовым: из поставки прикладного решения, от разработчика доработок или сохранив из другой базы через Конфигурация → Сохранить конфигурацию в файл. Проверьте, что это именно .cf (конфигурация), а не .cfe (расширение) или .dt (выгрузка базы) — их грузят разными командами, и подмена формата приведёт к ошибке.
После обновления структуры новая конфигурация становится рабочей сразу. Если загрузили не тот .cf, восстановление — только из резервной копии.
Замена конфигурации в клиент-серверной базе
В клиент-серверном варианте база живёт на сервере 1С:Предприятия, пользователи подключаются по сети. Перед обновлением структуры их нужно отключить, иначе платформа не получит монопольный доступ.
Порядок такой:
- Заблокируйте начало сеансов. В консоли администрирования серверов (или через
rac) установите для базы блокировку начала сеансов и код разрешения. Новые подключения перестанут проходить, активные останутся. - Дождитесь выхода пользователей или завершите оставшиеся сеансы из консоли. Завершение сеанса обрывает работу: несохранённые данные пользователя теряются. Делайте это в согласованное окно, а не в разгар рабочего дня.
- Откройте базу в Конфигураторе с кодом разрешения блокировки (параметр
/UCв строке соединения или поле в окне запуска). - Загрузите
.cfтак же, как в файловой базе:Конфигурация → Загрузить конфигурацию из файла. - Обновите конфигурацию базы данных (
F7). На время реструктуризации таблиц база недоступна. - Снимите блокировку начала сеансов и верните пользователей.
Монопольный доступ в клиент-серверной базе нужен именно на шаге обновления структуры и выгрузки .dt — для простого просмотра конфигурации он не требуется. Для крупных баз реструктуризация больших таблиц идёт долго; планируйте окно с запасом.
Блокировка начала сеансов с кодом разрешения — штатный способ «освободить» базу, не останавливая службу 1C:Enterprise 8.3 Server Agent. Останавливать службу ради одной базы не нужно: это оборвёт сеансы всех баз кластера.
Когда структура не совпадает: объединение и конвертация
Загрузка .cf работает, если новая конфигурация совместима с текущей базой данных. Если вы переходите на принципиально другую программу (например, с самодельной конфигурации на типовую или между разными типовыми), прямая загрузка невозможна — структуры метаданных разные, данные не лягут в новые таблицы.
Здесь два пути.
Объединение конфигураций
. Конфигурация → Сравнить, объединить с конфигурацией из файла. Платформа покажет дерево объектов с отметками: что добавить, что заменить, что оставить. Так переносят отдельные объекты (отчёты, обработки, реквизиты) из одной конфигурации в другую, не ломая остальное. Для данных это не перенос — объединяется только конфигурация.
В окне объединения доступны два базовых режима для каждого объекта:
- Взять из файла (приоритет загружаемой конфигурации) — объект берётся из
.cf, ваша версия замещается. - Оставить своё (приоритет основной конфигурации) — ваш объект сохраняется, изменение из файла не применяется.
Снимайте галочки с объектов, которые трогать не нужно: по умолчанию платформа предлагает перенести все различия, а вам обычно нужна лишь часть. После объединения так же обязателен шаг Обновить конфигурацию базы данных — до него изменения живут только в главной конфигурации.
Конвертация данных . Для переноса самих данных между несовместимыми конфигурациями применяют конфигурацию «Конвертация данных». Общая схема:
- 📐 В «Конвертации данных» описывают правила конвертации — какой объект источника в какой объект приёмника превращается, какое поле куда ложится.
- 📤 Из базы-источника данные выгружают в XML по этим правилам.
- 📥 В базе-приёмнике XML загружают, объекты создаются по правилам.
Для современных типовых конфигураций чаще используют формат EnterpriseData и обмен через планы обмена, а не ручные правила. Настройка правил конвертации — отдельная большая задача; если переносите данные между типовыми, сначала проверьте, нет ли готового механизма перехода в самой программе (Администрирование → Синхронизация данных или помощник перехода на новую редакцию).
Конвертация переносит данные выборочно и по правилам — это не копия базы. Остатки, незакрытые документы и настройки часто требуют ручной сверки после переноса. Планируйте перенос на начало периода и сверяйте итоги.
Автоматизация: пакетный режим Конфигуратора
Разовую замену делают руками. Если конфигурацию нужно обновлять регулярно (тестовые базы, типовой эталон на несколько баз), применяют пакетный запуск Конфигуратора из командной строки.
Базовый сценарий — загрузить .cf и обновить структуру одной командой:
1cv8 DESIGNER /F"D:\Bases\Buh" /N"Администратор" /P"пароль" /LoadCfg "D:\dist\1cv8.cf" /UpdateDBCfg
Разбор параметров:
DESIGNER— запуск в режиме Конфигуратора./F"путь"— путь к файловой базе (для серверной используют/S"сервер\база")./Nи/P— имя пользователя и пароль./LoadCfg "файл.cf"— загрузить конфигурацию из файла./UpdateDBCfg— обновить конфигурацию базы данных после загрузки.
Перед пакетным обновлением серверной базы так же нужен монопольный доступ — установите блокировку сеансов и передайте код разрешения параметром /UC. Остальные ключи (выгрузка, восстановление) смотрите в справке платформы: запустите 1cv8 /? или откройте раздел по пакетному режиму в документации.
В пакетном режиме ошибки не всплывают окнами — направьте вывод в журнал параметром /Out"путь\лог.txt" и проверяйте его после запуска. Иначе сбой загрузки пройдёт незаметно.
Типовой порядок для автоматического обновления: выгрузить .dt (резерв) → установить блокировку → LoadCfg + UpdateDBCfg → снять блокировку. Эти шаги оформляют в .bat или задании планировщика.
Права доступа: кто может менять конфигурацию
Загрузить конфигурацию и обновить структуру базы может только пользователь с правами администратора. Конкретно нужно право на административные функции — его даёт роль с полным доступом (в типовых это профиль «Администратор»).
Что проверить:
- 🔑 Пользователь входит в Конфигуратор — значит, у него есть право
Администрированиена уровне конфигурации. Рядовой пользователь в Конфигуратор не попадёт. - 👥 В клиент-серверной базе отключать и блокировать сеансы через консоль администрирования серверов может администратор кластера — это отдельный уровень прав, не связанный с правами внутри базы.
- 🛡 Если включена защита от опасных действий, при первом подключении внешних файлов платформа запросит подтверждение — это не ошибка прав.
Не раздавайте право входа в Конфигуратор рядовым пользователям «на всякий случай». Из Конфигуратора можно загрузить любую конфигурацию и необратимо изменить структуру рабочей базы.
Разделяйте две учётные записи: администратора кластера серверов (управляет сеансами и блокировками) и администратора информационной базы (меняет конфигурацию внутри). Это разные зоны ответственности.
Частые вопросы
Чем «Загрузить конфигурацию из файла» отличается от «Обновить конфигурацию базы данных»?
Можно ли поменять конфигурацию без выхода пользователей?
.dt требуют монопольного доступа. В файловой базе все закрывают базу, в клиент-серверной — включают блокировку начала сеансов и дожидаются выхода.Сохранятся ли мои доработки, если загрузить чужой `.cf`?
Как перенести данные при переходе на другую типовую конфигурацию?
.cf данные не переносятся — структуры разные. Сначала проверьте помощник перехода или синхронизацию данных в самой программе; для нестандартных случаев — конфигурацию «Конвертация данных» с правилами и выгрузкой в XML.