﻿# Сценарий: подготовить решение к запуску

> [HTML Version](guide-launch-solution.html)

Этот сценарий поможет объединить компоненты в одно решение и подготовить его к экспорту, установке или обновлению. Вы определите состав решения, проверите зависимости, сформируете файл формата **.e365** и выполните его импорт в другую компанию.

Решение в ELMA365 — это пакет связанных компонентов системы, применяющихся для решения общих задач. В него могут входить разделы, приложения, страницы, бизнес-процессы, виджеты, скрипты, модули и другие настройки.

Например, решение **Закупки** упорядочивает операции с товарами и услугами в компании. Оно может включать тематический раздел, несколько приложений для хранения данных, бизнес-процесс для их обработки и страницы для удобства пользователей.

## Когда использовать сценарий

Подготовка решения нужна, чтобы:

1. Собрать настроенную функциональность в единый пакет для удобного управления.

2. Перенести настройки из тестовой среды в рабочую.

3. Передать готовую конфигурацию в другую компанию.

4. Выпустить новую версию уже существующего решения.

5. Выгрузить данные в файл **.e365** для хранения или импорта.

6. Опубликовать готовое решение в официальный каталог ELMA365 Store.

Сценарий показывает общую логику настройки и не заменяет подробные инструкции. На каждом этапе вы найдёте ссылки на статьи справки с подробным описанием нужных действий.

## Подготовка перед началом настройки

Перед формированием пакета продумайте архитектуру и логику будущего решения. Для этого определите:

- **рабочий сценарий** — какие задачи решают пользователи с помощью решения;

- **состав решения** — какие компоненты должны входить в пакет;

- **внешние зависимости** — какие компоненты не нужно включать в решение, поскольку они присутствуют и настраиваются в целевой компании;

- **план дальнейшей разработки** — необходимость адаптации решения после установки или обновления его версии в дальнейшем.

Если планируется развивать решение, заранее продумайте порядок выпуска и установки обновлений. Это поможет выбрать оптимальную структуру: какие компоненты должны входить в основной пакет, а какие — поставляться как дополнительные модули.

Например, если вы готовите решение **Закупки**, выявите компоненты, которые оно будет добавлять в компанию: отдельный раздел, приложения для заявок и поставщиков, процесс согласования, страницу для пользователей или дополнительные модули.

## Шаг 1. Определите границы решения

Сначала выявите, какие компоненты будут входить в состав решения, а какие останутся внешней зависимостью.

Решение должно содержать только те компоненты, которые относятся к одному рабочему сценарию или продуктовой настройке. Не рекомендуем включать в один пакет все настройки компании. 

Например, в решение **Закупки** можно включить:

- раздел **Закупки**;

- основное приложение **Заявки на закупку**;

- приложения-справочники **Поставщики** и **Товары и услуги**;

- бизнес-процесс **Согласование заявки на закупку**;

- страницы, которые нужны пользователям;

- виджеты, скрипты и другие настройки, без которых решение не будет работать.

Отдельно зафиксируйте зависимости. Например, решение может использовать компоненты системного раздела, другого решения или лицензируемого продукта. Такие зависимости нужно учитывать до экспорта и импорта.

````
Начало примечание

````
**Полезные статьи:**

- [«Решение в ELMA365»](solution.md) — какие бывают решения и какие компоненты могут входить в их состав;

- [«Создать решение с нуля»](create-solution.md) — как создать пользовательское решение и добавить в него компоненты.

````
Конец примечание

## ````
Шаг 2. Создайте решение и добавьте компоненты

На этом этапе приложения, процессы и страницы не настраиваются заново. Вы группируете уже подготовленные компоненты в один пакет, чтобы переносить его в другую компании или обновлять как единый объект.

**При добавлении компонентов учитывайте следующие правила:**

- пользовательский раздел, модуль или страница на уровне компании могут входить только в одно решение;

- системный раздел можно добавить в несколько решений, так как он по умолчанию присутствует в каждой компании;

- если в решение входит только часть системного раздела, нужно выбрать конкретные приложения и компоненты.

Например, если решение **Закупки** использует отдельный пользовательский раздел, его нужно включить в состав пакета полностью. При использовании в решении стандартных компонентов платформы определите: добавить их в пакет или оставить как внешнюю зависимость.

````
Начало примечание

````
**Полезные статьи:**

- [«Создать решение с нуля»](create-solution.md) — как создать пользовательское решение и добавить в него компоненты;

- # [«Разработка решений на платформе ELMA365»](solutions-building.md) — как возможности системы можно расширить с помощью пользовательских решений.

````
Конец примечание

## ````
Шаг 3. Проверьте зависимости до экспорта

Перед выгрузкой пакета самостоятельно убедитесь, что в решении отсутствуют ссылки на компоненты, не входящие в его состав. Это выполняется перед автоматической проверкой, которая проходит в процессе экспорта. 

Шаг помогает заранее определить, какие объекты необходимо включить в решение, а какие — оставить внешними зависимостями. 

Если компонент внутри пакета ссылается на объект вне решения, после установки в другой компании решение может работать некорректно. 

**Примеры внешних зависимостей:**

- приложение из другого раздела, не включённого в пакет;

- страница или виджет, отсутствующие в составе решения;

- бизнес-процесс, принадлежащий другому решению;

- ссылка на элемент оргструктуры;

- компонент лицензируемого продукта;

- скрипт со ссылкой на объект, которого нет в целевой компании.

По итогам проверки добавьте недостающие компоненты в состав пакета или зафиксируйте перечень настроек, которые нужно выполнить в целевой компании заранее.

````
Начало примечание

````
**Полезные статьи:**

- [«Решение в ELMA365»](solution.md) — какие компоненты могут входить в решение и как учитывать их связи;

- [«Создать решение с нуля»](create-solution.md) — как добавить компоненты в пользовательское решение;

- [«Экспорт решения в файл .e365»](export-solution-file.md) — как выполняется автоматическая проверка на внешние зависимости во время экспорта.

````
Конец примечание

## ````
Шаг 4. Подготовьте сведения для экспорта

Перед запуском экспорта подготовьте краткое описание решения. Эти данные помогут администратору целевой компании понять назначение файла **.e365** и соблюсти технические требования при установке.

Подробные сведения особенно важны, если решение передаётся в стороннюю организацию или готовится к публикации в официальный каталог ELMA365 Store.

**В описание рекомендуем включить следующие сведения:**

- для чего предназначено решение;

- какие основные компоненты входят в состав;

- какие разделы, приложения или страницы появятся после установки;

- какие зависимости есть у решения;

- как решение лицензируется, если это предусмотрено;

- какие первичные настройки должен выполнить администратор после импорта.

Например, для решения **Закупки** можно указать, что оно добавляет раздел для оформления заявок на закупку, содержит приложения для поставщиков и товаров, а также бизнес-процесс согласования заявки.

Внести сведения о решении можно в его карточке перед выгрузкой, а также в процессе экспорта на следующем шаге.

````
Начало примечание

````
**Полезные статьи:**

- [«Создать решение с нуля»](create-solution.md) — как перейти в карточку решения и заполнить его описание;

- [«Экспорт решения в файл .e365»](export-solution-file.md) — как указать сведения о решении во время экспорта.

````
Конец примечание

## ````
Шаг 5. Экспортируйте решение

Чтобы сформировать пакет решения, экспортируйте его в файл формата **.e365**. 

**Файл .e365 можно использовать для следующих задач:**

- установить решение в другой компании;

- перенести решение из тестовой компании в рабочую;

- передать решение другому администратору;

- сохранить версию решения перед внесением изменений.

В процессе экспорта в системе автоматически выполняется анализ компонентов решения и связей между ними. Эта проверка помогает выявить компоненты, которые задействованы в работе решения, но не включены в итоговый файл.

Если во время автоматической проверки обнаружатся ошибки или критические зависимости, остановите экспорт. Скорректируйте состав пакета или добавьте недостающие зависимости, а затем повторите экспорт.

Например, если решение **Закупки** использует приложение **Поставщики**, но оно не входит в состав решения и отсутствует в целевой компании, его нужно добавить в решение или в экспортируемый файл как зависимость.

````
Начало примечание

````
**Полезные статьи:**

- [«Экспорт решения в файл .e365»](export-solution-file.md) — как выполняется автоматическая проверка на внешних зависимостей во время экспорта;

- [«Импорт решения из файла .e365»](upload-solution-file.md) — что делать с файлом, в котором запаковано решение после его выгрузки.

````
Конец примечание

## ````
Шаг 6. Импортируйте решение

Чтобы установить решение в другой компании, импортируйте файл **.e365**.

В процессе импорта проверяется возможность установки решения. Выявляются возможные конфликты с существующими компонентами, дублирующиеся страницы, несовместимость настроек или недостающие зависимости. 

**Перед началом импорта проверьте: **

- **Версию системы** — если решение создано в более новой версии ELMA365, чем версия целевой компании, установка может завершиться ошибкой или решение будет работать некорректно; 

- **Лицензии** — если решение использует компоненты из каталога ELMA365 Store или лицензируемые возможности продуктов ELMA365, для работы в целевой компании могут потребоваться активные лицензии.

````
Начало примечание

````
**Полезные статьи:**

- [«Импорт решения из файла .e365»](upload-solution-file.md) — как установить решение из файла и какие проверки выполняются при импорте;

- [«Лицензии ELMA365 Store»](licenses-store.md) — как работают лицензии для решений из ELMA365 Store.

````
Конец примечание

## ````
Шаг 7. Определите необходимость разблокировки

После импорта решение можно использовать как готовый пакет в исходном виде или же адаптировать под требования компании.

**Выберите режим использования в зависимости от ваших задач:**

- **разблокируйте решение** — если требуется внести изменения: добавить поля, скорректировать формы, доработать процессы, страницы или модули;

- **оставьте решение заблокированным** — если настроенная в решении логика работы полностью соответствует требованиям компании.

При разработке решения администратор может предусмотреть возможность вносить изменения в контекст отдельных приложений без разблокировки решения.  

Для платных или передаваемых в другую организацию решений может быть установлен пароль на разблокировку. Это помогает защитить решение от случайных изменений.

````
Начало примечание

````
**Полезные статьи:**

- [«Разблокировать решение»](block_solution.md) — когда нужно разблокировать решение для изменений;

- [«Установить пароль для решения»](solution_password.md) — как ограничить доступ к разблокировке решения.

````
Конец примечание

## ````
Шаг 8. Подготовьте обновление решения

Если решение уже загружено в компанию, новую версию с изменениями устанавливают не как отдельный пакет, а с помощью обновления существующего.

**Перед обновлением определите:**

- какие компоненты изменились;

- какие настройки нужно заменить, а какие — оставить прежними;

- наличие локальных доработок в установленном в компании решении;

- какой подход к обновлению выбрать: полное или мягкое обновление.

При полном обновлении новая версия полностью заменяет старую. При мягком обновлении в решении сохраняются те компоненты, которые администраторы успели изменить в текущей компании. 

Например, если в рабочей компании отредактировали формы или процессы решения **Закупки**, перед обновлением нужно решить: заменить эти компоненты новой версией или оставить локальные изменения.

````
Начало примечание

````
**Полезные статьи:**

- [«Разблокировать решение»](block_solution.md) — когда нужно разблокировать решение для изменений;

- [«Обновить решение»](update_solution.md) — как обновить установленное решение и выбрать вариант обновления.

````
Конец примечание

## ````
Коротко по маршруту

1. Определите, какую задачу пользователей решает решение.

2. Соберите готовые компоненты в одно решение.

3. Проверьте взаимодействие частей решения между собой, а также отсутствие ссылок на компоненты, не входящие в состав решения.

4. Подготовьте описание решения для администраторов.

5. Экспортируйте решение в файл **.e365**. Исправьте ошибки в решении, если они найдутся при проверке.

6. Импортируйте решение в целевую компанию, проверив версию системы и лицензии.

7. При необходимости разблокируйте решение и доработайте его в целевой компании.

8. При выпуске новых версий загружайте их с помощью обновления решения.