====== Процедуры ======
===== Что такое "процедура" =====
Процедура -- это ссылка на создание объекта, у которого уже есть минимальные //предварительные настройки.//
Преимущество процедуры в том, что её можно вывести в вертикальное меню на рабочий стол пользователя и добавить заполненный [[product:requisites:requisite-class|реквизит-классификатор]].
{{ :product:modules:module_0.png?nolink |}}
**Рисунок 1** -- Роль процедур в системе
В процедуры можно включить как кастомизированные, так и системный объект "Дискуссия".
Нужно, чтобы пользователи по определённым правилам заполняли форму для заявки на подбор персонала в компании. \\
Реализуйте это с помощью дискуссии, которая:
* прикрепляется к определённому объекту в системе;
* в дискуссию уже включен специалист HR.
[[product/modules/binding|Выведите кнопку]] "Подать заявку на подбор" на [[product/modules/new_module|модуль]] "Персонал" для [[product:auth:admin:group|группы]] "Руководители".
Нужно, чтобы телемаркетинг создавал задачу на продавца с данными по новому лиду.
Реализуйте это с помощью [[product:objects:admin:new_object|объекта с видом "Задача"]], который:
* будет вложен в определённую директорию;
* специфичный тип объекта выбран => телемаркетолог заполнит те реквизиты, которые нужны для последующей работы.
[[product/modules/binding|Выведите кнопку]] "Обработать лид" на [[product/modules/new_module|модуль]] "Продажи" для [[product:auth:admin:group|группы]] "Продавцы".
Что именно можно //преднастроить// в процедуре:
* место сохранения объекта -- к какому [[product:objects|объекту]] [[product:objects:object_tree|дерева проектов]] он будет относиться;
* для объектов -- их [[product:objects:admin:interfaces|тип]];
* список [[product:discussion_old:actions|участников дискуссии]] -- для дискуссий((т.н. [[product:discussion_old:routing|маршрутизация дискуссий]])).
===== Как создать процедуру =====
Администрирование -> Общие настройки -> Модули и процедуры -> Портлет "Процедуры" -> ''Добавить процедуру''.
Заполните поля:
* ''Название'' -- системное название процедуры; название для пользователя может отличаться;
* ''Описание'' -- опционально;
* ''Иконка'' -- опционально, отображается только в интерфейсе настройки модулей и процедур;
* ''Объект'' -- выберите, какого типа объект должен создаваться;
* ''Место сохранения'' -- в какой объект системы будет вкладываться этот объект при создании.
{{ :product:modules:module_2.png?nolink |}}
**Рисунок 2** -- Свойства процедуры
==== Процедура для объекта с определённым типом ====
Если объект, который вы выбрали, содержит хотя бы один [[product:requisites:requisite-class|реквизит-классификатор]], то появится **еще два поля при создании процедуры:**
* ''Реквизит-классификатор'' -- выберите значения какого реквизита-классификатора должны автоматически подставляться в объект;
* ''Значение реквизита'' -- выберите значение, которое должно быть в объекте после создания по умолчанию.
{{ :product:modules:module_3.png?nolink |}}
**Рисунок 3** -- Свойства процедуры для объекта с [[product:requisites:requisite-class|реквизитом-классификатором]]
===== Процедура для создания дискуссий =====
//С преднастроенным списком пользователей, приглашенных к обсуждению.//
- Добавьте к типу объектов "Дискуссия" [[product:requisites:requisite-class|реквизит-классификатор]]. (Администрирование -> Объекты -> Дискуссия -> портлет "Реквизиты" -> Добавить -> выберите нужный реквизит-классификатор)
- Сделайте его [[product:objects:admin:conditional_requisite|условным]].
- Пропишите условия -- кто должен быть добавлен в дискуссию при том или ином выборе. \\ {{ :product:modules:module_5.png?nolink |}} \\ **Рисунок 4** -- Страница параметров объекта «Дискуссия»
- Создайте новую процедуру: Администрирование -> Общие настройки -> Модули и процедуры -> портлет "Процедуры" -> Добавить
- В поле ''Объект'' выберите "Дискуссия".
- Выберите нужный реквизит классификатор и его значение.
- Выберите место для сохранения
- Сохраните процедуру и [[product/modules/binding|добавьте её в модуль]]. \\ {{ :product:modules:module_4.png?nolink |}} \\ **Рисунок 4** -- Свойства процедуры для дискуссии
При вызове такой процедуры будет создана дискуссия, в которую уже будут приглашены нужные участники и которая будет сохранена в нужном месте.