<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="ru">
		<id>http://docs.deansoffice.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polikarpov</id>
		<title>DOF - Вклад участника [ru]</title>
		<link rel="self" type="application/atom+xml" href="http://docs.deansoffice.ru/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Polikarpov"/>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/ru/%D0%A1%D0%BB%D1%83%D0%B6%D0%B5%D0%B1%D0%BD%D0%B0%D1%8F:%D0%92%D0%BA%D0%BB%D0%B0%D0%B4/Polikarpov"/>
		<updated>2026-04-14T13:32:05Z</updated>
		<subtitle>Вклад участника</subtitle>
		<generator>MediaWiki 1.30.2</generator>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3111</id>
		<title>Разработка:Принятые соглашения</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3111"/>
				<updated>2017-05-29T07:46:36Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Права */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Принятые соглашения=&lt;br /&gt;
&lt;br /&gt;
В этом разделе описываются соглашения, относящиеся больше не к кодированию, а к реализации бизнес-логики: форматы полей для типовых данных, коды статусов и т.п.&lt;br /&gt;
&lt;br /&gt;
==Уникальные наименования==&lt;br /&gt;
Коды программ, дисциплин и т.п. Должны включать в себя только цифры, русские и латинские буквы, дефис. В базу данных код сохраняется всегда только в нижнем регистре. Независимо от того, как был введен в форме.&lt;br /&gt;
=== Правила именования плагинов sync ===&lt;br /&gt;
Все плагины sync, которые производят синхронизацию объектов с moodle должны называться как объект storage и иметь суффикс &amp;quot;tom&amp;quot;. Пример: ''persons'''''tom'''.&lt;br /&gt;
&lt;br /&gt;
==Коды и названия статусов.==&lt;br /&gt;
* future =&amp;gt; предстоящий; - (от Алексея: нужно уточнить, для чего нужен этот статус)&lt;br /&gt;
* new =&amp;gt; новый/заявка; - актуальный статус, он  уже существут для системы (не мусорный), но еще не перешел в активный статус.&lt;br /&gt;
* deleted =&amp;gt; удаленный; - мусорный статус, объекта &amp;quot;не существует&amp;quot; для системы, он не показывается даже в архиве. В него, например, могут быть переведены черновики. Обычные пользователи могут перевести в этот статус только объекты, которые еще не успели побывать в активном статусе.&lt;br /&gt;
* active =&amp;gt; идет/действует; - активный статус&lt;br /&gt;
* completed =&amp;gt; завершен; - реальный конечный статус, аналогичный архивному, но обозначает успех в изучения дисциплины, программы.&lt;br /&gt;
* failed =&amp;gt; неуспешно завершен; - реальный конечный статус, аналогичный архивному, но обозначает неудачу в изучении дисциплины, программы по вине слушателя (двойка, отчислен).&lt;br /&gt;
* canceled =&amp;gt; отменен; - реальный конечный статус. Аналогичен архивному, но обозначает неудачу по объективным причинам (обучение отменено, студент переведен в середине семестра).&lt;br /&gt;
* plan =&amp;gt; запланирован; - для запланированных событий и объектов, в отличие от черновиков, их предварительное редактирование уже закончено и мы используем объекты для моделирования будущей ситуации. Пример: изменения расписания, которые вступят в силу с определенной даты.&lt;br /&gt;
* archive =&amp;gt; помещен в архив; - конечный статус, объект остается только для архива. &lt;br /&gt;
* suspend =&amp;gt; приостановлен; - это не конечный статус, объект временно исключен из бизнес-процессов, но может быть возвращен.&lt;br /&gt;
* approved =&amp;gt; подтвержден; - это не конечный статус, актуальный статус. Аналогичен запланированному, но для приказов, договоров, заявок.&lt;br /&gt;
* notapproved =&amp;gt; не подтвержден; - это не конечный статус объекта, ожидающиего подтверждения.&lt;br /&gt;
* returned =&amp;gt; возвращен; - это не конечный, актуальный статус, обозначающий, что объект возвращен на доработку, но еще не потерявший шанса стать активным.&lt;br /&gt;
* rejected =&amp;gt; отклонён; - это конечный, реальный статус. Объект отклонён навсегда, вместо подтверждения, но должен остаться для архива рассмотренных заявок.&lt;br /&gt;
* available =&amp;gt; доступен; - вариация активного статуса обозначающая, что с объектом можно выполнять определенные действия (подписываться на программу).&lt;br /&gt;
* notavailable =&amp;gt; недоступен; - вариация активного статуса, например, для программы: подписки на программу активны, но новых временно создать нельзя.&lt;br /&gt;
* draft =&amp;gt; черновик; - это не конечный статус, объект пока еще не существует для системы, но пользователь может сменить статус, когда объект будет &amp;quot;готов&amp;quot;.&lt;br /&gt;
=== Мета-статусы ===&lt;br /&gt;
Объединяют в себе несколько статусов, и используются для того чтобы указать общее состояние объекта. Мета-статус - это виртуальный, иногда мнимый статус, которому соответствуют 1 или несколько реальных статусов&lt;br /&gt;
==== Активный объект (active) ====&lt;br /&gt;
Объект, участвующий в активной фазе бизнес-процесса (например, учебные процессы в статусе &amp;quot;идёт&amp;quot;, договоры в статусе &amp;quot;оказание услуг&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Все активные объекты объекты являются, одновременно, актуальными и реальными, но не наоборот.&lt;br /&gt;
==== Актуальный объект (actual) ====&lt;br /&gt;
Объект, жизненный цикл которого уже начат, но еще не завершен. Он включает в себя все активные объекты (с активными статусами), а так же некоторые не активные, но которые потенциально могут стать активными: запланированные, приостановленные, подтвержденные и т.п.&lt;br /&gt;
&lt;br /&gt;
Все актуальные объекты являются, одновременно, реальными, но не наоборот. &lt;br /&gt;
==== Реальный объект (real) ====&lt;br /&gt;
Объект, существование которого система признает. Помимо актуальны объектов (которые являются активными или потенциально могут ими стать), реальные объекты включают в себя объекты, которые были активными, а теперь хранятся в архиве (но не включая удалённые, черновики и прочие, которых для системы как бы совсем нет).&lt;br /&gt;
&lt;br /&gt;
==== Мусорный объект (junk) ====&lt;br /&gt;
Объекты, которые хранятся в базе но никак не принимают участия в бизнес-процессе, даже в качестве архива: удалённые, отмененные, черновики.&lt;br /&gt;
&lt;br /&gt;
В отличие от перевода в архивный статус, перевод в мусорный статус полностью вычеркивает объект из использования в системе. &lt;br /&gt;
В том числе: мусорные объекты не должны отображаться нигде в интерфейсе, кроме специально-отведенных мест (&amp;quot;просмотр удалённых&amp;quot; или &amp;quot;работа с черновиками&amp;quot;), кроме того, они никогда не должны использоваться при подсчете статистики или отображении истории.&lt;br /&gt;
&lt;br /&gt;
== Права ==&lt;br /&gt;
&lt;br /&gt;
=== Набор стандартных прав ===&lt;br /&gt;
&lt;br /&gt;
* view - Право видеть полную информацию по объекту. &lt;br /&gt;
* viewdesk - Право видеть интерфейсы объекта &lt;br /&gt;
* create - Право создавать новый объект&lt;br /&gt;
* edit - Право редактировать существующий объект&lt;br /&gt;
* use - Право ссылаться на объект в других объектах&lt;br /&gt;
&lt;br /&gt;
=== Общие положения ===&lt;br /&gt;
* Основной набор прав доступа к объектам Деканата хранится в плагине STORAGE соответствующего объекта.&lt;br /&gt;
* Право dof/view (из moodle) действует только на просмотр блока FDO и на просмотр главной страницы. На всех остальных страницах используется собственная система полномочий&lt;br /&gt;
* Если в блок dof заходит пользователь с полномочиями администратора (admin или danamanage) и для него нет персоны - то персона создается. Все данные берутся из профиля moodle, статус синхронизации (sync2moodle) равен 1.&lt;br /&gt;
&lt;br /&gt;
== Синхронизация ==&lt;br /&gt;
При создании плагина sync следует руководствоваться следующими правилами:&lt;br /&gt;
* Функции синхронизации одного объекта FDO (например persons) с двумя разными системами нужно создать два плагина sync для каждой системы. &lt;br /&gt;
* Плагины для разных систем именуются согласно [[Разработка:Принятые соглашения#Правила_именования_плагинов_sync | правилам именования плагинов sync ]].&lt;br /&gt;
* Функции синхронизации следует группировать по принципу принадлежности к объекту FDO. Например функции создания персоны в moodle, получения количества входов на портал и получения информации о персоне из moodle должны находится в плагине sync/personstom&lt;br /&gt;
== Комментарии ==&lt;br /&gt;
В комментариях при описании параметров, содержащих id записей рекомендуется указывать из каких именно таблиц эти записи были взяты. При этом название таблицы можно писать одним словом, без префиксов.&lt;br /&gt;
например: &lt;br /&gt;
    $personid - id пользователя в таблице persons&lt;br /&gt;
В данном случае имеется в виду таблица mdl_block_dof_s_persons&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3110</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3110"/>
				<updated>2017-05-29T07:39:37Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для разработчиков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
== Документация для разработчиков ==&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
** [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]]&lt;br /&gt;
** '''[[Разработка:Стандарт кодирования| Стандарт кодирования]]'''&lt;br /&gt;
** '''[[Разработка:Принятые соглашения|Принятые соглашения]]'''&lt;br /&gt;
** [[:Категория:Плагины| Плагины]]&lt;br /&gt;
*** [[:Категория:Плагины_im| Плагины интерфейсов]]&lt;br /&gt;
*** [[:Категория:Плагины_modlibs| Плагины библиотек]]&lt;br /&gt;
*** [[:Категория:Плагины_storages| Плагины хранилищ]]&lt;br /&gt;
*** [[:Категория:Плагины_sync| Плагины синхронизаций]]&lt;br /&gt;
*** [[:Категория:Плагины_workflows| Плагины роутеров статусов]]&lt;br /&gt;
** [[Разработка:Ядро| Ядро]]&lt;br /&gt;
*** [[:Категория:Плагины_core| Состав ядра]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3109</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3109"/>
				<updated>2017-05-23T15:10:27Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для системных администраторов */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
== Документация для разработчиков ==&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
** [[:Категория:Плагины| Плагины]]&lt;br /&gt;
*** [[:Категория:Плагины_im| Плагины интерфейсов]]&lt;br /&gt;
*** [[:Категория:Плагины_modlibs| Плагины библиотек]]&lt;br /&gt;
*** [[:Категория:Плагины_storages| Плагины хранилищ]]&lt;br /&gt;
*** [[:Категория:Плагины_sync| Плагины синхронизаций]]&lt;br /&gt;
*** [[:Категория:Плагины_workflows| Плагины роутеров статусов]]&lt;br /&gt;
** [[Разработка:Ядро| Ядро]]&lt;br /&gt;
*** [[:Категория:Плагины_core| Состав ядра]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]] - '''рекомендации для программистов, присоединившихся к проекту'''&lt;br /&gt;
* [[Разработка:Стандарт кодирования| Стандарт кодирования]]&lt;br /&gt;
* [[Разработка:Принятые соглашения|Принятые соглашения]] - Частные случаи и типовые патерны, не достаточно универсальные, чтобы войти в стандарт кодирования.&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3108</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3108"/>
				<updated>2017-05-23T15:09:47Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для разработчиков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
=== Документация для разработчиков ===&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
** [[:Категория:Плагины| Плагины]]&lt;br /&gt;
*** [[:Категория:Плагины_im| Плагины интерфейсов]]&lt;br /&gt;
*** [[:Категория:Плагины_modlibs| Плагины библиотек]]&lt;br /&gt;
*** [[:Категория:Плагины_storages| Плагины хранилищ]]&lt;br /&gt;
*** [[:Категория:Плагины_sync| Плагины синхронизаций]]&lt;br /&gt;
*** [[:Категория:Плагины_workflows| Плагины роутеров статусов]]&lt;br /&gt;
** [[Разработка:Ядро| Ядро]]&lt;br /&gt;
*** [[:Категория:Плагины_core| Состав ядра]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]] - '''рекомендации для программистов, присоединившихся к проекту'''&lt;br /&gt;
* [[Разработка:Стандарт кодирования| Стандарт кодирования]]&lt;br /&gt;
* [[Разработка:Принятые соглашения|Принятые соглашения]] - Частные случаи и типовые патерны, не достаточно универсальные, чтобы войти в стандарт кодирования.&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3107</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3107"/>
				<updated>2017-05-23T15:09:31Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для разработчиков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
=== Документация для разработчиков ===&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
** [[:Категория:Плагины| Плагины]]&lt;br /&gt;
*** [[Категория:Плагины_im| Плагины интерфейсов]]&lt;br /&gt;
*** [[Категория:Плагины_modlibs| Плагины библиотек]]&lt;br /&gt;
*** [[Категория:Плагины_storages| Плагины хранилищ]]&lt;br /&gt;
*** [[Категория:Плагины_sync| Плагины синхронизаций]]&lt;br /&gt;
*** [[Категория:Плагины_workflows| Плагины роутеров статусов]]&lt;br /&gt;
** [[Разработка:Ядро| Ядро]]&lt;br /&gt;
*** [[Категория:Плагины_core| Состав ядра]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]] - '''рекомендации для программистов, присоединившихся к проекту'''&lt;br /&gt;
* [[Разработка:Стандарт кодирования| Стандарт кодирования]]&lt;br /&gt;
* [[Разработка:Принятые соглашения|Принятые соглашения]] - Частные случаи и типовые патерны, не достаточно универсальные, чтобы войти в стандарт кодирования.&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3106</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3106"/>
				<updated>2017-05-23T15:04:53Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для разработчиков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
=== Документация для разработчиков ===&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
** [[:Категория:Плагины| Плагины]]&lt;br /&gt;
** [[Разработка:Ядро| Ядро]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]] - '''рекомендации для программистов, присоединившихся к проекту'''&lt;br /&gt;
* [[Разработка:Стандарт кодирования| Стандарт кодирования]]&lt;br /&gt;
* [[Разработка:Принятые соглашения|Принятые соглашения]] - Частные случаи и типовые патерны, не достаточно универсальные, чтобы войти в стандарт кодирования.&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3105</id>
		<title>Заглавная страница</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%97%D0%B0%D0%B3%D0%BB%D0%B0%D0%B2%D0%BD%D0%B0%D1%8F_%D1%81%D1%82%D1%80%D0%B0%D0%BD%D0%B8%D1%86%D0%B0&amp;diff=3105"/>
				<updated>2017-05-23T15:03:10Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Документация для разработчиков */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Добро пожаловать на страницу документации по Free Dean's Office (Электронный деканата)!&lt;br /&gt;
&lt;br /&gt;
== Документация для пользователей (администрация, учителя) ==&lt;br /&gt;
* [[Использование:Руководство по быстрому старту|Руководство по быстрому старту]]&lt;br /&gt;
&lt;br /&gt;
== Документация для системных администраторов ==&lt;br /&gt;
* [[Администрирование:Установка | Установка]]&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
=== Документация для разработчиков ===&lt;br /&gt;
* [[:Категория:Разработка| Разработка]]&lt;br /&gt;
* [[Разработка:Ядро]] - документация по ядру Free Dean's Office&lt;br /&gt;
* [[:Категория:Плагины]] - '''вся основная документация по работе плагинов здесь'''&lt;br /&gt;
* [[Релизы| Выпущенные версии]]&lt;br /&gt;
* [[Разработка:План работ| План работ]]&lt;br /&gt;
* [[Разработка:Идеи| Идеи]]&lt;br /&gt;
* [[Разработка:С чего начать| &amp;quot;С чего начать?&amp;quot;]] - '''рекомендации для программистов, присоединившихся к проекту'''&lt;br /&gt;
* [[Разработка:Стандарт кодирования| Стандарт кодирования]]&lt;br /&gt;
* [[Разработка:Принятые соглашения|Принятые соглашения]] - Частные случаи и типовые патерны, не достаточно универсальные, чтобы войти в стандарт кодирования.&lt;br /&gt;
* [[Разработка:Структура | Структура Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Создание плагина | Создание плагина]]&lt;br /&gt;
* [[Разработка:Регламент| Организация работы над Free Dean's Office]]&lt;br /&gt;
* [[Разработка:Пример конфигурации НИИЧаВо| Пример конфигурации НИИЧаВо]]&lt;br /&gt;
&lt;br /&gt;
== Материалы по бизнес-процессам документообороту в учебных заведениях ==&lt;br /&gt;
* [[Документооборот:Оглавление раздела| Оглавление раздела &amp;quot;бизнес-процессы и документооборот в учебных заведениях&amp;quot;]]&lt;br /&gt;
=== Документооборот в школе ===&lt;br /&gt;
=== Документооборот в ВУЗе ===&lt;br /&gt;
=== Документооборот в тренинг-центре ===&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3104</id>
		<title>Разработка:Управление доступом</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3104"/>
				<updated>2017-05-22T11:12:09Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Общие правила и требования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Управление доступом =&lt;br /&gt;
На этой странице содержится вся основная информация по управлению доступом. &amp;quot;Электронный Деканат&amp;quot; имеет собственную систему полномочий, которая дополняет систему полномочий moodle, и позволяет реализовать более гибкое управление правами.&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
&lt;br /&gt;
=== Плагины необходимые для системы управления доступом ===&lt;br /&gt;
&lt;br /&gt;
* [[Разработка:storages/acl | acl ]] - список полномочий. Хранит информацию о том в каком плагине какие полномочия существуют.&lt;br /&gt;
* [[Разработка:storages/aclwarrants | aclwarrants ]] - Мандаты и доверенности. &lt;br /&gt;
* [[Разработка:storages/aclwarrantagents | aclwarrantagents ]] - Применение доверенностей. Определяет, каким пользователям какие доверенности выданы.&lt;br /&gt;
&lt;br /&gt;
=== Общие правила и требования ===&lt;br /&gt;
* Сторонние плагины могут зависеть от плагинов прав доступа, а плагины прав доступа не могут зависеть от остальных плагинов, и извлекать информацию из них (за исключением события установки/обновления плагина).&lt;br /&gt;
* Каждый плагин, предоставляющий права доступа должен описывать права в функции acldefault()&lt;br /&gt;
** Формат массива: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
array(&lt;br /&gt;
    'view' =&amp;gt; array('teacher', 'manager'),&lt;br /&gt;
    'edit' =&amp;gt; array('manager')&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В качестве ключей указывается то право, которое назначается, а значением служит массив ролей, которые получают это право. Список стандартных ролей можно посмотреть в плагине [[Разработка:storages/aclwarrants | aclwarrants ]]&lt;br /&gt;
* Все плагины, отвечающие за работу с полномочиями имеют префикс acl.&lt;br /&gt;
* Все функции в сторонних плагинах, которые управляют правами доступа должны иметь префикс acl&lt;br /&gt;
* В плагинах типа im и modlib следует для проверки стандартных прав доступа обращаться к плагинам storage.&lt;br /&gt;
* При построении прав на смену статуса объектов деканата имеет значение лишь то, в какой статус будет осуществлен перевод. Следовательно, необходимо реализовывать только права changestatus:to:СТАТУС. &lt;br /&gt;
** Право changestatus:from:СТАТУС следует устанавливать только для ограничения возможности вывода из спецстатусов. &lt;br /&gt;
** Право changestatus без модификаторов, дает право перевода из любого статуса в любой, кроме специальных (для которых объявлено право changestatus:from:Статус). Право changestatus:to:Статус дает право на перевод в целевой статус из любого другого, кроме специальных, для которых объявлено право changestatus:from:Статус.&lt;br /&gt;
&lt;br /&gt;
=== Как происходит процесс установки прав ===&lt;br /&gt;
При установке, обновлении или удалении любого плагина, если он предоставляет права доступа - то в функциях upgrade(), delete(), и install() нужно вызывать функцию save_roles() плагина [[Разработка:storages/acl | acl ]].&lt;br /&gt;
&lt;br /&gt;
== Правила работы с правами доступа ==&lt;br /&gt;
&lt;br /&gt;
=== Полномочия (acl) ===&lt;br /&gt;
* Полномочия не имеют статусов, поэтому при удалении плагина все полномочия, принадлежащие ему также физически удаляются из таблицы&lt;br /&gt;
* Для хранилищ и рабочих процессов существуют [[ Разработка:storages/acl#.D0.A1.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D0.BE.D0.BB.D0.BD.D0.BE.D0.BC.D0.BE.D1.87.D0.B8.D1.8F_.D0.B4.D0.BB.D1.8F_.D1.85.D1.80.D0.B0.D0.BD.D0.B8.D0.BB.D0.B8.D1.89_.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B8.D1.85_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D0.B2 | стандартные полномочия ]]&lt;br /&gt;
* Полномочия проверяются только тем плагином, в котором они содержатся. То есть - из im/persons можно проверять только права im/persons, из storage/persons только права storage/persons. Нельзя проверять из одного плагина права другого плагина.&lt;br /&gt;
&lt;br /&gt;
=== Мандаты и доверенности (warrants) ===&lt;br /&gt;
* Действия при удалении мандата или доверенности&lt;br /&gt;
** Основным способом удаления мандата следует считать перевод записи в статус &amp;quot;archive&amp;quot;&lt;br /&gt;
** Все дочерние доверенности и мандаты также перестают действовать&lt;br /&gt;
** Прекращают действия все применения полномочий ([[Разработка:storages/aclwarrantagents | aclwarrantagents ]]) которые были назначены указанным мандатом.&lt;br /&gt;
* При установке прав новым плагином все новые права добавляются к стандартным доверенностям&lt;br /&gt;
* Плагины не могут добавлять свои доверенности при установке&lt;br /&gt;
* Стандартные доверенности не могут быть назначены пользователям&lt;br /&gt;
* Если запрещается наследование для доверенности, которую раньше можно было наследовать - то старые дочерние доверенности продолжают свое действие, но новые создать нельзя&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей доверенностей. &lt;br /&gt;
* [[Разработка:storages/positions | storage/positions]]&lt;br /&gt;
&lt;br /&gt;
=== Применение полномочий (warrantagents) ===&lt;br /&gt;
* При прекращении действия доверенности, применение полномочия прекращает действовать (переводится в статус archive)&lt;br /&gt;
* При истечении срока действия применение полномочия переводится в статус archive&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей применения полномочий. &lt;br /&gt;
* [[Разработка:storages/appointments | storages/appointments ]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Управление доступом]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3103</id>
		<title>Разработка:Управление доступом</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3103"/>
				<updated>2017-05-22T11:09:06Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Общие правила и требования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Управление доступом =&lt;br /&gt;
На этой странице содержится вся основная информация по управлению доступом. &amp;quot;Электронный Деканат&amp;quot; имеет собственную систему полномочий, которая дополняет систему полномочий moodle, и позволяет реализовать более гибкое управление правами.&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
&lt;br /&gt;
=== Плагины необходимые для системы управления доступом ===&lt;br /&gt;
&lt;br /&gt;
* [[Разработка:storages/acl | acl ]] - список полномочий. Хранит информацию о том в каком плагине какие полномочия существуют.&lt;br /&gt;
* [[Разработка:storages/aclwarrants | aclwarrants ]] - Мандаты и доверенности. &lt;br /&gt;
* [[Разработка:storages/aclwarrantagents | aclwarrantagents ]] - Применение доверенностей. Определяет, каким пользователям какие доверенности выданы.&lt;br /&gt;
&lt;br /&gt;
=== Общие правила и требования ===&lt;br /&gt;
* Сторонние плагины могут зависеть от плагинов прав доступа, а плагины прав доступа не могут зависеть от остальных плагинов, и извлекать информацию из них (за исключением события установки/обновления плагина).&lt;br /&gt;
* Каждый плагин, предоставляющий права доступа должен описывать права в функции acldefault()&lt;br /&gt;
** Формат массива: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
array(&lt;br /&gt;
    'view' =&amp;gt; array('teacher', 'manager'),&lt;br /&gt;
    'edit' =&amp;gt; array('manager')&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В качестве ключей указывается то право, которое назначается, а значением служит массив ролей, которые получают это право. Список стандартных ролей можно посмотреть в плагине [[Разработка:storages/aclwarrants | aclwarrants ]]&lt;br /&gt;
* Все плагины, отвечающие за работу с полномочиями имеют префикс acl.&lt;br /&gt;
* Все функции в сторонних плагинах, которые управляют правами доступа должны иметь префикс acl&lt;br /&gt;
* В плагинах типа im и modlib следует для проверки стандартных прав доступа обращаться к плагинам storage.&lt;br /&gt;
* При построении прав на смену статуса объектов деканата имеет значение лишь то, в какой статус будет осуществлен перевод. Следовательно, необходимо реализовывать только права changestatus:to:СТАТУС. Право changestatus:from:СТАТУС следует устанавливать только для ограничения возможности вывода из спецстатусов. Право changestatus без модификаторов, дает право перевода из любого статуса в любой, кроме специальных (для которых объявлено право changestatus:from:Статус). Право changestatus:to:Статус дает право на перевод в целевой статус из любого другого, кроме специальных, для которых объявлено право changestatus:from:Статус.&lt;br /&gt;
&lt;br /&gt;
=== Как происходит процесс установки прав ===&lt;br /&gt;
При установке, обновлении или удалении любого плагина, если он предоставляет права доступа - то в функциях upgrade(), delete(), и install() нужно вызывать функцию save_roles() плагина [[Разработка:storages/acl | acl ]].&lt;br /&gt;
&lt;br /&gt;
== Правила работы с правами доступа ==&lt;br /&gt;
&lt;br /&gt;
=== Полномочия (acl) ===&lt;br /&gt;
* Полномочия не имеют статусов, поэтому при удалении плагина все полномочия, принадлежащие ему также физически удаляются из таблицы&lt;br /&gt;
* Для хранилищ и рабочих процессов существуют [[ Разработка:storages/acl#.D0.A1.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D0.BE.D0.BB.D0.BD.D0.BE.D0.BC.D0.BE.D1.87.D0.B8.D1.8F_.D0.B4.D0.BB.D1.8F_.D1.85.D1.80.D0.B0.D0.BD.D0.B8.D0.BB.D0.B8.D1.89_.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B8.D1.85_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D0.B2 | стандартные полномочия ]]&lt;br /&gt;
* Полномочия проверяются только тем плагином, в котором они содержатся. То есть - из im/persons можно проверять только права im/persons, из storage/persons только права storage/persons. Нельзя проверять из одного плагина права другого плагина.&lt;br /&gt;
&lt;br /&gt;
=== Мандаты и доверенности (warrants) ===&lt;br /&gt;
* Действия при удалении мандата или доверенности&lt;br /&gt;
** Основным способом удаления мандата следует считать перевод записи в статус &amp;quot;archive&amp;quot;&lt;br /&gt;
** Все дочерние доверенности и мандаты также перестают действовать&lt;br /&gt;
** Прекращают действия все применения полномочий ([[Разработка:storages/aclwarrantagents | aclwarrantagents ]]) которые были назначены указанным мандатом.&lt;br /&gt;
* При установке прав новым плагином все новые права добавляются к стандартным доверенностям&lt;br /&gt;
* Плагины не могут добавлять свои доверенности при установке&lt;br /&gt;
* Стандартные доверенности не могут быть назначены пользователям&lt;br /&gt;
* Если запрещается наследование для доверенности, которую раньше можно было наследовать - то старые дочерние доверенности продолжают свое действие, но новые создать нельзя&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей доверенностей. &lt;br /&gt;
* [[Разработка:storages/positions | storage/positions]]&lt;br /&gt;
&lt;br /&gt;
=== Применение полномочий (warrantagents) ===&lt;br /&gt;
* При прекращении действия доверенности, применение полномочия прекращает действовать (переводится в статус archive)&lt;br /&gt;
* При истечении срока действия применение полномочия переводится в статус archive&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей применения полномочий. &lt;br /&gt;
* [[Разработка:storages/appointments | storages/appointments ]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Управление доступом]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3102</id>
		<title>Разработка:Управление доступом</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%A3%D0%BF%D1%80%D0%B0%D0%B2%D0%BB%D0%B5%D0%BD%D0%B8%D0%B5_%D0%B4%D0%BE%D1%81%D1%82%D1%83%D0%BF%D0%BE%D0%BC&amp;diff=3102"/>
				<updated>2017-05-22T11:06:46Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Общие правила и требования */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;= Управление доступом =&lt;br /&gt;
На этой странице содержится вся основная информация по управлению доступом. &amp;quot;Электронный Деканат&amp;quot; имеет собственную систему полномочий, которая дополняет систему полномочий moodle, и позволяет реализовать более гибкое управление правами.&lt;br /&gt;
&lt;br /&gt;
== Общая информация ==&lt;br /&gt;
&lt;br /&gt;
=== Плагины необходимые для системы управления доступом ===&lt;br /&gt;
&lt;br /&gt;
* [[Разработка:storages/acl | acl ]] - список полномочий. Хранит информацию о том в каком плагине какие полномочия существуют.&lt;br /&gt;
* [[Разработка:storages/aclwarrants | aclwarrants ]] - Мандаты и доверенности. &lt;br /&gt;
* [[Разработка:storages/aclwarrantagents | aclwarrantagents ]] - Применение доверенностей. Определяет, каким пользователям какие доверенности выданы.&lt;br /&gt;
&lt;br /&gt;
=== Общие правила и требования ===&lt;br /&gt;
* Сторонние плагины могут зависеть от плагинов прав доступа, а плагины прав доступа не могут зависеть от остальных плагинов, и извлекать информацию из них (за исключением события установки/обновления плагина).&lt;br /&gt;
* Каждый плагин, предоставляющий права доступа должен описывать права в функции acldefault()&lt;br /&gt;
** Формат массива: &lt;br /&gt;
&amp;lt;pre&amp;gt;&lt;br /&gt;
array(&lt;br /&gt;
    'view' =&amp;gt; array('teacher', 'manager'),&lt;br /&gt;
    'edit' =&amp;gt; array('manager')&lt;br /&gt;
);&lt;br /&gt;
&amp;lt;/pre&amp;gt;&lt;br /&gt;
В качестве ключей указывается то право, которое назначается, а значением служит массив ролей, которые получают это право. Список стандартных ролей можно посмотреть в плагине [[Разработка:storages/aclwarrants | aclwarrants ]]&lt;br /&gt;
* Все плагины, отвечающие за работу с полномочиями имеют префикс acl.&lt;br /&gt;
* Все функции в сторонних плагинах, которые управляют правами доступа должны иметь префикс acl&lt;br /&gt;
* В плагинах типа im и modlib следует для проверки стандартных прав доступа обращаться к плагинам storage.&lt;br /&gt;
* При построении прав на смену статуса объектов деканата имеет значение лишь то, в какой статус будет осуществлен перевод. Следовательно, необходимо реализовывать только права changestatus:to:СТАТУС&lt;br /&gt;
&lt;br /&gt;
=== Как происходит процесс установки прав ===&lt;br /&gt;
При установке, обновлении или удалении любого плагина, если он предоставляет права доступа - то в функциях upgrade(), delete(), и install() нужно вызывать функцию save_roles() плагина [[Разработка:storages/acl | acl ]].&lt;br /&gt;
&lt;br /&gt;
== Правила работы с правами доступа ==&lt;br /&gt;
&lt;br /&gt;
=== Полномочия (acl) ===&lt;br /&gt;
* Полномочия не имеют статусов, поэтому при удалении плагина все полномочия, принадлежащие ему также физически удаляются из таблицы&lt;br /&gt;
* Для хранилищ и рабочих процессов существуют [[ Разработка:storages/acl#.D0.A1.D1.82.D0.B0.D0.BD.D0.B4.D0.B0.D1.80.D1.82.D0.BD.D1.8B.D0.B5_.D0.BF.D0.BE.D0.BB.D0.BD.D0.BE.D0.BC.D0.BE.D1.87.D0.B8.D1.8F_.D0.B4.D0.BB.D1.8F_.D1.85.D1.80.D0.B0.D0.BD.D0.B8.D0.BB.D0.B8.D1.89_.D0.B8_.D1.80.D0.B0.D0.B1.D0.BE.D1.87.D0.B8.D1.85_.D0.BF.D1.80.D0.BE.D1.86.D0.B5.D1.81.D1.81.D0.BE.D0.B2 | стандартные полномочия ]]&lt;br /&gt;
* Полномочия проверяются только тем плагином, в котором они содержатся. То есть - из im/persons можно проверять только права im/persons, из storage/persons только права storage/persons. Нельзя проверять из одного плагина права другого плагина.&lt;br /&gt;
&lt;br /&gt;
=== Мандаты и доверенности (warrants) ===&lt;br /&gt;
* Действия при удалении мандата или доверенности&lt;br /&gt;
** Основным способом удаления мандата следует считать перевод записи в статус &amp;quot;archive&amp;quot;&lt;br /&gt;
** Все дочерние доверенности и мандаты также перестают действовать&lt;br /&gt;
** Прекращают действия все применения полномочий ([[Разработка:storages/aclwarrantagents | aclwarrantagents ]]) которые были назначены указанным мандатом.&lt;br /&gt;
* При установке прав новым плагином все новые права добавляются к стандартным доверенностям&lt;br /&gt;
* Плагины не могут добавлять свои доверенности при установке&lt;br /&gt;
* Стандартные доверенности не могут быть назначены пользователям&lt;br /&gt;
* Если запрещается наследование для доверенности, которую раньше можно было наследовать - то старые дочерние доверенности продолжают свое действие, но новые создать нельзя&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей доверенностей. &lt;br /&gt;
* [[Разработка:storages/positions | storage/positions]]&lt;br /&gt;
&lt;br /&gt;
=== Применение полномочий (warrantagents) ===&lt;br /&gt;
* При прекращении действия доверенности, применение полномочия прекращает действовать (переводится в статус archive)&lt;br /&gt;
* При истечении срока действия применение полномочия переводится в статус archive&lt;br /&gt;
&lt;br /&gt;
==== Синхронизация ====&lt;br /&gt;
Здесь описаны плагины, которые должны синхронизироваться с таблицей применения полномочий. &lt;br /&gt;
* [[Разработка:storages/appointments | storages/appointments ]]&lt;br /&gt;
&lt;br /&gt;
[[Категория:Разработка]]&lt;br /&gt;
[[Категория:Управление доступом]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3101</id>
		<title>Разработка:Принятые соглашения</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3101"/>
				<updated>2017-05-22T11:06:08Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Права */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Принятые соглашения=&lt;br /&gt;
&lt;br /&gt;
В этом разделе описываются соглашения, относящиеся больше не к кодированию, а к реализации бизнес-логики: форматы полей для типовых данных, коды статусов и т.п.&lt;br /&gt;
&lt;br /&gt;
==Уникальные наименования==&lt;br /&gt;
Коды программ, дисциплин и т.п. Должны включать в себя только цифры, русские и латинские буквы, дефис. В базу данных код сохраняется всегда только в нижнем регистре. Независимо от того, как был введен в форме.&lt;br /&gt;
=== Правила именования плагинов sync ===&lt;br /&gt;
Все плагины sync, которые производят синхронизацию объектов с moodle должны называться как объект storage и иметь суффикс &amp;quot;tom&amp;quot;. Пример: ''persons'''''tom'''.&lt;br /&gt;
&lt;br /&gt;
==Коды и названия статусов.==&lt;br /&gt;
* future =&amp;gt; предстоящий; - (от Алексея: нужно уточнить, для чего нужен этот статус)&lt;br /&gt;
* new =&amp;gt; новый/заявка; - актуальный статус, он  уже существут для системы (не мусорный), но еще не перешел в активный статус.&lt;br /&gt;
* deleted =&amp;gt; удаленный; - мусорный статус, объекта &amp;quot;не существует&amp;quot; для системы, он не показывается даже в архиве. В него, например, могут быть переведены черновики. Обычные пользователи могут перевести в этот статус только объекты, которые еще не успели побывать в активном статусе.&lt;br /&gt;
* active =&amp;gt; идет/действует; - активный статус&lt;br /&gt;
* completed =&amp;gt; завершен; - реальный конечный статус, аналогичный архивному, но обозначает успех в изучения дисциплины, программы.&lt;br /&gt;
* failed =&amp;gt; неуспешно завершен; - реальный конечный статус, аналогичный архивному, но обозначает неудачу в изучении дисциплины, программы по вине слушателя (двойка, отчислен).&lt;br /&gt;
* canceled =&amp;gt; отменен; - реальный конечный статус. Аналогичен архивному, но обозначает неудачу по объективным причинам (обучение отменено, студент переведен в середине семестра).&lt;br /&gt;
* plan =&amp;gt; запланирован; - для запланированных событий и объектов, в отличие от черновиков, их предварительное редактирование уже закончено и мы используем объекты для моделирования будущей ситуации. Пример: изменения расписания, которые вступят в силу с определенной даты.&lt;br /&gt;
* archive =&amp;gt; помещен в архив; - конечный статус, объект остается только для архива. &lt;br /&gt;
* suspend =&amp;gt; приостановлен; - это не конечный статус, объект временно исключен из бизнес-процессов, но может быть возвращен.&lt;br /&gt;
* approved =&amp;gt; подтвержден; - это не конечный статус, актуальный статус. Аналогичен запланированному, но для приказов, договоров, заявок.&lt;br /&gt;
* notapproved =&amp;gt; не подтвержден; - это не конечный статус объекта, ожидающиего подтверждения.&lt;br /&gt;
* returned =&amp;gt; возвращен; - это не конечный, актуальный статус, обозначающий, что объект возвращен на доработку, но еще не потерявший шанса стать активным.&lt;br /&gt;
* rejected =&amp;gt; отклонён; - это конечный, реальный статус. Объект отклонён навсегда, вместо подтверждения, но должен остаться для архива рассмотренных заявок.&lt;br /&gt;
* available =&amp;gt; доступен; - вариация активного статуса обозначающая, что с объектом можно выполнять определенные действия (подписываться на программу).&lt;br /&gt;
* notavailable =&amp;gt; недоступен; - вариация активного статуса, например, для программы: подписки на программу активны, но новых временно создать нельзя.&lt;br /&gt;
* draft =&amp;gt; черновик; - это не конечный статус, объект пока еще не существует для системы, но пользователь может сменить статус, когда объект будет &amp;quot;готов&amp;quot;.&lt;br /&gt;
=== Мета-статусы ===&lt;br /&gt;
Объединяют в себе несколько статусов, и используются для того чтобы указать общее состояние объекта. Мета-статус - это виртуальный, иногда мнимый статус, которому соответствуют 1 или несколько реальных статусов&lt;br /&gt;
==== Активный объект (active) ====&lt;br /&gt;
Объект, участвующий в активной фазе бизнес-процесса (например, учебные процессы в статусе &amp;quot;идёт&amp;quot;, договоры в статусе &amp;quot;оказание услуг&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Все активные объекты объекты являются, одновременно, актуальными и реальными, но не наоборот.&lt;br /&gt;
==== Актуальный объект (actual) ====&lt;br /&gt;
Объект, жизненный цикл которого уже начат, но еще не завершен. Он включает в себя все активные объекты (с активными статусами), а так же некоторые не активные, но которые потенциально могут стать активными: запланированные, приостановленные, подтвержденные и т.п.&lt;br /&gt;
&lt;br /&gt;
Все актуальные объекты являются, одновременно, реальными, но не наоборот. &lt;br /&gt;
==== Реальный объект (real) ====&lt;br /&gt;
Объект, существование которого система признает. Помимо актуальны объектов (которые являются активными или потенциально могут ими стать), реальные объекты включают в себя объекты, которые были активными, а теперь хранятся в архиве (но не включая удалённые, черновики и прочие, которых для системы как бы совсем нет).&lt;br /&gt;
&lt;br /&gt;
==== Мусорный объект (junk) ====&lt;br /&gt;
Объекты, которые хранятся в базе но никак не принимают участия в бизнес-процессе, даже в качестве архива: удалённые, отмененные, черновики.&lt;br /&gt;
&lt;br /&gt;
В отличие от перевода в архивный статус, перевод в мусорный статус полностью вычеркивает объект из использования в системе. &lt;br /&gt;
В том числе: мусорные объекты не должны отображаться нигде в интерфейсе, кроме специально-отведенных мест (&amp;quot;просмотр удалённых&amp;quot; или &amp;quot;работа с черновиками&amp;quot;), кроме того, они никогда не должны использоваться при подсчете статистики или отображении истории.&lt;br /&gt;
&lt;br /&gt;
== Права ==&lt;br /&gt;
&lt;br /&gt;
* Право dof/view (из moodle) действует только на просмотр блока FDO и на просмотр главной страницы. На всех остальных страницах используется собственная система полномочий&lt;br /&gt;
* Если в блок dof заходит пользователь с полномочиями администратора (admin или danamanage) и для него нет персоны - то персона создается. Все данные берутся из профиля moodle, статус синхронизации (sync2moodle) равен 1.&lt;br /&gt;
&lt;br /&gt;
== Синхронизация ==&lt;br /&gt;
При создании плагина sync следует руководствоваться следующими правилами:&lt;br /&gt;
* Функции синхронизации одного объекта FDO (например persons) с двумя разными системами нужно создать два плагина sync для каждой системы. &lt;br /&gt;
* Плагины для разных систем именуются согласно [[Разработка:Принятые соглашения#Правила_именования_плагинов_sync | правилам именования плагинов sync ]].&lt;br /&gt;
* Функции синхронизации следует группировать по принципу принадлежности к объекту FDO. Например функции создания персоны в moodle, получения количества входов на портал и получения информации о персоне из moodle должны находится в плагине sync/personstom&lt;br /&gt;
== Комментарии ==&lt;br /&gt;
В комментариях при описании параметров, содержащих id записей рекомендуется указывать из каких именно таблиц эти записи были взяты. При этом название таблицы можно писать одним словом, без префиксов.&lt;br /&gt;
например: &lt;br /&gt;
    $personid - id пользователя в таблице persons&lt;br /&gt;
В данном случае имеется в виду таблица mdl_block_dof_s_persons&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3100</id>
		<title>Разработка:Принятые соглашения</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:%D0%9F%D1%80%D0%B8%D0%BD%D1%8F%D1%82%D1%8B%D0%B5_%D1%81%D0%BE%D0%B3%D0%BB%D0%B0%D1%88%D0%B5%D0%BD%D0%B8%D1%8F&amp;diff=3100"/>
				<updated>2017-05-22T10:41:02Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Права */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;=Принятые соглашения=&lt;br /&gt;
&lt;br /&gt;
В этом разделе описываются соглашения, относящиеся больше не к кодированию, а к реализации бизнес-логики: форматы полей для типовых данных, коды статусов и т.п.&lt;br /&gt;
&lt;br /&gt;
==Уникальные наименования==&lt;br /&gt;
Коды программ, дисциплин и т.п. Должны включать в себя только цифры, русские и латинские буквы, дефис. В базу данных код сохраняется всегда только в нижнем регистре. Независимо от того, как был введен в форме.&lt;br /&gt;
=== Правила именования плагинов sync ===&lt;br /&gt;
Все плагины sync, которые производят синхронизацию объектов с moodle должны называться как объект storage и иметь суффикс &amp;quot;tom&amp;quot;. Пример: ''persons'''''tom'''.&lt;br /&gt;
&lt;br /&gt;
==Коды и названия статусов.==&lt;br /&gt;
* future =&amp;gt; предстоящий; - (от Алексея: нужно уточнить, для чего нужен этот статус)&lt;br /&gt;
* new =&amp;gt; новый/заявка; - актуальный статус, он  уже существут для системы (не мусорный), но еще не перешел в активный статус.&lt;br /&gt;
* deleted =&amp;gt; удаленный; - мусорный статус, объекта &amp;quot;не существует&amp;quot; для системы, он не показывается даже в архиве. В него, например, могут быть переведены черновики. Обычные пользователи могут перевести в этот статус только объекты, которые еще не успели побывать в активном статусе.&lt;br /&gt;
* active =&amp;gt; идет/действует; - активный статус&lt;br /&gt;
* completed =&amp;gt; завершен; - реальный конечный статус, аналогичный архивному, но обозначает успех в изучения дисциплины, программы.&lt;br /&gt;
* failed =&amp;gt; неуспешно завершен; - реальный конечный статус, аналогичный архивному, но обозначает неудачу в изучении дисциплины, программы по вине слушателя (двойка, отчислен).&lt;br /&gt;
* canceled =&amp;gt; отменен; - реальный конечный статус. Аналогичен архивному, но обозначает неудачу по объективным причинам (обучение отменено, студент переведен в середине семестра).&lt;br /&gt;
* plan =&amp;gt; запланирован; - для запланированных событий и объектов, в отличие от черновиков, их предварительное редактирование уже закончено и мы используем объекты для моделирования будущей ситуации. Пример: изменения расписания, которые вступят в силу с определенной даты.&lt;br /&gt;
* archive =&amp;gt; помещен в архив; - конечный статус, объект остается только для архива. &lt;br /&gt;
* suspend =&amp;gt; приостановлен; - это не конечный статус, объект временно исключен из бизнес-процессов, но может быть возвращен.&lt;br /&gt;
* approved =&amp;gt; подтвержден; - это не конечный статус, актуальный статус. Аналогичен запланированному, но для приказов, договоров, заявок.&lt;br /&gt;
* notapproved =&amp;gt; не подтвержден; - это не конечный статус объекта, ожидающиего подтверждения.&lt;br /&gt;
* returned =&amp;gt; возвращен; - это не конечный, актуальный статус, обозначающий, что объект возвращен на доработку, но еще не потерявший шанса стать активным.&lt;br /&gt;
* rejected =&amp;gt; отклонён; - это конечный, реальный статус. Объект отклонён навсегда, вместо подтверждения, но должен остаться для архива рассмотренных заявок.&lt;br /&gt;
* available =&amp;gt; доступен; - вариация активного статуса обозначающая, что с объектом можно выполнять определенные действия (подписываться на программу).&lt;br /&gt;
* notavailable =&amp;gt; недоступен; - вариация активного статуса, например, для программы: подписки на программу активны, но новых временно создать нельзя.&lt;br /&gt;
* draft =&amp;gt; черновик; - это не конечный статус, объект пока еще не существует для системы, но пользователь может сменить статус, когда объект будет &amp;quot;готов&amp;quot;.&lt;br /&gt;
=== Мета-статусы ===&lt;br /&gt;
Объединяют в себе несколько статусов, и используются для того чтобы указать общее состояние объекта. Мета-статус - это виртуальный, иногда мнимый статус, которому соответствуют 1 или несколько реальных статусов&lt;br /&gt;
==== Активный объект (active) ====&lt;br /&gt;
Объект, участвующий в активной фазе бизнес-процесса (например, учебные процессы в статусе &amp;quot;идёт&amp;quot;, договоры в статусе &amp;quot;оказание услуг&amp;quot;).&lt;br /&gt;
&lt;br /&gt;
Все активные объекты объекты являются, одновременно, актуальными и реальными, но не наоборот.&lt;br /&gt;
==== Актуальный объект (actual) ====&lt;br /&gt;
Объект, жизненный цикл которого уже начат, но еще не завершен. Он включает в себя все активные объекты (с активными статусами), а так же некоторые не активные, но которые потенциально могут стать активными: запланированные, приостановленные, подтвержденные и т.п.&lt;br /&gt;
&lt;br /&gt;
Все актуальные объекты являются, одновременно, реальными, но не наоборот. &lt;br /&gt;
==== Реальный объект (real) ====&lt;br /&gt;
Объект, существование которого система признает. Помимо актуальны объектов (которые являются активными или потенциально могут ими стать), реальные объекты включают в себя объекты, которые были активными, а теперь хранятся в архиве (но не включая удалённые, черновики и прочие, которых для системы как бы совсем нет).&lt;br /&gt;
&lt;br /&gt;
==== Мусорный объект (junk) ====&lt;br /&gt;
Объекты, которые хранятся в базе но никак не принимают участия в бизнес-процессе, даже в качестве архива: удалённые, отмененные, черновики.&lt;br /&gt;
&lt;br /&gt;
В отличие от перевода в архивный статус, перевод в мусорный статус полностью вычеркивает объект из использования в системе. &lt;br /&gt;
В том числе: мусорные объекты не должны отображаться нигде в интерфейсе, кроме специально-отведенных мест (&amp;quot;просмотр удалённых&amp;quot; или &amp;quot;работа с черновиками&amp;quot;), кроме того, они никогда не должны использоваться при подсчете статистики или отображении истории.&lt;br /&gt;
&lt;br /&gt;
== Права ==&lt;br /&gt;
&lt;br /&gt;
* При построении прав на смену статуса объектов деканата имеет значение лишь то, в какой статус будет осуществлен перевод. Следовательно, необходимо реализовывать только права changestatus:to:СТАТУС&lt;br /&gt;
* Право dof/view (из moodle) действует только на просмотр блока FDO и на просмотр главной страницы. На всех остальных страницах используется собственная система полномочий&lt;br /&gt;
* Если в блок dof заходит пользователь с полномочиями администратора (admin или danamanage) и для него нет персоны - то персона создается. Все данные берутся из профиля moodle, статус синхронизации (sync2moodle) равен 1.&lt;br /&gt;
&lt;br /&gt;
== Синхронизация ==&lt;br /&gt;
При создании плагина sync следует руководствоваться следующими правилами:&lt;br /&gt;
* Функции синхронизации одного объекта FDO (например persons) с двумя разными системами нужно создать два плагина sync для каждой системы. &lt;br /&gt;
* Плагины для разных систем именуются согласно [[Разработка:Принятые соглашения#Правила_именования_плагинов_sync | правилам именования плагинов sync ]].&lt;br /&gt;
* Функции синхронизации следует группировать по принципу принадлежности к объекту FDO. Например функции создания персоны в moodle, получения количества входов на портал и получения информации о персоне из moodle должны находится в плагине sync/personstom&lt;br /&gt;
== Комментарии ==&lt;br /&gt;
В комментариях при описании параметров, содержащих id записей рекомендуется указывать из каких именно таблиц эти записи были взяты. При этом название таблицы можно писать одним словом, без префиксов.&lt;br /&gt;
например: &lt;br /&gt;
    $personid - id пользователя в таблице persons&lt;br /&gt;
В данном случае имеется в виду таблица mdl_block_dof_s_persons&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:workflows/contracts&amp;diff=3038</id>
		<title>Разработка:workflows/contracts</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:workflows/contracts&amp;diff=3038"/>
				<updated>2017-04-13T14:04:42Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = contracts&lt;br /&gt;
| type = workflows&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
===Возможные статусы===&lt;br /&gt;
* Неподтвержденный (tmp) - формируется новый контракт. В этом статусе можно редактировать. В бизнес-логике не участвует, считаем что его официально нет, пока создатель не переведет его в статус &amp;quot;Новый&amp;quot;.&lt;br /&gt;
* Новый (new) - контракт сформирован и готов к подписанию.&lt;br /&gt;
* Подписан клиентом (clientsign) - ученик подписывает контракт со своей стороны.&lt;br /&gt;
* Подписан нами (wesign) - учебное заведение подписывает контракт со своей стороны.&lt;br /&gt;
* Зарегистрирован учащийся (studreg) - учащемуся в системе создана учетная запись.&lt;br /&gt;
* Оказание услуг (work) - контракт подписан и по нему проходит обучение.&lt;br /&gt;
* Приостановлен (frozen) - исполнение контракта приостановлено по тем или иным причинам.&lt;br /&gt;
* Отменен (cancel) - контракт отменен до его исполнения.&lt;br /&gt;
* Расторгнут (archives) - контракт был расторгнут и передан в архив.&lt;br /&gt;
&lt;br /&gt;
=== Метастатусы ===&lt;br /&gt;
* Активный: work&lt;br /&gt;
* Актуальный: new, clientsign, studreg, wesign, work, frozen &lt;br /&gt;
* Реальный: new, clientsign, studreg, wesign, work, frozen, archives&lt;br /&gt;
* Мусорный: tmp, cancel&lt;br /&gt;
&lt;br /&gt;
=== Доступ ===&lt;br /&gt;
В этом разделе описаны права доступа, определяемые плагином&lt;br /&gt;
&lt;br /&gt;
{| class=&amp;quot;wikitable sortable&amp;quot;&lt;br /&gt;
 ! Код права&lt;br /&gt;
 ! Название&lt;br /&gt;
 ! Роли по-умолчанию&lt;br /&gt;
 ! Пояснение&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus&lt;br /&gt;
 | Переводить договор в любой статус&lt;br /&gt;
 | manager&lt;br /&gt;
 | &lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:tmp&lt;br /&gt;
 | Переводить договор в статус Черновика&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:new&lt;br /&gt;
 | Переводить договор в статус Новый&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:clientsign&lt;br /&gt;
 | Переводить договор в статус Подписан клиентом&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:studreg&lt;br /&gt;
 | Переводить договор в статус Зарегистрирован учащийся&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:wesign&lt;br /&gt;
 | Переводить договор в статус Подписан нами&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:work&lt;br /&gt;
 | Переводить договор в статус Оказание услуг&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:frozen&lt;br /&gt;
 | Переводить договор в статус Приостановлен&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:archives&lt;br /&gt;
 | Переводить договор в статус Расторгнут&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |-&lt;br /&gt;
 | changestatus:cancel&lt;br /&gt;
 | Переводить договор в статус Отменен&lt;br /&gt;
 | &lt;br /&gt;
 | По-умолчанию право не определено для ролей Деканата. &lt;br /&gt;
При запросе доступа - производится предварительная проверка права changestatus&lt;br /&gt;
 |}&lt;br /&gt;
&lt;br /&gt;
=== Маршруты статусов===&lt;br /&gt;
Правила описания маршрутов: описания возможностей перехода в новый статус на основании текущего статуса и условия, действительные только при переходе в новый статус из текущего статуса, группируются по текущему статусу, описания возможностей перехода в новый статус не зависящие от текущего статуса группируются по новому статусу. &lt;br /&gt;
&lt;br /&gt;
==== Неподтвержденный ====&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Новый&lt;br /&gt;
* Отменен&lt;br /&gt;
&lt;br /&gt;
==== Новый ====&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Подписан учеником &lt;br /&gt;
* Отменен&lt;br /&gt;
&lt;br /&gt;
==== Подписан клиентом ====&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Зарегистрирован учащийся - автоматически&lt;br /&gt;
* Отменен&lt;br /&gt;
&lt;br /&gt;
==== Зарегистрирован учащийся ====&lt;br /&gt;
Нельзя установить вручную. Меняется на этот статус сразу же после подписания контракта клиентом. В системе создается учетная запись для учащегося, в случае неудачи, контракт переходит в статус &amp;quot;Неподтвержденный&amp;quot;&lt;br /&gt;
&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Подписан нами&lt;br /&gt;
* Отменен&lt;br /&gt;
&lt;br /&gt;
==== Подписан нами  ====&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Оказание услуг&lt;br /&gt;
* Приостановлен &lt;br /&gt;
* Расторгнут &lt;br /&gt;
&lt;br /&gt;
====Оказание услуг====&lt;br /&gt;
При переводе в этот статус, все соответствующие подписки в статусе &amp;quot;Заявка&amp;quot; переводятся в статус &amp;quot;Действующая&amp;quot;&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Приостановлен &lt;br /&gt;
* Расторгнут &lt;br /&gt;
&lt;br /&gt;
====Приостановлен====&lt;br /&gt;
Возможные переходы ИЗ этого статуса:&lt;br /&gt;
* Оказание услуг&lt;br /&gt;
* Расторгнут&lt;br /&gt;
&lt;br /&gt;
==== Отменен ====&lt;br /&gt;
Конечный статус&lt;br /&gt;
&lt;br /&gt;
==== Расторгнут ====&lt;br /&gt;
Конечный статус&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2959</id>
		<title>Разработка:storages/achievementcats</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2959"/>
				<updated>2016-08-31T15:40:55Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Приватные методы: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = achievementcats&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Таблица в базе данных=&lt;br /&gt;
''achievementcats'' - Справочник разделов(категорий) шаблонов достижений &lt;br /&gt;
&lt;br /&gt;
==Подробный формат полей в таблице:==&lt;br /&gt;
* id - ID раздела.&lt;br /&gt;
* name - Название раздела.&lt;br /&gt;
* parentid - ID родительского раздела.&lt;br /&gt;
* departmentid - ID подразделения.&lt;br /&gt;
* sortorder - Поле для стандартной сортировки разделов.&lt;br /&gt;
* createdate - Дата создания раздела.&lt;br /&gt;
* status - Статус раздела.&lt;br /&gt;
&lt;br /&gt;
=Методы:=&lt;br /&gt;
&lt;br /&gt;
=='''Публичные методы:'''==&lt;br /&gt;
==='''save( $object = null, $options = [] )'''===&lt;br /&gt;
&lt;br /&gt;
Сохранить раздел&lt;br /&gt;
&lt;br /&gt;
Метод сохранения раздела достижений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* $fromid(int) - счет, с которого списываем сумму.&lt;br /&gt;
* $object(object) - Объект раздела&lt;br /&gt;
** Обязательные поля:&lt;br /&gt;
***    -&amp;gt;name - Имя раздела&lt;br /&gt;
***    -&amp;gt;departmentid - Подразделение раздела&lt;br /&gt;
** Необязательные поля&lt;br /&gt;
***    -&amp;gt;parentid - ID родительского раздела&lt;br /&gt;
***    -&amp;gt;sortorder - Вес сортировки&lt;br /&gt;
* $options(array) - Массив дополнительных параметров&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool - В случае ошибки сохранения&lt;br /&gt;
* int - ID сохраненного раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм сохранения(создания или обновления) раздела в системе. &lt;br /&gt;
&lt;br /&gt;
''Логика работы:''&lt;br /&gt;
* Проверка входных данных&lt;br /&gt;
* Клонирование исходного объекта для безопасной манипуляции с данными&lt;br /&gt;
* Нормализация свойств переданного раздела&lt;br /&gt;
* Выбор механизма сохранения(создание или обновление)&lt;br /&gt;
** Сохранение&lt;br /&gt;
*** Генерация служебных полей(сортировка, дата создания)&lt;br /&gt;
*** Добавление записи в БД&lt;br /&gt;
** Обновление&lt;br /&gt;
*** Генерация служебных полей(сортировка)&lt;br /&gt;
*** Обновление записи в БД&lt;br /&gt;
&lt;br /&gt;
=='''Приватные методы:'''==&lt;br /&gt;
&lt;br /&gt;
==='''get_sortorder($saveobj)'''===&lt;br /&gt;
&lt;br /&gt;
Генерация поля сортировки раздела&lt;br /&gt;
&lt;br /&gt;
Метод генерации поля сортировки на основе объекта раздела&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* saveobj(object) - Объект раздела&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - Вес раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм генерации поля сортировки раздела. В данный момент не используется и для всех разделов возвращает 0&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2958</id>
		<title>Разработка:storages/achievementcats</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2958"/>
				<updated>2016-08-31T15:40:36Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Приватные методы: */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = achievementcats&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Таблица в базе данных=&lt;br /&gt;
''achievementcats'' - Справочник разделов(категорий) шаблонов достижений &lt;br /&gt;
&lt;br /&gt;
==Подробный формат полей в таблице:==&lt;br /&gt;
* id - ID раздела.&lt;br /&gt;
* name - Название раздела.&lt;br /&gt;
* parentid - ID родительского раздела.&lt;br /&gt;
* departmentid - ID подразделения.&lt;br /&gt;
* sortorder - Поле для стандартной сортировки разделов.&lt;br /&gt;
* createdate - Дата создания раздела.&lt;br /&gt;
* status - Статус раздела.&lt;br /&gt;
&lt;br /&gt;
=Методы:=&lt;br /&gt;
&lt;br /&gt;
=='''Публичные методы:'''==&lt;br /&gt;
==='''save( $object = null, $options = [] )'''===&lt;br /&gt;
&lt;br /&gt;
Сохранить раздел&lt;br /&gt;
&lt;br /&gt;
Метод сохранения раздела достижений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* $fromid(int) - счет, с которого списываем сумму.&lt;br /&gt;
* $object(object) - Объект раздела&lt;br /&gt;
** Обязательные поля:&lt;br /&gt;
***    -&amp;gt;name - Имя раздела&lt;br /&gt;
***    -&amp;gt;departmentid - Подразделение раздела&lt;br /&gt;
** Необязательные поля&lt;br /&gt;
***    -&amp;gt;parentid - ID родительского раздела&lt;br /&gt;
***    -&amp;gt;sortorder - Вес сортировки&lt;br /&gt;
* $options(array) - Массив дополнительных параметров&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool - В случае ошибки сохранения&lt;br /&gt;
* int - ID сохраненного раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм сохранения(создания или обновления) раздела в системе. &lt;br /&gt;
&lt;br /&gt;
''Логика работы:''&lt;br /&gt;
* Проверка входных данных&lt;br /&gt;
* Клонирование исходного объекта для безопасной манипуляции с данными&lt;br /&gt;
* Нормализация свойств переданного раздела&lt;br /&gt;
* Выбор механизма сохранения(создание или обновление)&lt;br /&gt;
** Сохранение&lt;br /&gt;
*** Генерация служебных полей(сортировка, дата создания)&lt;br /&gt;
*** Добавление записи в БД&lt;br /&gt;
** Обновление&lt;br /&gt;
*** Генерация служебных полей(сортировка)&lt;br /&gt;
*** Обновление записи в БД&lt;br /&gt;
&lt;br /&gt;
==='''Приватные методы:'''===&lt;br /&gt;
&lt;br /&gt;
===='''get_sortorder($saveobj)'''====&lt;br /&gt;
&lt;br /&gt;
Генерация поля сортировки раздела&lt;br /&gt;
&lt;br /&gt;
Метод генерации поля сортировки на основе объекта раздела&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* saveobj(object) - Объект раздела&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - Вес раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм генерации поля сортировки раздела. В данный момент не используется и для всех разделов возвращает 0&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2957</id>
		<title>Разработка:storages/achievementcats</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2957"/>
				<updated>2016-08-31T15:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* save( $object = null, $options = [] ) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = achievementcats&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Таблица в базе данных=&lt;br /&gt;
''achievementcats'' - Справочник разделов(категорий) шаблонов достижений &lt;br /&gt;
&lt;br /&gt;
==Подробный формат полей в таблице:==&lt;br /&gt;
* id - ID раздела.&lt;br /&gt;
* name - Название раздела.&lt;br /&gt;
* parentid - ID родительского раздела.&lt;br /&gt;
* departmentid - ID подразделения.&lt;br /&gt;
* sortorder - Поле для стандартной сортировки разделов.&lt;br /&gt;
* createdate - Дата создания раздела.&lt;br /&gt;
* status - Статус раздела.&lt;br /&gt;
&lt;br /&gt;
=Методы:=&lt;br /&gt;
&lt;br /&gt;
=='''Публичные методы:'''==&lt;br /&gt;
==='''save( $object = null, $options = [] )'''===&lt;br /&gt;
&lt;br /&gt;
Сохранить раздел&lt;br /&gt;
&lt;br /&gt;
Метод сохранения раздела достижений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* $fromid(int) - счет, с которого списываем сумму.&lt;br /&gt;
* $object(object) - Объект раздела&lt;br /&gt;
** Обязательные поля:&lt;br /&gt;
***    -&amp;gt;name - Имя раздела&lt;br /&gt;
***    -&amp;gt;departmentid - Подразделение раздела&lt;br /&gt;
** Необязательные поля&lt;br /&gt;
***    -&amp;gt;parentid - ID родительского раздела&lt;br /&gt;
***    -&amp;gt;sortorder - Вес сортировки&lt;br /&gt;
* $options(array) - Массив дополнительных параметров&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool - В случае ошибки сохранения&lt;br /&gt;
* int - ID сохраненного раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм сохранения(создания или обновления) раздела в системе. &lt;br /&gt;
&lt;br /&gt;
''Логика работы:''&lt;br /&gt;
* Проверка входных данных&lt;br /&gt;
* Клонирование исходного объекта для безопасной манипуляции с данными&lt;br /&gt;
* Нормализация свойств переданного раздела&lt;br /&gt;
* Выбор механизма сохранения(создание или обновление)&lt;br /&gt;
** Сохранение&lt;br /&gt;
*** Генерация служебных полей(сортировка, дата создания)&lt;br /&gt;
*** Добавление записи в БД&lt;br /&gt;
** Обновление&lt;br /&gt;
*** Генерация служебных полей(сортировка)&lt;br /&gt;
*** Обновление записи в БД&lt;br /&gt;
&lt;br /&gt;
===='''Приватные методы:'''====&lt;br /&gt;
&lt;br /&gt;
===='''get_sortorder($saveobj)'''====&lt;br /&gt;
&lt;br /&gt;
Генерация поля сортировки раздела&lt;br /&gt;
&lt;br /&gt;
Метод генерации поля сортировки на основе объекта раздела&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* saveobj(object) - Объект раздела&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - Вес раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм генерации поля сортировки раздела. В данный момент не используется и для всех разделов возвращает 0&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2956</id>
		<title>Разработка:storages/achievementcats</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:storages/achievementcats&amp;diff=2956"/>
				<updated>2016-08-31T15:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: Новая страница: «{{Infobox_Plugin | name = achievementcats | type = storages }}  =Таблица в базе данных= ''achievementcats'' - Справочник разделов...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = achievementcats&lt;br /&gt;
| type = storages&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Таблица в базе данных=&lt;br /&gt;
''achievementcats'' - Справочник разделов(категорий) шаблонов достижений &lt;br /&gt;
&lt;br /&gt;
==Подробный формат полей в таблице:==&lt;br /&gt;
* id - ID раздела.&lt;br /&gt;
* name - Название раздела.&lt;br /&gt;
* parentid - ID родительского раздела.&lt;br /&gt;
* departmentid - ID подразделения.&lt;br /&gt;
* sortorder - Поле для стандартной сортировки разделов.&lt;br /&gt;
* createdate - Дата создания раздела.&lt;br /&gt;
* status - Статус раздела.&lt;br /&gt;
&lt;br /&gt;
=Методы:=&lt;br /&gt;
&lt;br /&gt;
=='''Публичные методы:'''==&lt;br /&gt;
==='''save( $object = null, $options = [] )'''===&lt;br /&gt;
&lt;br /&gt;
Сохранить раздел&lt;br /&gt;
&lt;br /&gt;
Метод сохранения раздела достижений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* $fromid(int) - счет, с которого списываем сумму.&lt;br /&gt;
* $object(object) - Объект раздела&lt;br /&gt;
** Обязательные поля:&lt;br /&gt;
***    -&amp;gt;name - Имя раздела&lt;br /&gt;
***    -&amp;gt;departmentid - Подразделение раздела&lt;br /&gt;
** Необязательные поля&lt;br /&gt;
***    -&amp;gt;parentid - ID родительского раздела&lt;br /&gt;
***    -&amp;gt;sortorder - Вес сортировки&lt;br /&gt;
* $options(array) - Массив дополнительных параметров&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* bool - В случае ошибки сохранения&lt;br /&gt;
* int - ID сохраненного раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм сохранения(создания или обновления) раздела в системе. &lt;br /&gt;
&lt;br /&gt;
''Логика работы''&lt;br /&gt;
* Проверка входных данных&lt;br /&gt;
* Клонирование исходного объекта для безопасной манипуляции с данными&lt;br /&gt;
* Нормализация свойств переданного раздела&lt;br /&gt;
* Выбор механизма сохранения(создание или обновление)&lt;br /&gt;
** Сохранение&lt;br /&gt;
*** Генерация служебных полей(сортировка, дата создания)&lt;br /&gt;
*** Добавление записи в БД&lt;br /&gt;
** Обновление&lt;br /&gt;
*** Генерация служебных полей(сортировка)&lt;br /&gt;
*** Обновление записи в БД&lt;br /&gt;
&lt;br /&gt;
===='''Приватные методы:'''====&lt;br /&gt;
&lt;br /&gt;
===='''get_sortorder($saveobj)'''====&lt;br /&gt;
&lt;br /&gt;
Генерация поля сортировки раздела&lt;br /&gt;
&lt;br /&gt;
Метод генерации поля сортировки на основе объекта раздела&lt;br /&gt;
&lt;br /&gt;
''Аргументы:''&lt;br /&gt;
* saveobj(object) - Объект раздела&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* int - Вес раздела&lt;br /&gt;
&lt;br /&gt;
''Пояснения:''&lt;br /&gt;
Метод реализует механизм генерации поля сортировки раздела. В данный момент не используется и для всех разделов возвращает 0&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2953</id>
		<title>Использование:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2953"/>
				<updated>2016-07-13T11:19:16Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Для того, чтобы перейти в интерфейс, необходимо:&lt;br /&gt;
* Войти в Деканат под аккаунтом, имеющим доступ к интерфейсу.&lt;br /&gt;
* На главной странице Электронного Деканата выбрать пункт &amp;quot;Участники&amp;quot; (Блок работы с контингентом).&lt;br /&gt;
&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Возможности плагина=&lt;br /&gt;
&lt;br /&gt;
===Поиск и создание подписок на программы===&lt;br /&gt;
Для перехода к Панели управления слушателями следует выбрать вкладку &amp;quot;Слушатели&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если указанная вкладка отсутствует, попытайтесь произвести следующие действия:&lt;br /&gt;
* Проверьте, что Вы находитесь в верном подразделении.&lt;br /&gt;
* Убедитесь, что Вы имеете доверенность, позволяющую использовать указанный интерфейс&lt;br /&gt;
* Обратитесь к Администратору Электронного Деканата&lt;br /&gt;
&lt;br /&gt;
====Поиск подписок на программы====&lt;br /&gt;
При переходе к панели управления слушателями пользователю отображается форма поиска подписок на программы по критериям.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Для поиска подписок на программы заполните одно или несколько полей формы и нажмите на кнопку &amp;quot;Найти подписки&amp;quot;&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
Результат поиска будет представлен в виде таблицы подписок с возможностью сортировки и разбиением на страницы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
В случае, когда производится точный поиск подписок(Указаны данные о пользователе и данные о программе) панель управления может отобразить таблицу коллизий. В таблице коллизий будут находиться подписки на программы, которые соответствуют указанным критериям, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
====Создание подписки на программу====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки. В этом случае Деканат сам создаст недостающие элементы для подписки и заполнит их значениями по-умолчанию.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов:&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|600px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|600px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|600px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|600px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла и выбора разделителя&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|600px]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2952</id>
		<title>Использование:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2952"/>
				<updated>2016-07-13T11:11:01Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Поиск подписок на программы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Для того, чтобы перейти в интерфейс, необходимо:&lt;br /&gt;
* Войти в Деканат под аккаунтом, имеющим доступ к интерфейсу.&lt;br /&gt;
* На главной странице Электронного Деканата выбрать пункт &amp;quot;Участники&amp;quot; (Блок работы с контингентом).&lt;br /&gt;
&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Возможности плагина=&lt;br /&gt;
&lt;br /&gt;
===Поиск и создание подписок на программы===&lt;br /&gt;
Для перехода к Панели управления слушателями следует выбрать вкладку &amp;quot;Слушатели&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если указанная вкладка отсутствует, попытайтесь произвести следующие действия:&lt;br /&gt;
* Проверьте, что Вы находитесь в верном подразделении.&lt;br /&gt;
* Убедитесь, что Вы имеете доверенность, позволяющую использовать указанный интерфейс&lt;br /&gt;
* Обратитесь к Администратору Электронного Деканата&lt;br /&gt;
&lt;br /&gt;
=====Поиск подписок на программы=====&lt;br /&gt;
При переходе к панели управления слушателями пользователю отображается форма поиска подписок на программы по критериям.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|800px]]&lt;br /&gt;
&lt;br /&gt;
Для поиска подписок на программы заполните одно или несколько полей формы и нажмите на кнопку &amp;quot;Найти подписки&amp;quot;&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
Результат поиска будет представлен в виде таблицы подписок с возможностью сортировки и разбиением на страницы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|800px]]&lt;br /&gt;
&lt;br /&gt;
В случае, когда производится точный поиск подписок(Указаны данные о пользователе и данные о программе) панель управления может отобразить таблицу коллизий. В таблице коллизий будут находиться подписки на программы, которые соответствуют указанным критериям, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|800px]]&lt;br /&gt;
&lt;br /&gt;
=====Создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов:&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|600px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|600px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|600px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|600px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|600px]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2951</id>
		<title>Использование:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2951"/>
				<updated>2016-07-13T11:09:46Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Для того, чтобы перейти в интерфейс, необходимо:&lt;br /&gt;
* Войти в Деканат под аккаунтом, имеющим доступ к интерфейсу.&lt;br /&gt;
* На главной странице Электронного Деканата выбрать пункт &amp;quot;Участники&amp;quot; (Блок работы с контингентом).&lt;br /&gt;
&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Возможности плагина=&lt;br /&gt;
&lt;br /&gt;
===Поиск и создание подписок на программы===&lt;br /&gt;
Для перехода к Панели управления слушателями следует выбрать вкладку &amp;quot;Слушатели&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если указанная вкладка отсутствует, попытайтесь произвести следующие действия:&lt;br /&gt;
* Проверьте, что Вы находитесь в верном подразделении.&lt;br /&gt;
* Убедитесь, что Вы имеете доверенность, позволяющую использовать указанный интерфейс&lt;br /&gt;
* Обратитесь к Администратору Электронного Деканата&lt;br /&gt;
&lt;br /&gt;
=====Поиск подписок на программы=====&lt;br /&gt;
При переходе к панели управления слушателями пользователю отображается форма поиска подписок на программы по критериям.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Для поиска подписок на программы заполните одно или несколько полей формы и нажмите на кнопку &amp;quot;Найти подписки&amp;quot;&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
Результат поиска будет представлен в виде таблицы подписок с возможностью сортировки и разбиением на страницы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
В случае, когда производится точный поиск подписок(Указаны данные о пользователе и данные о программе) панель управления может отобразить таблицу коллизий. В таблице коллизий будут находиться подписки на программы, которые соответствуют указанным критериям, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|600px]]&lt;br /&gt;
&lt;br /&gt;
=====Создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов:&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|600px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|600px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|600px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|600px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|600px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|600px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|600px]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2950</id>
		<title>Использование:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%98%D1%81%D0%BF%D0%BE%D0%BB%D1%8C%D0%B7%D0%BE%D0%B2%D0%B0%D0%BD%D0%B8%D0%B5:im/participants&amp;diff=2950"/>
				<updated>2016-07-13T11:06:40Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: Новая страница: «{{Infobox_Plugin | name = participants | type = im }}  =Участники учебного процесса= Для того, чтобы перейти в инте...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Для того, чтобы перейти в интерфейс, необходимо:&lt;br /&gt;
* Войти в Деканат под аккаунтом, имеющим доступ к интерфейсу.&lt;br /&gt;
* На главной странице Электронного Деканата выбрать пункт &amp;quot;Участники&amp;quot; (Блок работы с контингентом).&lt;br /&gt;
&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Возможности плагина=&lt;br /&gt;
&lt;br /&gt;
===Поиск и создание подписок на программы===&lt;br /&gt;
Для перехода к Панели управления слушателями следует выбрать вкладку &amp;quot;Слушатели&amp;quot;.&lt;br /&gt;
&lt;br /&gt;
Если указанная вкладка отсутствует, попытайтесь произвести следующие действия:&lt;br /&gt;
* Проверьте, что Вы находитесь в верном подразделении.&lt;br /&gt;
* Убедитесь, что Вы имеете доверенность, позволяющую использовать указанный интерфейс&lt;br /&gt;
* Обратитесь к Администратору Электронного Деканата&lt;br /&gt;
&lt;br /&gt;
=====Поиск подписок на программы=====&lt;br /&gt;
При переходе к панели управления слушателями пользователю отображается форма поиска подписок на программы по критериям.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Для поиска подписок на программы заполните одно или несколько полей формы и нажмите на кнопку &amp;quot;Найти подписки&amp;quot;&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
Результат поиска будет представлен в виде таблицы подписок с возможностью сортировки и разбиением на страницы.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
В случае, когда производится точный поиск подписок(Указаны данные о пользователе и данные о программе) панель управления может отобразить таблицу коллизий. В таблице коллизий будут находиться подписки на программы, которые соответствуют указанным критериям, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=====Создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов:&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2949</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2949"/>
				<updated>2016-07-12T08:24:29Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Поиск подписок на программы */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
===Точка входа в плагин (index.php)===&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления Интерфейса.&lt;br /&gt;
&lt;br /&gt;
===Панель управления слушателями (students.php)===&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
=====Поиск подписок на программы=====&lt;br /&gt;
При переходе к панели управления слушателями пользователю отображается форма поиска подписок на программы по критериям.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок на программы, находящиеся в текущем подразделении и соответствующие критериям поиска. Если необходимо отобразить полный список подписок - критерии указывать не нужно. Таблица подписок разбита по страницам. Число подписок на одной странице можно регулировать с помощью соответствующего выпадающего списка. Также в таблице присутствует сортировка по полям(прямая и обратная).&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
В случае, когда производится точный поиск подписок(Указаны данные о пользователе и данные о программе) панель управления может отобразить таблицу коллизий. В таблице коллизий будут находиться подписки на программы, которые соответствуют указанным критериям, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=====Создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2948</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2948"/>
				<updated>2016-07-12T08:15:51Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
===Точка входа в плагин (index.php)===&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления Интерфейса.&lt;br /&gt;
&lt;br /&gt;
===Панель управления слушателями (students.php)===&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
=====Поиск подписок на программы=====&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
=====Создание подписки на программу=====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
=====Детальное создание подписки на программу=====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
=====Быстрое создание подписки на программу=====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2947</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2947"/>
				<updated>2016-07-12T08:15:09Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Точка входа в плагин (index.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
===Точка входа в плагин (index.php)===&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления Интерфейса.&lt;br /&gt;
&lt;br /&gt;
===Панель управления слушателями (students.php)===&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
====Поиск подписок на программы====&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
====Создание подписки на программу====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
====Детальное создание подписки на программу====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
====Быстрое создание подписки на программу====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2946</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2946"/>
				<updated>2016-07-12T08:14:15Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
===Точка входа в плагин (index.php)===&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
===Панель управления слушателями (students.php)===&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
====Поиск подписок на программы====&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
====Создание подписки на программу====&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
====Детальное создание подписки на программу====&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
====Быстрое создание подписки на программу====&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Страница детального создания подписки на программу (create_programmsbc.php)===&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Импорт подписок на программы (students_import.php)===&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2945</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2945"/>
				<updated>2016-07-12T08:13:35Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Участники учебного процесса */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Интерфейс участников учебного процесса представляет собой набор панелей управления различных элементов Электронного Деканата. Все панели управления имеют свои глобальные права доступа, позволяя ограничить возможности сотрудников в Интерфейсе.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
===Поиск подписок на программы===&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Создание подписки на программу===&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
===Детальное создание подписки на программу===&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
===Быстрое создание подписки на программу===&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2944</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2944"/>
				<updated>2016-07-12T07:31:13Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
===Поиск подписок на программы===&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Создание подписки на программу===&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
===Детальное создание подписки на программу===&lt;br /&gt;
Кнопка создания подписки находится над формой поиска и ведет на отдельную страницу, описание которой находится ниже.&lt;br /&gt;
===Быстрое создание подписки на программу===&lt;br /&gt;
Если в форме поиска были введены точные критерии отбора подписок(Данные о студенте и программа), пользователю будет показана кнопка быстрого создания подписки на основе введенных данных. При клике по кнопке откроется модальное окно, в котором можно указать данные для быстрого создания подписки&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students4.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
Ссылка для перехода находится в панели управления слушателями справа от формы поиска.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Стандартный интерфейс импорта подписок представляет собой форму загрузки csv-файла.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import2.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Доступный список полей импорта:&lt;br /&gt;
*Договор&lt;br /&gt;
**studentcontract_num - Номер договора, по которому будет сформирована подписка. Если не указан, будет сгенерирован автоматически&lt;br /&gt;
**studentcontract_startdate - Дата заключения договора на обучение в формате dd.mm.yyyy&lt;br /&gt;
**studentcontract_notice - Заметка по договору&lt;br /&gt;
*Студент по договору&lt;br /&gt;
**student_email - Email студента для создания нового договора&lt;br /&gt;
**student_firstname - Имя студента&lt;br /&gt;
**student_lastname - Фамилия студента&lt;br /&gt;
**student_middlename - Отчество студента&lt;br /&gt;
**student_birthdate - Дата рождения студента в формате dd.mm.yyyy&lt;br /&gt;
**student_gender - Пол студента в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Законный представитель по договору&lt;br /&gt;
**parent_email - Email законного представителя для создания нового договора&lt;br /&gt;
**parent_firstname - Имя законного представителя&lt;br /&gt;
**parent_lastname - Фамилия законного представителя&lt;br /&gt;
**parent_middlename - Отчество законного представителя&lt;br /&gt;
**parent_birthdate - Дата рождения законного представителя в формате dd.mm.yyyy&lt;br /&gt;
**parent_gender - Пол законного представителя в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Менеджер&lt;br /&gt;
**seller_email - Email менеджера для создания нового договора&lt;br /&gt;
**seller_firstname - Имя менеджера&lt;br /&gt;
**seller_lastname - Фамилия менеджера&lt;br /&gt;
**seller_middlename - Отчество менеджера&lt;br /&gt;
**seller_birthdate - Дата рождения менеджера в формате dd.mm.yyyy&lt;br /&gt;
**seller_gender - Пол менеджера в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Куратор&lt;br /&gt;
**curator_email - Email куратора для создания нового договора&lt;br /&gt;
**curator_firstname - Имя куратора&lt;br /&gt;
**curator_lastname - Фамилия куратора&lt;br /&gt;
**curator_middlename - Отчество куратора&lt;br /&gt;
**curator_birthdate - Дата рождения куратора в формате dd.mm.yyyy&lt;br /&gt;
**curator_gender - Пол куратора в буквенном формате (m, f, м, ж)&lt;br /&gt;
*Программа обучения&lt;br /&gt;
**programm_code - Код программы для подписки&lt;br /&gt;
*Академическая группа&lt;br /&gt;
**agroup_code - Код группы для подписки на программу&lt;br /&gt;
*Подписка на программу&lt;br /&gt;
**programmsbc_agenum - Номер параллели&lt;br /&gt;
**programmsbc_edutype - Тип обучения(group - групповая, individual - индивидуальная). Если не указано, выбирается значение на основе данных о группе&lt;br /&gt;
**programmsbc_eduform - Форма обучения(internal - очная, correspondence - заочная, internally-correspondence - очно-заочная, external-studies - экстарнат). Если не указано. выбирается значение по - умолчанию&lt;br /&gt;
**programmsbc_freeattendance - Свободное посещение(0, 1)&lt;br /&gt;
**programmsbc_datestart - Дата начала подписки в формате dd.mm.yyyy&lt;br /&gt;
**programmsbc_salfactor - Поправочный коэффициент&lt;br /&gt;
&lt;br /&gt;
Перед импортом рекомендуется произвести проверку данных, нажав соответствующую кнопку. Отчет о такой проверке будет идентичен процессу импорта за исключением всех действий по созданию в элементов в системе.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students_import3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import3.png&amp;diff=2943</id>
		<title>Файл:Participants students import3.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import3.png&amp;diff=2943"/>
				<updated>2016-07-12T07:28:43Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import2.png&amp;diff=2942</id>
		<title>Файл:Participants students import2.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import2.png&amp;diff=2942"/>
				<updated>2016-07-12T07:28:38Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import1.png&amp;diff=2941</id>
		<title>Файл:Participants students import1.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students_import1.png&amp;diff=2941"/>
				<updated>2016-07-12T06:59:06Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students4.png&amp;diff=2940</id>
		<title>Файл:Participants students4.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students4.png&amp;diff=2940"/>
				<updated>2016-07-12T06:54:32Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2939</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2939"/>
				<updated>2016-07-12T06:49:30Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Панель управления слушателями (students.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
&lt;br /&gt;
===Поиск подписок на программы===&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
По результатам поиска пользователю будет показана таблица подписок, соответствующих критериям поиска в текущем подразделении.&lt;br /&gt;
[[Файл:participants_students2.png|300px]]&lt;br /&gt;
Также по результатам точного поиска подписок(Данные о пользователе и данные о программе) может быть отображена таблица коллизий - подписок, которые были найдены по точному запросу, но находятся не в текущем подразделении.&lt;br /&gt;
[[Файл:participants_students3.png|300px]]&lt;br /&gt;
&lt;br /&gt;
===Создание подписки на программу===&lt;br /&gt;
Интерфейс позволяет производить создание подписок на программы двумя способами:&lt;br /&gt;
===Детальное создание подписки на программу===&lt;br /&gt;
Является&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students3.png&amp;diff=2938</id>
		<title>Файл:Participants students3.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students3.png&amp;diff=2938"/>
				<updated>2016-07-12T06:38:49Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students2.png&amp;diff=2937</id>
		<title>Файл:Participants students2.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students2.png&amp;diff=2937"/>
				<updated>2016-07-12T06:38:45Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2936</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2936"/>
				<updated>2016-07-12T06:26:58Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Панель управления слушателями (students.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2935</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2935"/>
				<updated>2016-07-12T06:26:40Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Панель управления слушателями (students.php) */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2934</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2934"/>
				<updated>2016-07-11T15:04:52Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
Центральный интерфейс управления подписками на программы.&lt;br /&gt;
При переходе к интерфейсу пользователю отображается форма поиска подписок.&lt;br /&gt;
[[Файл:participants_students1.png|300px]]&lt;br /&gt;
Описание полей формы поиска:&lt;br /&gt;
* Фамилия - Фрагмент фамилии студента по подписке. Работает автозаполнение. &lt;br /&gt;
* Имя - Фрагмент имени студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Отчество - Фрагмент отчества студента по подписке. Работает автозаполнение.&lt;br /&gt;
* Email - Email студента. Работает автозаполнение.&lt;br /&gt;
* Телефон - Фрагмент номера телефона.&lt;br /&gt;
* Программа - Данные по программе обучения(ID, Фрагмент кода, Фрагмент названия). Работает автозаполнение.&lt;br /&gt;
* Параллель - Параллель, на которую записан пользователь. Работает автозаполнение с учетом лимита по выбранной программе.&lt;br /&gt;
* Группа - Учебная Группа подписки на обучение.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
&lt;br /&gt;
==API==&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students1.png&amp;diff=2933</id>
		<title>Файл:Participants students1.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_students1.png&amp;diff=2933"/>
				<updated>2016-07-11T09:47:58Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2932</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2932"/>
				<updated>2016-07-11T09:41:09Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих шагов.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|300px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|300px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|300px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|300px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|300px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
==Пользовательские истории==&lt;br /&gt;
===Список подписок===&lt;br /&gt;
Некто заходит на страницу списка подписок на программы.&lt;br /&gt;
Содержание списка зависит от полномочий пользователя и того, откуда он пришел.&lt;br /&gt;
Нажимает на ссылку создать подписку. Отрывается окно создания подписки. Поля ввода заполнены значениями по умолчанию для новой подписки.&lt;br /&gt;
Нажимает на ссылку редактировать подписку. Отрывается окно создания подписки, поля ввода которого заполнены значениями редактируемой подписки.&lt;br /&gt;
&lt;br /&gt;
===Форма редактирования===&lt;br /&gt;
Пользователь видит форму создания подписки. Но он передумал, нажал кнопку &amp;quot;Отмена&amp;quot;. Попал на страницу списка подписок. &lt;br /&gt;
Или не передумал. Заполнил все поля формы, нажал на кнопку &amp;quot;Сохранить&amp;quot;. Если сохранение прошло успешно, то открывается страница просмотра только что созданной подписки. Если в процессе сохранения произошли ошибки, страница перегружается с сообщением об ошибке сохранения.&lt;br /&gt;
===Просмотр подписки===&lt;br /&gt;
Пользователь видит одну подписку на программу. Если права позволяют, то он видит и ссылку на редактирование этой подписки. Если нет - то не видит ее.&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2931</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2931"/>
				<updated>2016-07-11T09:40:45Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих шагов.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|100px]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|100px]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|100px]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|100px]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|100px]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
==Пользовательские истории==&lt;br /&gt;
===Список подписок===&lt;br /&gt;
Некто заходит на страницу списка подписок на программы.&lt;br /&gt;
Содержание списка зависит от полномочий пользователя и того, откуда он пришел.&lt;br /&gt;
Нажимает на ссылку создать подписку. Отрывается окно создания подписки. Поля ввода заполнены значениями по умолчанию для новой подписки.&lt;br /&gt;
Нажимает на ссылку редактировать подписку. Отрывается окно создания подписки, поля ввода которого заполнены значениями редактируемой подписки.&lt;br /&gt;
&lt;br /&gt;
===Форма редактирования===&lt;br /&gt;
Пользователь видит форму создания подписки. Но он передумал, нажал кнопку &amp;quot;Отмена&amp;quot;. Попал на страницу списка подписок. &lt;br /&gt;
Или не передумал. Заполнил все поля формы, нажал на кнопку &amp;quot;Сохранить&amp;quot;. Если сохранение прошло успешно, то открывается страница просмотра только что созданной подписки. Если в процессе сохранения произошли ошибки, страница перегружается с сообщением об ошибке сохранения.&lt;br /&gt;
===Просмотр подписки===&lt;br /&gt;
Пользователь видит одну подписку на программу. Если права позволяют, то он видит и ссылку на редактирование этой подписки. Если нет - то не видит ее.&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2930</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2930"/>
				<updated>2016-07-11T09:40:14Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих шагов.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|100]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|100]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|100]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|100]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|100]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
==Пользовательские истории==&lt;br /&gt;
===Список подписок===&lt;br /&gt;
Некто заходит на страницу списка подписок на программы.&lt;br /&gt;
Содержание списка зависит от полномочий пользователя и того, откуда он пришел.&lt;br /&gt;
Нажимает на ссылку создать подписку. Отрывается окно создания подписки. Поля ввода заполнены значениями по умолчанию для новой подписки.&lt;br /&gt;
Нажимает на ссылку редактировать подписку. Отрывается окно создания подписки, поля ввода которого заполнены значениями редактируемой подписки.&lt;br /&gt;
&lt;br /&gt;
===Форма редактирования===&lt;br /&gt;
Пользователь видит форму создания подписки. Но он передумал, нажал кнопку &amp;quot;Отмена&amp;quot;. Попал на страницу списка подписок. &lt;br /&gt;
Или не передумал. Заполнил все поля формы, нажал на кнопку &amp;quot;Сохранить&amp;quot;. Если сохранение прошло успешно, то открывается страница просмотра только что созданной подписки. Если в процессе сохранения произошли ошибки, страница перегружается с сообщением об ошибке сохранения.&lt;br /&gt;
===Просмотр подписки===&lt;br /&gt;
Пользователь видит одну подписку на программу. Если права позволяют, то он видит и ссылку на редактирование этой подписки. Если нет - то не видит ее.&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2929</id>
		<title>Разработка:im/participants</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/participants&amp;diff=2929"/>
				<updated>2016-07-11T09:39:32Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: Новая страница: «{{Infobox_Plugin | name = participants | type = im }} =Участники учебного процесса= Панель управления участниками...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = participants&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
=Участники учебного процесса=&lt;br /&gt;
Панель управления участниками учебного процесса. Позволяет производить действия как над студентами, так и над сотрудниками.&lt;br /&gt;
&lt;br /&gt;
=Описание страниц=&lt;br /&gt;
==Точка входа в плагин (index.php)==&lt;br /&gt;
Данная страница является точкой входа в плагин и не предоставляет какого-либо уникального функционала.&lt;br /&gt;
В верхней части страницы отображены вкладки для перехода к отдельным панелям управления интерфейса.&lt;br /&gt;
&lt;br /&gt;
==Страница детального создания подписки на программу (create_programmsbc.php)==&lt;br /&gt;
Станица предоставляет интерфейс детального создания новой подписки на программу для студента (Интерфейс быстрого создания подписки находится в панели управления слушателями).&lt;br /&gt;
Интерфейс позволяет создать подписку как на основе существующего договора студента, так и для нового студента. &lt;br /&gt;
Процесс делится на 5 шагов, каждый новый этап подразумевает успешное прохождение предыдущих шагов.&lt;br /&gt;
* 1. Выбор договора на обучение по подписке(Если требуется создать договор, можно указать ФИО персоны. Можно также указать, что требуется создать новую персону для подписки).&lt;br /&gt;
[[Файл:participants_create_programmsbcs1.png|400]]&lt;br /&gt;
* 1.1 Если было выбрано создание новой персоны, на данном шаге отображается форма создания студента&lt;br /&gt;
[[Файл:participants_create_programmsbcs2.png|400]]&lt;br /&gt;
* 1.2 Если договор по подписке не был указан(также если создавалась новая персона), на данном шаге будет отображена форма создания договора на обучение&lt;br /&gt;
[[Файл:participants_create_programmsbcs3.png|400]]&lt;br /&gt;
* 1.2.1 Отображение формы с данными по пользователям договора(студент, законный представитель, куратор). Если в договоре было указано создание новых пользователей, например законного представителя, но этом шаге происходит их создание.&lt;br /&gt;
[[Файл:participants_create_programmsbcs4.png|400]]&lt;br /&gt;
* 2. Форма создания подписки на программу. В форму автоматически подставляются данные по договору на обучение.&lt;br /&gt;
[[Файл:participants_create_programmsbcs5.png|400]]&lt;br /&gt;
&lt;br /&gt;
==Импорт подписок на программы (students_import.php)==&lt;br /&gt;
==Панель управления слушателями (students.php)==&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
==API==&lt;br /&gt;
==Пользовательские истории==&lt;br /&gt;
===Список подписок===&lt;br /&gt;
Некто заходит на страницу списка подписок на программы.&lt;br /&gt;
Содержание списка зависит от полномочий пользователя и того, откуда он пришел.&lt;br /&gt;
Нажимает на ссылку создать подписку. Отрывается окно создания подписки. Поля ввода заполнены значениями по умолчанию для новой подписки.&lt;br /&gt;
Нажимает на ссылку редактировать подписку. Отрывается окно создания подписки, поля ввода которого заполнены значениями редактируемой подписки.&lt;br /&gt;
&lt;br /&gt;
===Форма редактирования===&lt;br /&gt;
Пользователь видит форму создания подписки. Но он передумал, нажал кнопку &amp;quot;Отмена&amp;quot;. Попал на страницу списка подписок. &lt;br /&gt;
Или не передумал. Заполнил все поля формы, нажал на кнопку &amp;quot;Сохранить&amp;quot;. Если сохранение прошло успешно, то открывается страница просмотра только что созданной подписки. Если в процессе сохранения произошли ошибки, страница перегружается с сообщением об ошибке сохранения.&lt;br /&gt;
===Просмотр подписки===&lt;br /&gt;
Пользователь видит одну подписку на программу. Если права позволяют, то он видит и ссылку на редактирование этой подписки. Если нет - то не видит ее.&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs5.png&amp;diff=2928</id>
		<title>Файл:Participants create programmsbcs5.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs5.png&amp;diff=2928"/>
				<updated>2016-07-11T09:36:52Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs4.png&amp;diff=2927</id>
		<title>Файл:Participants create programmsbcs4.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs4.png&amp;diff=2927"/>
				<updated>2016-07-11T09:36:51Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs3.png&amp;diff=2926</id>
		<title>Файл:Participants create programmsbcs3.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs3.png&amp;diff=2926"/>
				<updated>2016-07-11T09:36:46Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs2.png&amp;diff=2925</id>
		<title>Файл:Participants create programmsbcs2.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs2.png&amp;diff=2925"/>
				<updated>2016-07-11T09:36:43Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs1.png&amp;diff=2924</id>
		<title>Файл:Participants create programmsbcs1.png</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A4%D0%B0%D0%B9%D0%BB:Participants_create_programmsbcs1.png&amp;diff=2924"/>
				<updated>2016-07-11T09:36:29Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:lib/message.php&amp;diff=2913</id>
		<title>Разработка:lib/message.php</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:lib/message.php&amp;diff=2913"/>
				<updated>2016-01-25T13:14:00Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: /* Описание */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = core&lt;br /&gt;
| type = core&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
Класс потока сообщений Деканата&lt;br /&gt;
&lt;br /&gt;
Предназначен для формирования единого потока пользовательских сообщений. Позволяет вывести все сообщения, которые были получены в процессе обработки страницы, единым блоком.&lt;br /&gt;
&lt;br /&gt;
Отображение очереди сообщений не прерывает процесс отображения данных на странице.&lt;br /&gt;
&lt;br /&gt;
Вся очередь разделяется на 3 уровня: &lt;br /&gt;
* Массив ошибок - Все ошибки, которые требуется отобразить пользователю. Пример: Ошибка доступа к подразделению. &lt;br /&gt;
* Массив уведомлений - Нейтральные напоминания для пользователя. Пример: Напоминание о несоответствии часового пояса персоны с его подразделением или несоответствие нагрузки шаблонов расписания&lt;br /&gt;
* Массив сообщений - Пояснения для всех успешных событий в системе. Пример: Успешное сохранение данных о подразделении.&lt;br /&gt;
&lt;br /&gt;
За счет наличия большого количества CSS классов имеется возможность гибко настроить визуальную часть. В общем же случае поток приспособлен под стандартные сообщения Bootstrap.&lt;br /&gt;
&lt;br /&gt;
Поток автоматически выводится системой в шапке (Позиция секций top)&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
&lt;br /&gt;
====display($opt = array())====&lt;br /&gt;
Отображение потока сообщений для пользователя. &lt;br /&gt;
Имеет встроенную защиту от множественного вызова, которая не позволит отобразить поток сообщений несколько раз&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* $opt (array) - Дополнительные опции отображения потока сообщений&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Результат отображения потока&lt;br /&gt;
&lt;br /&gt;
====add($text, $type = 'notice')====&lt;br /&gt;
Добавление в поток.&lt;br /&gt;
&lt;br /&gt;
Выбрасывает исключение при попытке добавить неизвестный тип сообщения&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* $text (string) - Текст сообщения&lt;br /&gt;
* $type (string) - Тип сообщения (message, notice, error)&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (void)&lt;br /&gt;
&lt;br /&gt;
====errors_exists()====&lt;br /&gt;
Наличие ошибок в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие ошибок в очереди&lt;br /&gt;
&lt;br /&gt;
====notices_exists()====&lt;br /&gt;
Наличие уведомлений в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие уведомлений в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
====messages_exists()====&lt;br /&gt;
Наличие сообщений в очереди &lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие сообщений в очереди&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/departments&amp;diff=2909</id>
		<title>Разработка:im/departments</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:im/departments&amp;diff=2909"/>
				<updated>2015-12-28T14:37:09Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: &lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = departments&lt;br /&gt;
| type = im&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Подразделения ==&lt;br /&gt;
Интерфейс позволяет производить действия с подразделениями системы. Подразделения - отдельные элементы Деканата, которые позволяют разграничить работу с контингентом, установить собственные настройки плагинов и права пользователей. Под подразделениями можно понимать такие элементы, как Институты и их Филиалы, Факультеты и Отделы.&lt;br /&gt;
&lt;br /&gt;
=== Список подразделений ===&lt;br /&gt;
Подразделения выводятся списком, каждая строчка в котором отображает информацию о структурном подразделении. В левом верхнем углу экрана содержится ссылка на создание подразделения.&lt;br /&gt;
В зависимости от уровня прав, которыми располагает пользователь, становятся доступны функции создания, удаления и редактирования.&lt;br /&gt;
Интерфейс позволяет увидеть только подразделения текущего местонахождения пользователя( само подразделение и его прямые потомки ).&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
=== Форма сохранения подразделения ===&lt;br /&gt;
&lt;br /&gt;
Форма сохранения подразделения приспособлена под включение на любую страницу системы и работает с системой потока сообщений Деканата. &lt;br /&gt;
&lt;br /&gt;
'''Назначение полей:'''&lt;br /&gt;
* ''Название'' - Название подразделения. Обязательное поле.&lt;br /&gt;
* ''Код подразделения'' - Обязательное поле. Уникальное поле. Автоматически генерируется для новых подразделений, если не указано вручную(транслитерация первых 10 символов названия и  добавление случайного номера).&lt;br /&gt;
* ''Руководитель'' - Необязательное поле. Руководитель структурного подразделения. По-умолчанию не указан. Выбирается из списка существующих персон и несет исключительно информационную цель. Пользователь не получает никаких прав, став Руководителем.&lt;br /&gt;
* ''Вышестоящий отдел'' - Обязательное поле. Какому подразделению подчиняется данное подразделение. По умолчанию стоит подразделение текущего местоположения пользователя. Выбирается из списка существующих подразделений. &lt;br /&gt;
* ''Часовой пояс'' - Обязательное поле. Временная зона подразделения. Необходимо для правильного расчета времени при составлении расписания и др. действий в системе. Выбирается по шкале универсального координированного времени, UTC. По умолчанию время сервера. &lt;br /&gt;
&lt;br /&gt;
=== Карточка отдела ===&lt;br /&gt;
&lt;br /&gt;
Выводит всю информацию о структурном подразделении. Также выводит список всех дочерних подразделения данного подразделения в древовидной структуре.&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
&lt;br /&gt;
Методы интерфейса подразделений&lt;br /&gt;
&lt;br /&gt;
===== get_listing() =====&lt;br /&gt;
&lt;br /&gt;
''Параметры:''&lt;br /&gt;
* $limitfrom - с какой записи начинать вывод&lt;br /&gt;
* $limitnum - сколько записей выводить на одной странице&lt;br /&gt;
* $conds - Обьект, содержащий данные с условиями выборки, в формате ''поле_БД-&amp;gt;значение'' по умолчанию пустой массив&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (array) массив записей из базы, или false в случае ошибки&lt;br /&gt;
&lt;br /&gt;
=====showlist($list, $addvars, $options = [])=====&lt;br /&gt;
Возвращает HTML-код таблицы подразделений&lt;br /&gt;
&lt;br /&gt;
''Параметры:''&lt;br /&gt;
* (array) $list - Массив подразделений из справочника [[Разработка:storages/departments|departments]].&lt;br /&gt;
* (array) $addvars - Массив GET-параметров для передачи по ссылкам.&lt;br /&gt;
* (array) $options - Массив дополнительных параметров отображения&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (string) -  HTML-код таблицы подразделений&lt;br /&gt;
&lt;br /&gt;
===== show_id() =====&lt;br /&gt;
Возвращает HTML-код отображения информации об одном подразделении&lt;br /&gt;
&lt;br /&gt;
''Параметры:''&lt;br /&gt;
* $id - id записи в таблице [[Разработка:storages/departments|departments]]&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (string) - HTML-код или false в случае ошибки&lt;br /&gt;
&lt;br /&gt;
===== get_html_link($id, $withcode = false) =====&lt;br /&gt;
Возвращает HTML-код отображения информации об одном подразделении&lt;br /&gt;
&lt;br /&gt;
''Параметры:''&lt;br /&gt;
* (int)$id - ID записи в таблице [[Разработка:storages/departments|departments]]&lt;br /&gt;
* (bool)$withcode - Требуется код подразделения в названии ссылки&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (string) - HTML-строка со ссылкой на подразделение или пустая строка в случае ошибки&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	<entry>
		<id>http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:lib/message.php&amp;diff=2908</id>
		<title>Разработка:lib/message.php</title>
		<link rel="alternate" type="text/html" href="http://docs.deansoffice.ru/wiki/index.php?title=%D0%A0%D0%B0%D0%B7%D1%80%D0%B0%D0%B1%D0%BE%D1%82%D0%BA%D0%B0:lib/message.php&amp;diff=2908"/>
				<updated>2015-12-28T14:10:12Z</updated>
		
		<summary type="html">&lt;p&gt;Polikarpov: Новая страница: «{{Infobox_Plugin | name = core | type = core }}  == Описание == Класс потока сообщений Деканата  Предназначен для ...»&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;{{Infobox_Plugin&lt;br /&gt;
| name = core&lt;br /&gt;
| type = core&lt;br /&gt;
}}&lt;br /&gt;
&lt;br /&gt;
== Описание ==&lt;br /&gt;
Класс потока сообщений Деканата&lt;br /&gt;
&lt;br /&gt;
Предназначен для формирования единого потока пользовательских сообщений. Позволяет вывести все сообщения, которые были получены в процессе обработки страницы, единым блоком.&lt;br /&gt;
&lt;br /&gt;
Отображение очереди сообщений не прерывает процесс отображения данных на странице.&lt;br /&gt;
&lt;br /&gt;
Вся очередь разделяется на 3 уровня: &lt;br /&gt;
* Массив ошибок - Все ошибки, которые требуется отобразить пользователю. Пример: Ошибка доступа к подразделению. &lt;br /&gt;
* Массив уведомлений - Нейтральные напоминания для пользователя. Пример: Напоминание о несоответствии часового пояса персоны с его подразделением или несоответствие нагрузки шаблонов расписания&lt;br /&gt;
* Массив сообщений - Пояснения для всех успешных событий в системе. Пример: Успешное сохранение данных о подразделении.&lt;br /&gt;
&lt;br /&gt;
За счет наличия большого количества CSS классов имеется возможность гибко настроить визуальную часть. В общем же случае поток приспособлен под стандартные сообщения Bootstrap.&lt;br /&gt;
&lt;br /&gt;
== API ==&lt;br /&gt;
&lt;br /&gt;
====display($opt = array())====&lt;br /&gt;
Отображение потока сообщений для пользователя. &lt;br /&gt;
Имеет встроенную защиту от множественного вызова, которая не позволит отобразить поток сообщений несколько раз&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* $opt (array) - Дополнительные опции отображения потока сообщений&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Результат отображения потока&lt;br /&gt;
&lt;br /&gt;
====add($text, $type = 'notice')====&lt;br /&gt;
Добавление в поток.&lt;br /&gt;
&lt;br /&gt;
Выбрасывает исключение при попытке добавить неизвестный тип сообщения&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
* $text (string) - Текст сообщения&lt;br /&gt;
* $type (string) - Тип сообщения (message, notice, error)&lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (void)&lt;br /&gt;
&lt;br /&gt;
====errors_exists()====&lt;br /&gt;
Наличие ошибок в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие ошибок в очереди&lt;br /&gt;
&lt;br /&gt;
====notices_exists()====&lt;br /&gt;
Наличие уведомлений в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие уведомлений в очереди сообщений&lt;br /&gt;
&lt;br /&gt;
====messages_exists()====&lt;br /&gt;
Наличие сообщений в очереди &lt;br /&gt;
&lt;br /&gt;
''Аргументы:'' &lt;br /&gt;
&lt;br /&gt;
''Возвращаемые значения:''&lt;br /&gt;
* (bool) - true/false - Наличие сообщений в очереди&lt;/div&gt;</summary>
		<author><name>Polikarpov</name></author>	</entry>

	</feed>