# Урок 1. Принцип работы автоматизаций

Для того, чтобы завести машину, мы должны знать как она работает «под капотом». Аналогично и в этом уроке, мы расскажем, как автоматизация работает изнутри и разберем основные понятия.

{% embed url="https://vimeo.com/1024365515" %}

## Навыки

В этом уроке будут рассмотрены следующие **компетенции** и их навыки:

* **Принципы Бипиума:** принцип работы автоматизаций
* **Javascript:** типы данных, переменные
* **Использование документации:** события, компоненты

***

## В этом уроке

#### **Слайд: Введение в курс (0:00)**

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

Курс автоматизации процессов Bpium — это курс, направленный на подготовку вас как IT инженеров в системе Bpium.

Наши ожидаемые результаты после прохождения курса это:

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

#### **Слайд: Автоматизация (1:08)**

Автоматизация — автоматическое действие, выполняемое системой для решения 3-х основных задач:

* Обеспечение жизненного цикла бизнес-логики (например, движение заявки по процессу обработки заявок)
* Автоматизация рутинных операций (например, рассылка сообщений через мессенджер)
* Взаимодействие с внешними системами (например, прием документов от бухгалтерских программ)

#### **Слайд: Принцип работы автоматизаций (1:38)**

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2FZf0yA2b2sCWXh1uXwpkN%2F60785108cacc7f38d08faa35_%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9%20-%20%D0%9F%D1%80%D0%B8%D0%BD%D1%86%D0%B8%D0%BF%20%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D1%8B%20%D0%B0%D0%B2%D1%82%D0%BE%D0%BC%D0%B0%D1%82%D0%B8%D0%B7%D0%B0%D1%86%D0%B8%D0%B9-p-1600.jpeg?alt=media&#x26;token=41e080cd-672f-4fc8-9b4e-c5de18f2c285" alt=""><figcaption></figcaption></figure>

Принцип работы автоматизаций заключается в следующем:

* **Изменение в системе.** Инициатор (пользователь, сама система или внешняя система) совершает какое-либо действие (например: изменяет данные записи).
* **Поиск события.** После система ищет событие, которое отслеживает совершенное действие.
* **Поиск сценария.** Если событие найдено, то система берет сценарий, указанный в найденном событии.
* **Запуск процесса.** Далее система запускает процесс по выбранному сценарию.
* **Результат.** После завершения процесса, инициатор получает требуемый результат.

#### **Слайд: Событие (2:19)**

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

События бывают трех типов:

* **Уведомления**. Срабатывают после сохранения изменений в каталоге, то есть после создания, изменения, удаления записи.
* **Запросы**. Срабатывают перед сохранением изменений в каталог, то есть была отправлена команда сохранения, но в каталоге этих изменений еще нет.
* **Во время редактирования.** Срабатывают после изменения значения поля записи, еще до отправки команды сохранения изменений в записи.

#### **Слайд: Сценарии (3:02)**

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

Пример настроенного сценария:

<figure><img src="https://1283378397-files.gitbook.io/~/files/v0/b/gitbook-x-prod.appspot.com/o/spaces%2F-LACZmmM2xUWbZxyRr4s%2Fuploads%2F1rRbLg2cYxzYJMqNhZ9S%2F6078520f66171f79913eb3d7_%D0%9F%D1%80%D0%B8%D0%BC%D0%B5%D1%80%20%D0%BD%D0%B0%D1%81%D1%82%D1%80%D0%BE%D0%B5%D0%BD%D0%BD%D0%BE%D0%B3%D0%BE%20%D1%81%D1%86%D0%B5%D0%BD%D0%B0%D1%80%D0%B8%D1%8F-p-1080.png?alt=media&#x26;token=f2380ae2-3077-40f2-be3d-4beb8bf977e9" alt=""><figcaption></figcaption></figure>

#### **Слайд: Процесс (3:28)**

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

***

## Домашнее задание

Для расширения знаний и подготовки к следующим урока изучите материалы:

* Описание принципа работы автоматизаций\
  [https://docs.bpium.ru/processes](https://docs.bpium.ru/processes)
* Описание понятия переменных в Javascript\
  [https://learn.javascript.ru/variables](https://learn.javascript.ru/variables)
* Описание типов данных в Javascript\
  ‍[https://learn.javascript.ru/types](https://learn.javascript.ru/types)
