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

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

Как изменить конфигурацию базы данных 1С

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

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

Главный риск при такой работе — потеря или порча данных. Изменение типа реквизита, удаление объекта или неудачная реструктуризация таблиц способны привести к тому, что часть информации станет недоступной, а база перестанет открываться. Поэтому любые правки начинаются с резервной копии и, желательно, с проверки на тестовой копии базы, а не на рабочей.

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

Что такое конфигурация базы данных и чем она отличается от конфигурации разработчика

В 1С одновременно существуют две конфигурации. Конфигурация разработчика (основная конфигурация) — та, которую вы редактируете в конфигураторе. Конфигурация базы данных — та, с которой реально работают пользователи и по которой построены таблицы в СУБД или файле базы. Пока вы не выполнили обновление, эти две конфигурации могут отличаться.

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

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

Подготовка: резервная копия и условия для безопасной работы

Перед любыми правками сделайте резервную копию. Для файловой базы достаточно выгрузки через «Администрирование → Выгрузить информационную базу» в конфигураторе (файл .dt) либо копирования файла 1Cv8.1CD при остановленной работе пользователей. Для клиент-серверной базы корректный способ — выгрузка .dt из конфигуратора или штатный бэкап средствами СУБД.

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

Дополнительные условия безопасной работы:

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

Как открыть конфигурацию для изменений: поддержка и замок

Если конфигурация типовая и находится на полной поддержке, объекты закрыты от редактирования — в дереве они отмечены пиктограммой замка. Попытка изменить такой объект вызовет предупреждение или будет заблокирована. Это защита от случайных правок, усложняющих обновление типовых релизов.

Чтобы включить возможность изменений, откройте «Конфигурация → Поддержка → Настройка поддержки», нажмите кнопку «Включить возможность изменения» и подтвердите действие. После этого для каждого объекта можно выбрать режим: «Редактируется с сохранением поддержки» (объект меняется, но при обновлении платформа попытается сопоставить его с новым релизом) или «Снят с поддержки» (объект больше не участвует в автоматическом сопоставлении).

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

Сравнение вариантов доработки

Расширение конфигурации

Подходит для добавления реквизитов, форм, печатных форм и обработчиков. Не требует снятия с поддержки, обновление типового релиза не усложняется. Ограничение: не все объекты и сценарии доступны для переопределения.

Правка с сохранением поддержки

Подходит, когда возможностей расширения не хватает. Обновление релиза потребует ручного сопоставления изменённых объектов.

Снятие с поддержки

Полная свобода изменений, но автоматическое обновление типового релиза становится невозможным — каждый релиз придётся переносить вручную.

Внесение изменений в конфигураторе

Откройте дерево конфигурации через «Конфигурация → Открыть конфигурацию». Дальнейшие действия зависят от задачи:

  • добавить реквизит — в ветке нужного объекта (справочника, документа) выберите «Реквизиты», добавьте новый, задайте имя и тип;
  • добавить документ или справочник — в ветке соответствующего вида объектов используйте «Добавить», заполните свойства, движения и нумерацию;
  • изменить форму — откройте форму объекта и отредактируйте элементы и обработчики;
  • изменить код — откройте модуль объекта, менеджера или общий модуль и внесите правки с учётом контекста исполнения (клиент/сервер).

При переименовании объектов и реквизитов платформа сохраняет связь по внутреннему идентификатору, поэтому данные обычно не теряются. А вот удаление объекта или изменение типа реквизита на несовместимый (например, строки в число с нечисловыми значениями) приведёт к потере данных в этих полях — платформа предупредит об этом при обновлении, но отменить уже выполненную реструктуризацию можно только восстановлением копии.

Обновление конфигурации базы данных

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

Порядок действий при обновлении:

Порядок обновления базы
  1. 1
    Завершите работу всех пользователей и фоновых заданий, проверьте список активных сеансов
  2. 2
    Убедитесь, что резервная копия создана и проверена восстановлением
  3. 3
    Выполните «Конфигурация → Обновить конфигурацию базы данных» (клавиша F7)
  4. 4
    Изучите окно реструктуризации, при предупреждениях о потере данных примите решение осознанно
  5. 5
    Подтвердите обновление и дождитесь окончания реструктуризации
  6. 6
    Запустите базу в режиме «Предприятие» и проверьте изменённые объекты

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

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

Проверка результата и откат при проблемах

После обновления запустите базу в режиме «Предприятие» и проверьте изменённые объекты: открываются ли формы, сохраняются ли документы, работают ли отчёты и проведение. Затем выполните «Администрирование → Тестирование и исправление» на копии базы, если изменения затрагивали структуру данных массово.

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

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

Открытие базы в режиме «Предприятие»
Норма

База открывается без сообщений о несоответствии версий конфигурации

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

Ошибка «Конфигурация базы данных не соответствует сохранённой конфигурации» — обновление не завершено

Работа изменённых объектов
Норма

Формы открываются, документы проводятся, новые реквизиты сохраняются

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

Ошибки при открытии форм или записи объектов — нужно вернуться в конфигуратор и исправить

Данные в изменённых реквизитах
Норма

Значения на месте, типы соответствуют ожиданиям

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

Поля пустые или обрезанные — данные потеряны при реструктуризации, требуется восстановление из копии

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

Типичные ошибки и ограничения

Типичные ошибки
01
Обновление без резервной копии — при ошибке реструктуризации данные теряются безвозвратно
02
Обновление при активных сеансах пользователей — платформа либо не даст выполнить операцию, либо пользователи получат ошибки и несохранённые данные пропадут
03
Массовое снятие объектов с поддержки — каждое следующее обновление типового релиза превращается в ручной перенос доработок
04
Изменение типа реквизита на несовместимый без переноса данных — старые значения будут очищены
05
Прерывание реструктуризации — высокий риск повреждения файла базы
06
Правки сразу в рабочей базе без проверки на тестовой копии — ошибка обнаруживается пользователями уже в бою

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

Итог

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

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

Частые вопросы

Почему кнопка «Обновить конфигурацию базы данных» неактивна?

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

Можно ли обновить базу, пока пользователи работают?

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

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

Да. При обновлении платформа покажет предупреждение о потере данных, и после подтверждения значения удалённого реквизита будут стёрты без возможности восстановления. Если данные нужны, сначала перенесите их в другой реквизит обработкой и только потом удаляйте старый.

Чем расширение лучше прямой доработки конфигурации?

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

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

Не запускайте повторное обновление и не выполняйте тестирование и исправление на единственной копии. Восстановите базу из резервной копии, сделанной до обновления, затем на тестовой копии воспроизведите проблему и найдите её причину — чаще всего это несовместимое изменение типов или повреждённые данные в изменяемых таблицах.

Как понять, какие объекты конфигурации уже доработаны?

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