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