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