﻿@startuml
partition "state diagram" {
partition Авторизация{
start
-> [Cтраница сайта открыта];
repeat
    :Открытие страницы авторизации;
    -> [Страница авторизации открыта];
    if (Пользователь закрыл сайт?) then (нет)
    else (да)
        stop
    endif  
    :Пользователь вводит данные;
    -> [Данные введены];
    backward :Вывод ошибки;
repeat while(Авторизация пройдена?) is (нет) not (да)
}
partition Основная страница сайта{
  :Открытие страницы выбора отдела;
  -> [Cтраницы выбора отдела открыта];
  :Выбор планово-экономического отдела;
   if (Пользователь закрыл сайт?) then (нет)
      else (да)
          stop
      endif  
}
partition Страница отдела{
repeat
    :Открытие страницы выбора типа документа;
    ->[Страница открыта];
    :Выбор документа "Формирование ежемесячного плана\n выпуска изделий в номенклатуре";
    -> [Документ выбран];
    'label ff;
    :Нажание кнопки "Создать новый документ";
    -> [Кнопка нажата];
    :Выбор документов из представленных;
    -> [Документы выбраны];
    :Нажание кнопки "Создать";
    'validate
    -> [Кнопка нажата];
    :Расчёт задачи;
    ->[Расчёт произведён];
    'detach
    (a)
    
    :Вывод документа на экран;
    ->[Документ выведен];
    if (Пользователь выбрал экспорт документа?) then (да)
        :Экспорт документа;
        ->[Документ экспортирован];
        
    else (нет)    
    endif  
    
    repeat while (Пользователь нажал "Вернуться к докуметам отдела?") is (да) not (нет)
     if (Пользователь закрыл сайт?) then (нет)
        else (да)
            stop
        endif 
   (a)
   detach
   'goto test;
    
}
}
'stop

@enduml
