This is the documentation for older versions of Odoo (formerly OpenERP).

See the new Odoo user documentation.

See the new Odoo technical documentation.

Рабочие циклы и пользовательские процессы

Рабочие циклы используются для определения поведения данного документа. Они используются разработчиками и специалистами по внедрению системы для определения, какой объект должен исполнять какие действия и в какой момент времени. Это главным образом технические процессы, определенные в вертикальном направлении жизненного цикла полного объекта (представленного в виде документа). Изменение рабочего цикла будет иметь прямое влияние на поведение программной системы в ответ на действия пользователя. Вы обрабатываете здесь все возможные исключительные ситуации, так что программное обеспечение является устойчивым.

/doc_static/5.0/_images/process_sale_workflow.png

Пример рабочего цикла, обрабатывающего пользовательский заказ

В отличие от обычных рабочих циклов, пользовательские процессы представляют собой рабочие циклы по всей компании и ее документам. Они используются конечными пользователями для поиска действий для более полной обработки. Изменение пользовательских процессов не оказывает действие на программное обеспечение, но покажет пользователю другой путь в работе над данной проблемой.

/doc_static/5.0/_images/process_sale_process.png

Пример процесса обработки клиентского заказа

Процессы используются конечными пользователями, чтобы помочь им понять проблемы, которые не были обработаны в OpenERP. Вы можете встретить действия, которые не оказывают влияние на программу, такие как «Позвонить клиенту и поблагодарить его», и «Послать клиенту факс для подтверждения». Кроме оказания помощи пользователям, процесс предоставляет такие функции, как:

  • интеграция с системой помощи OpenERP и руководством компании по качеству,

  • указание на пользовательское меню для поиска конкретного документа.

/doc_static/5.0/_images/process_cross_worfklow_process.png

Взаимоотношения между рабочим циклом и пользовательским процессом

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

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

В данной главе вы будете работать только с редактором процессов. Если вы хотите протестировать редактор рабочих циклов, нажмите на ссылку внизу слева документа и выберите меню [Кастомизация ‣ Управление рабочими циклами] (Customize ‣ Manage Workflows). OpenERP откроет графический редактор, позволяющий изменить рабочий цикл для выбранного типа документов.

/doc_static/5.0/_images/process_workflow_editor.png

Редактор рабочего цикла, изменяющий поведение счетов

Редактор рабочего цикла был доступен только в веб-клиенте OpenERP во время написания настоящего документа. Если вы используете клиент GTK, вы можете воспользоваться меню в [Администрирование ‣ Объекты низкого уровня ‣ Элементы рабочего цикла] (Administration ‣ Low Level Objects ‣ Workflow Items). Здесь это реализовано не в графическом виде, а в текстовом.

Эффективное использование процессов

Вне зависимости от того, на каком экране OpenERP вы находитесь, вы можете вызвать процесс текущего документа путем нажатия значка Процесс (Process). В зависимости от документа, может иметься несколько процессов, определенных с его использованием, в этом случае OpenERP попросит вас выбрать, какой из процессов имеется в виду.

Например, если вы находитесь на форме встречи, OpenERP попросит вас выбрать процесс из списка процессов, которые используют эту форму:

  • процессы отбора и введения в курс дела новых сотрудников,

  • отслеживания клиентских заказов в пред-продажах,

  • процессы посещения клиентов и обработки расходов.

/doc_static/5.0/_images/process_screen.png

Кнопка для ввода пользовательского процесса на форме

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

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

/doc_static/5.0/_images/process_subflow_icon.png

Состояние, которое ссылается на другой рабочий цикл

Наконец, вы можете поместить курсор мыши на короткое время на линию преобразования (hover over a transition) для вывода всплывающей подсказки об этом преобразовании. OpenERP покажет вам:

  • Описание преобразования,

  • Действия, которые вы можете совершить на данном шаге,

  • Роли, которые требуются, чтобы что-то произошло на данном шаге.

/doc_static/5.0/_images/process_transition.png

Описание перехода в рабочем цикле

Если вы нажмете на переход, OpenERP откроет диалоговое окно с кнопками, которые позволят изменить состояние документа. Это те же самые кнопки, которые выведены на форме активного документа. Они позволяют вам подтвердить заказ напрямую из процесса и увидеть последовательность действий на макроуровне в реальном времени.

Определение вашего собственного процесса

Для определения нового или модификации существующего процесса воспользуйтесь меню, расположенными в [Администрирование ‣ Кастомизация ‣ Процессы предприятия] (Administration ‣ Customization ‣ Enterprise Processes). При вводе процесса, OpenERP покажет вам список состояний, доступных для этого процесса.

/doc_static/5.0/_images/process_form.png

Форма для определения процесса

Вы можете добавить новое состояние или изменить существующее состояние. Состояние может быть ассоциировано с объектом (экземпляры которых представлены документами). Если это так, выберите его в качестве объекта. Вы можете установить выражение, которое показывает, может ли объект находиться в этом состоянии или нет. Выражение должно быть в формате Python. Например, для запроса цены выберите объект sale.order и задайте следующее выражение object.state == 'draft'.

Вы также можете сослаться на меню, так что пользователи могут изучить, какое меню использовать для доступа к к объекту в этом состоянии. Вы можете установить условия, при которых этот объект будет переходить в состояние, выделенное серым цветом, на второй вкладке Условия (Conditions). Эти выражения также вводятся в формате Python.

После того, как узел был определен, вы можете задать переходы, покидающие данный объект. Для каждого перехода вы можете:

  • Указать состояние при выбывании и при прибытии в узел назначения,

  • Дать список кнопок, которые запускают различные переходы в процессе,

  • Установить соответствие между переходами рабочего цикла и выбранным документом,

  • Поместить пояснения на различных языках.

/doc_static/5.0/_images/process_transition_form.png

Экран определения перехода процесса