Перейти к основному содержимому

Жизненный цикл установки

Ожидаемая последовательность:

  1. Битрикс24 вызывает обработчик установки приложения.
  2. Приложение регистрирует портал и сохраняет авторизационный контекст защищённым способом.
  3. Мастер собирает настройки типов документов и направлений.
  4. Создаются или проверяются необходимые CRM-сущности.
  5. Администратор подключает организацию Saby через OAuth.
  6. Выполняется read-only проверка зависимостей.
  7. Администратор запускает безопасный тест.

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

Регистрация портала

Текущая техническая инструкция описывает upsert по member_id: повторная установка обновляет существующую запись портала, а не создаёт вторую. Авторизационные данные Bitrix24 должны храниться защищённо и не попадать в логи.

Инициализация CRM

При сохранении настроек приложение проверяет или создаёт:

  • поля компании с маркером _MA;
  • поле сделки «Статус отправки УПД»;
  • процессы SBIS_DOCS и SBIS_UPD с категориями и стадиями;
  • вкладку «ЭДО» компании;
  • поля и стадии счетов;
  • служебный чат ошибок.

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

Удаление и повторная установка

Проверено прогоном на тестовом портале 07.09.2026.

При удалении приложения:

  • REST-поля, созданные приложением, удаляются во всех сущностях;
  • вкладка «ЭДО» в карточке компании удаляется;
  • смарт-процессы, воронки, стадии и остальные сущности остаются на портале;
  • настройки приложения сохраняются.

При повторной установке на тот же портал:

  • сущности и портал не дублируются;
  • REST-поля восстанавливаются;
  • ранее сохранённые настройки продолжают действовать.

Это уточняет прежнюю формулировку технической инструкции, где говорилось, что после удаления на портале остаются все созданные объекты: REST-поля и вкладка «ЭДО» в их число не входят.