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