Способы автоматического обновления информационных баз

Рекомендуемым сценарием разработки является связь одной или нескольких информационных баз с проектом. Благодаря такой связи 1C:EDT может передавать в них изменения конфигурации прямо в процессе редактирования. В результате время запуска конфигурации для отладки или для исполнения в этих базах практически сопоставимо с тем, которое требуется при работе в конфигураторе «1С:Предприятия 8».

При импорте конфигурации из информационной базы или при создании нового проекта конфигурации вы сразу же можете связать проект с информационной базой. При этом 1C:EDT использует стандартные настройки этой связи.

В дальнейшем вы можете изменить эти настройки или добавить другие информационные базы к проекту в панели Приложения. Чтобы изменить настройки, в панели Приложения нажмите Открыть в контекстном меню нужного приложения.

Существует два способа, которыми 1C:EDT обновляет конфигурацию в связанных информационных базах.

Первый способ — это Обновление в процессе редактирования.

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

При помещении этих изменений в информационную базу используется механизм инкрементальной загрузки конфигурации из файлов XML. Таким образом, в базу загружаются только изменения, произошедшие с конфигурацией с момента предыдущей ее выгрузки из 1C:EDT. Более подробно этот процесс выглядит следующим образом:

  • Вы изменяете конфигурацию в 1C:EDT. Измененные объекты помечаются внутри 1C:EDT как необходимые к загрузке.
  • 1C:EDT выгружает измененные объекты из модели 1C:EDT во временный каталог в виде XML-файлов конфигурации.
  • 1C:EDT вызывает пакетный режим конфигуратора и выполняет инкрементальную загрузку конфигурации из них.
  • 1C:EDT удаляет временный каталог.
  • При успешной загрузке в информационную базу 1C:EDT удаляет объекты из списка необходимых к загрузке. При неуспешной — не удаляет.

В результате к тому моменту, как вы захотите запустить конфигурацию на исполнение, состояние информационной базы будет таким же, как если бы вы работали прямо в конфигураторе «1С:Предприятия 8». В информационной базе будет измененная основная конфигурация, полностью соответствующая той конфигурации, которая находится в 1C:EDT. Для запуска платформе останется только обновить конфигурацию базы данных, выполнить при необходимости реструктуризацию и запустить клиентское приложение.

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

Второй способ, которым 1C:EDT может передавать изменения конфигурации в информационную базу, — Обновление перед запуском. Это рекомендуемый способ обновления.

В этом режиме в процессе редактирования ничего в информационную базу не передается. Эта особенность и является главным поводом выбрать данный режим.

В остальном он, как и обновление в процессе редактирования, для передачи изменений использует инкрементальную загрузку конфигурации из файлов XML в информационную базу. Только делает это один раз, непосредственно перед запуском. Или тогда, когда вы вручную нажмете Обновить конфигурацию базы данных информационной базы в командной панели основного окна.

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

В панели Приложения, кроме выбора режима обновления конфигурации в информационных базах, вы можете добавить к проекту вторую, третью и другие информационные базы. Связь сразу с несколькими базами может быть удобна для отладки на разных данных.

Если вы ведете разработку с помощью системы контроля версий Git, то 1C:EDT предоставляет дополнительный сервис, позволяющий автоматически использовать разные информационные базы для разных веток Git (подробнее).