Проект конфигурации

Проект конфигурации содержит одну конфигурацию.

Автоматическое обновление информационных баз

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

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

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

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

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

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

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

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

В дальнейшем можно изменить эти настройки в панели Приложения.

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

Обновление перед запуском

Это рекомендуемый способ обновления.

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

Обновление в процессе редактирования
В этом режиме изменения конфигурации передаются в информационную базу постоянно и автоматически прямо в процессе редактирования. Каждый раз, как вы нажимаете Сохранить в редакторе встроенного языка, например. Или сразу после добавления нового реквизита к объекту конфигурации.
При помещении этих изменений в базу используется механизм инкрементальной загрузки конфигурации из файлов XML. Таким образом, в базу загружаются только изменения, произошедшие с конфигурацией с момента предыдущей ее выгрузки из 1C:EDT. Более подробно этот процесс выглядит следующим образом:
  • Вы изменяете конфигурацию в 1C:EDT. Измененные объекты помечаются внутри 1C:EDT как необходимые к загрузке.
  • 1C:EDT выгружает измененные объекты из модели 1C:EDT во временный каталог в виде .xml-файлов конфигурации.
  • 1C:EDT вызывает пакетный режим конфигуратора и выполняет инкрементальную загрузку конфигурации из них.
  • 1C:EDT удаляет временный каталог.
  • При успешной загрузке в базу 1C:EDT удаляет объекты из списка необходимых к загрузке. При неуспешной — не удаляет.
В результате к тому моменту, как вы захотите запустить конфигурацию на исполнение, состояние базы будет таким же, как если бы вы работали прямо в конфигураторе «1С:Предприятия». В базе будет измененная основная конфигурация, полностью соответствующая той конфигурации, которая находится в 1C:EDT. Для запуска платформе останется только обновить конфигурацию базы данных, выполнить при необходимости реструктуризацию и запустить клиентское приложение.
Можно сказать, что обновление в процессе редактирования — это режим максимальной готовности базы к запуску.

Создать новый проект для разработки конфигурации

В панели Навигатор нажмите Новый > Проект конфигурации в контекстном меню пустой области.

Совет: Также можно вызвать этот мастер, нажав Файл > Новый > Проект конфигурации.

1C:EDT автоматически заполнит все необходимые поля мастера, так что можно просто нажать Готово.

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

Кроме того, можно задать имя проекта ( Имя проекта), отличное от имени конфигурации. Это может понадобиться в том случае, когда имя конфигурации длинное, а в панели Навигатор вам хочется использовать короткие имена.
Важно: Будьте внимательны. После создания проекта его имя изменить нельзя.

Также можно изменить маску версии платформы «1С:Предприятия» ( Версия), которая будет использоваться для этого проекта.

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

Важно: Будьте внимательны. После создания проекта маску версии платформы изменить нельзя.

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

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

Связать проект с базой можно разными способами в удобный вам момент. Например, можете сделать это в процессе разработки, добавив к проекту новое приложение.

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

Назначение полей (диалог «Новая конфигурация»)
  • ИмяИмя конфигурации. Имя используется для обращения из встроенного языка. Оно позволяет отличить одну конфигурацию от другой при выполнении административных действий с разными конфигурациями. Имя должно состоять из одного слова, начинаться с буквы и не содержать специальных символов кроме "_". Длина имени не может превышать 80 символов.
  • СинонимСиноним конфигурации. Синоним содержит название, которое будет показано пользователям. Синоним конфигурации отображается в левой части заголовка главного окна.
  • КомментарийКомментарий к конфигурации. Содержит произвольный комментарий для разработчиков.
  • Имя проектаИмя проекта. Имя идентифицирует проект в рабочей области 1C:EDT. Не может совпадать с именем другого проекта в этой же рабочей области;
    Важно: Будьте внимательны. После создания проекта его имя изменить нельзя.
  • Расположение по умолчаниюесли флажок установлен, каталог с файлами проекта будет располагаться в корне рабочей области. Если снят — для нового проекта будет использован путь, указанный в поле Расположение;
  • Расположениепуть к каталогу, в котором будут располагаться файлы проекта. Нестандартный путь может быть полезен, например, для группировки проектов внутри рабочей области или внутри репозитория;
  • Версия — Маска версии платформы «1С:Предприятие». Можно выбрать одну из масок, работу с которыми поддерживает 1C:EDT.
    Платформа, соответствующая этой маске, будет использоваться для автоматической проверки конфигурации, для взаимодействия с автоматически обновляемыми информационными базами и для запуска приложения (в качестве стандартного значения).
    По умолчанию 1C:EDT выберет самую старшую из установленных на компьютере версий платформы, соответствующую этой маске. Если вы не хотите, чтобы использовалась самая старшая версия, соответствующая маске, можно указать конкретную версию платформы, которая будет использоваться при выборе этой маски. Подробнее смотрите в разделе Назначение конкретной версии маске.
    Важно: Будьте внимательны. После создания проекта маску версии платформы изменить нельзя.
Назначение полей (диалог «Выбор информационной базы»)
  • Информационная база — база, конфигурация которой будет автоматически обновляться по состоянию проекта. Версия платформы «1С:Предприятия», используемая для этой базы, должна соответствовать маске версии платформы, выбранной для проекта на предыдущем шаге.

    Одна из информационных баз, зарегистрированных на компьютере. Начните вводить наименование базы в это поле, и 1C:EDT предложит для выбора подходящие базы.

    Кнопка (или ) открывает простой список для быстрого выбора информационной базы.

    Кнопка (или ) открывает форму выбора информационной базы. Представление баз в этой форме аналогично тому, как они представляются в панели Информационные базы. Чтобы найти базу в большом списке, начните вводить наименование базы в поле Поиск.... 1C:EDT автоматически отфильтрует список и оставит в нем только подходящие базы.

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

Перевести проект на новую версию платформы

Новая версия 1C:EDT может поддерживать новую версию платформы «1С:Предприятие». В связи с этим может возникнуть задача перевода разрабатываемого проекта на новую версию платформы.

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

Централизованное обновление в основной ветке:
  1. Залить все локальные ветки разработчиков в основную ветку на сервере;
  2. Основную ветку на сервере перевести на новую версию платформы;
  3. Новые ветки для разработки задач создавать от свежего состояния основной ветки.
Распределенное обновление:
  1. Каждый разработчик сливает, при необходимости, основную ветку с сервера в свои локальные ветки;
  2. Руководитель проекта переводит основную ветку на сервере на новую версию платформы;
  3. Каждый разработчик переводит свои локальные ветки на новую версию платформы;
  4. После того, как основная ветка на сервере переведена на новую версию, разработчики могут заливать в нее свои локальные ветки, также переведенные на новую версию платформы.
Перевести на новую версию
Чтобы перевести проект, расположенный в репозитории Git, на новую версию платформы, выполните следующие действия.
  1. Запустите старую версию 1C:EDT;
  2. Зафиксируйте все изменения проекта (если такие есть) в репозитории Git (подробнее);
  3. Загрузите последнее состояние проекта в связанную с ним базу (Обновить конфигурацию...), установив в диалоге флажок Загрузить конфигурацию полностью ...;
  4. Если в каталоге проекта вы храните свои собственные файлы, которые не генерируются 1C:EDT, скопируйте их во временный каталог;
  5. Запомните имя проекта и удалите проект (Удалить), установив в диалоге флажок Удалить содержимое проекта на диске;
  6. Завершите работу старой версии 1C:EDT;
  7. Сделайте копию базы на случай неудачи;
  8. Переведите базу на новую версию платформы, следуя рекомендациям (пример);
  9. Запустите новую версию 1C:EDT на старой рабочей области;
  10. Импортируйте базу в новый проект с тем же именем, которое было у старого проекта;
  11. Добавьте проект в тот же репозиторий Git;
  12. Скопируйте обратно в каталог проекта собственные файлы из временного каталога (п. 4);
  13. Зафиксируйте изменения проекта в репозитории;
  14. В конфигурациях запуска этого проекта укажите новую версию платформы.

Обновить проект по состоянию информационной базы

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

Обновить проект по состоянию базы можно в нескольких случаях.

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

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

Обновить проект по состоянию базы
Обновить проект можно несколькими способами:
  • Перетащите базу, связанную с проектом, из панели Информационные базы в панель Навигатор;
  • В панели Информационные базы нажмите (Импортировать конфигурацию...) в командной панели или в контекстном меню базы;
  • В панели Приложения нажмите Импортировать конфигурацию в контекстном меню приложения;
  • В панели Разработка нажмите Импортировать конфигурацию в контекстном меню базы (если проект находится под версионным контролем Git).

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

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

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

В этот момент можно поступить двумя способами:

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

Экспорт и импорт конфигураций

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

Изменить свойства проекта

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

Открыть свойства проекта

В панели Навигатор нажмите Открыть редактор проекта в контекстном меню проекта.

Назначение полей
  • Версия платформы — маска версии платформы «1С:Предприятия».
    Платформа, соответствующая этой маске, будет использоваться для автоматической проверки конфигурации, для взаимодействия с автоматически обновляемыми информационными базами и для запуска приложения (в качестве стандартного значения).
    По умолчанию 1C:EDT выберет самую старшую из установленных на компьютере версий платформы, соответствующую этой маске. Если вы не хотите, чтобы использовалась самая старшая версия, соответствующая маске, можно указать конкретную версию платформы, которая будет использоваться при выборе этой маски. Подробнее смотрите в разделе Назначение конкретной версии маске.
    Важно: После создания проекта маску версии платформы изменить нельзя.
  • Оптимизировать формат хранения данных проектаоптимизирует внутренний формат .xml-файлов проекта.

Закрыть проект

Закрытые проекты отмечаются значком .

Когда проект закрыт, вы не можете изменять его в основном окне, его ресурсы не показываются в панели Навигатор, но он продолжает существовать в файловой системе. Закрытые проекты требуют меньшего объема оперативной памяти. Поэтому закрытие проектов, которые не нужны в ближайшее время, но вообще могут понадобиться, позволяет уменьшить (иногда значительно) время запуска 1C:EDT и время построения моделей открытых проектов.

Закрыть проект

В панели Навигатор нажмите Закрыть проект в контекстном меню проекта.

Эта операция выполняется быстро.

Открыть проект

В панели Навигатор нажмите Открыть проект в контекстном меню проекта.

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

Импортировать конфигурацию из информационной базы в новый проект

Импортировать конфигурацию из базы в новый проект можно несколькими способами:

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

Настройки доступа к базе

Если импортируемая база используется в первый раз, то поверх мастера импорта 1C:EDT откроет диалог настроек доступа к базе.

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

Версия платформы

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

Если база была создана другой версией платформы, выберите подходящую маску в поле Версия проекта.

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

Если на вашем компьютере не установлена конкретная платформы, необходимая вам, например, для работы с автономным сервером, выполните следующие действия:
  1. Не закрывая 1C:EDT и этого диалога установите платформу «1С:Предприятия»;
  2. Вернитесь в этот диалог и нажмите (Обновить список версий платформ) чтобы 1C:EDT «увидела» новую версию платформы;
  3. Выберите шаблон новой версии в поле Версия проекта.
Расширения

Импортируемая база может содержать расширения конфигурации. Мастер импорта автоматически обнаружит их и предложит импортировать вместе с основной конфигурацией.

Можно отказаться от этого или выбрать только некоторые расширения для импорта.

Расширения будут импортированы в отдельные проекты, связанные с главным. Для всех проектов расширений проект конфигурации будет установлен в качестве базового. Имя базового проекта будет использоваться в именах проектов расширений в качестве префикса. Таким образом, все импортированные проекты будут находиться рядом друг с другом.

Возможная проблема: Если база открыта в конфигураторе «1С:Предприятия», импорт будет невозможен.

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

В процессе импорта 1C:EDT выполнит следующие действия:

  1. Выгрузит конфигурацию из базы во временный каталог. Для этого используется команда пакетного режима запуска конфигуратора, выгружающая конфигурацию в файлы XML;
  2. Загрузит эти файлы XML в рабочую область, выполнив их преобразование во внутреннее файловое представление 1C:EDT;
  3. Удалит временный каталог;
  4. Построит внутреннюю модель проекта в 1C:EDT по внутреннему файловому представлению, содержащемуся в рабочей области. При этом будут выполнены:
    • Расчет вычислимых данных,
    • Расчет поисковых и прочих индексов,
    • Проверка модели.
  5. Создаст приложение для запуска и отладки этого проекта.

Импортировать конфигурацию конкретной версией платформы

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

Серверные компоненты есть только у «средней» версии 2505. В этом случае можно поступить следующим образом.

  1. Для маски <8.3.10> установите конкретную версию платформы — 8.3.10.2505 (подробнее).
  2. Импортируйте конфигурацию из базы (подробнее).
  3. После импорта верните маску <8.3.10> в исходное состояние.
  4. Укажите версию платформы 8.3.10.2505 в настройках доступа базы.

Импортировать конфигурацию, находящуюся на полной поддержке

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

Изменить такую конфигурацию средствами 1C:EDT вам не удастся. Если вы хотите изменить режим поддержки или совсем отказаться от поддержки, это нужно сделать до импорта в конфигураторе «1С:Предприятия».

Экспортировать конфигурацию в другую информационную базу

Когда вы разработали и отладили конфигурацию, можно экспортировать ее прямо в «боевую» базу, с которой работают пользователи. То есть в ту базу, которая не использовалась для этого проекта во время его разработки.

Экспортировать конфигурацию в базу можно несколькими способами:

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

Если на вашем компьютере не установлена конкретная платформы, необходимая вам, например, для работы с автономным сервером, выполните следующие действия:
  1. Не закрывая 1C:EDT и этого диалога установите платформу «1С:Предприятия»;
  2. Вернитесь в этот диалог и нажмите (Обновить список версий платформ) чтобы 1C:EDT «увидела» новую версию платформы;

Экспортировать конфигурацию в связанную информационную базу

Экспортировать конфигурацию в базу можно несколькими способами:
  • Перетащите проект из панели Навигатор на связанную базу в панели Информационные базы;
  • В панели Навигатор нажмите Обновить конфигурацию... в контекстном меню проекта;
  • В панели Информационные базы нажмите (Обновить конфигурацию...) в командной панели или в контекстном меню базы.

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

Если вы по каким-то причинам сомневаетесь в правильности работы инкрементальных обновлений и хотите быть на 100% уверены в том, что в базу попали все изменения, сделанные в проекте, то установите в диалоге флажок Загрузить конфигурацию полностью.... В этом случае в базу будет передана вся конфигурация, но это может занять значительное время.

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