Жизненный цикл проекта
Любой проект имеет определенный фиксированный жизненный цикл, который включает в себя создание проекта, его модификацию и использование.
Для модифик ации проектов нужно использовать среду разработки. Она не работает «сама по себе», а только во взаимодействии с конкретным приложением, существующим на сервере.
По этой причине жизненный цикл проекта всегда начинается на сервере с создания приложения. Если вы, например, хотите изменить проект, который есть у вас в виде файла-архива, то сначала нужно создать приложение на сервере из этого архива, а затем уже изменять его в среде разработки.
Изменение существующего проекта
Мы рекомендуем создать копию работающего приложения, доработать ее, а после этого обновить работающее приложение. Создать копию работающего приложения можно двумя способами.
Способ 1. Если для доработки вам не нужны данные, которые содержатся в работающем приложении, или если у вас есть архив проекта работающего приложения, то можно:
Способ 2. Если для доработки вам нужна полная копия работающего приложения с данными, то тогда:
- сделайте резервную копию приложения (без списка пользователей);
- затем создайте приложение из выгрузки.
Изменение проекта
Чтобы появилась возможность модификации проекта, который содержится в приложении, администратор сервера включает режим разработки для этого приложения. В результате у приложения появляется команда Редактировать.
Разработчик открывает панель управления и нажимает Редактировать. В результате этого «Исполнитель» открывает в браузере разработчика среду разработки, выгружает проект с сервера и открывает его в среде разработки.
Разработчик модифицирует проект — например, добавляет в него элементы. После этого он может либо опубликовать проект на сервере, либо запустить его для отладки. В обоих случаях будет вызван процесс обновления приложения.
Обновление приложения
Процесс обновления приложения имеет фиксированный жизненный цикл, при котором приложение переходит из одного состояния в другое. «1С:Исполнитель» отображает текущее состояние приложения в панели управления.
Если все хорошо, то в процессе обновления приложение последовательно пройдет через следующие состояния:
- Остановлено,
- Обновляется,
- Обновлено,
- Остановлено,
- Запускается,
- Запущено.
При переходе приложения из состояния Обновляется в Обновлено «Исполнитель» выполняет ряд критичных действий:
- Проверяет проект, который был загружен на сервер.
- Выполняет миграцию данных приложения, если это необходимо. Миграция данных может потребоваться в двух случаях:
- Если новый проект использует другие структуры данных — например, существующему справочнику был добавлен новый реквизит.
- Если после создания приложения был обновлен сервер и в новой версии сервера изменилась структура системных таблиц «1С:Исполнителя».
По разным причинам обновление приложения может закончиться ошибкой. В этом случае приложение перейдет в состояние Ошибка и будет ожидать проект без ошибок. Чтобы вернуть приложение в работоспособное состояние, проанализируйте сообщение сервера, исправьте ошибку в проекте (или откатите назад несколько своих изменений) и снова опубликуйте проект либо запустите его.
Обновление данных приложения
После успешного обновления проекта сервер запускает приложение. При запуске приложения «1С:Исполнитель» вызовет методы, осуществляющие обновления данных приложения (при условии, что они есть и не были вызваны ранее). Данные методы следует расположить в модуле проекта и пометить аннотацией @ОбновлениеПроекта
(подробнее).
Сохранение новой версии проекта на сервере
Всякий раз, когда среда разработки публикует на сервере проект, версия которого еще не сохранена, сервер сохраняет ее. Таким образом, в процессе разработки и отладки новой версии проекта не нужно менять его версию. Когда новая версия будет готова, номер версии можно изменить и опубликовать проект. Сервер автоматически сохранит эту новую версию проекта, и она будет доступна для создания или обновления приложений.