Андрей Смирнов
Время чтения: ~23 мин.
Просмотров: 101

Практическая работа №8. Разработка Бизнес-процессов в 1С:Предприятие

В этой статье мы рассмотрим объекты «Бизнес-процессы» и «Задачи».

С одной стороны, подзадача по реализации бизнес-процессов является обязательной на Аттестации 1С:Специалист по платформе.

С другой стороны, во многих типовых решениях бизнес-процессы используются редко. Хотя фактически бизнес-процессов в конфигурациях автоматизировано множество, а сами эти объекты появились аж в 2004 году (с момента выхода «1С:Предприятие 8.0»).

Поэтому, чтобы понимать работу механизмов «Бизнес-процессов» и «Задач», недостаточно просто «подсмотреть в типовой». Возможности данных объектов нужно именно изучать.

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

Что такое бизнес-процессы в 1С

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

Примеры бизнес-процессов: производство вентиляторов, допродажа товаров клиента, подбор сотрудников и так далее. Причем часто бизнес-процессы можно детализировать. Например, в производстве продукции можно выделить такие бизнес-процессы, как закупка материалов, передача материалов в производство, движение материалов в производстве, выпуск продукции.

Для наглядной автоматизации бизнес-процессов в платформе «1С:Предприятие 8» существует объект «Бизнес-процесс». Он позволяет выстроить цепочку действий разных пользователей программы, которая приведет к определенному результату. Таким результатом может быть формирование отчетности, утверждение документа, заполнение карточки контрагента.

Объект «Бизнес-процесс» имеет графическое отображение, называемое картой маршрута. Это не что иное, как блок-схема, составленная из «кирпичиков»:

Элемент схемы Графическое представление Описание
Точка старта Начало бизнес-процесса, является обязательным
Стрелка Показывает последовательность переходов между точками
Точка действия Соответствует конкретному действию конкретного пользователя (или одного из пользователей с определенной ролью) в программе.
Точка условия Отвечает за проверку выполнения определенного условия, у которого может быть только 2 состояния: “Выполнено” или “Не выполнено”
Точка выбора варианта Дает возможность выбрать дальнейшие действия исходя из проверки условия, у которого может быть более двух состояний (аналог – Если-ИначеЕсли-…)
Точка разделения Соответствует моменту, начиная с которого разные пользователи должны выполнять разные действия параллельно и независимо друг от друга
Точка слияния Соответствует моменту, начиная с которого параллельные процессы вновь объединяются в один
Точка обработки Отвечает за выполнение определенного алгоритма системой
Точка вложенного бизнес-процесса Соответствует выполнению другого бизнес-процесса, который является составной частью текущего

Таблица 1

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

Вот пример бизнес-процесса «Закрытие месяца» из 1С:УПП, где встречаются практически все возможные элементы:

business-processes-pict01.pngРисунок 1

Продвижение по карте маршрута невозможно реализовать без вспомогательного объекта «Задача» – «двигателя» бизнес-процесса. В каждой точке действия создается одна или несколько задач, и когда все задачи текущей точки завершены, происходит переход к следующей точке карты маршрута.

Использование объектов «Бизнес-процесс» для пользователя похоже на работу с документами:

  • Разные бизнес-процессы соответствуют различным действиям в системе (продажа товара, закрытие месяца, согласование заказа, …). То есть объект «Бизнес-процесс» в конфигурации определяет вид операции.
  • При старте пользователем нового бизнес-процесса создается несколько экземпляров, например – продажа вентиляторов контрагенту А, продажа холодильников контрагенту Б и так далее. То есть пользователь создает любое количество объектов информационной базы для каждого бизнес-процесса.

Практический пример

Рассмотрим практический пример. Необходимо автоматизировать процесс приема сотрудника на работу из 3 последовательных этапов:

  1. Младший кадровик заполняет личные данные сотрудника.
  2. Старший кадровик оформляет приказ о приеме сотрудника в статусе «Проект».
  3. Расчетчик проводит приказ о приеме в статусе «Утвержден».

Каждый этап бизнес-процесса выполняет отдельный пользователь с нужными правами доступа.

Требуется отслеживать ход приема новых сотрудников, каждый пользователь должен видеть свои задачи.

В реальных задачах также нужно учитывать права доступа. Так, в описанной задаче за утверждение документов «Прием на работу» отвечает расчетчик. А при проведении документа в статусе «Утвержден» формируются движения по регистру сведений «Плановые начисления». То есть расчетчик должен иметь право записи в этот регистр.

Бизнес-процесс будем реализовывать в конфигурации, где уже имеются необходимые документы и справочники:

Рисунок 2

Выгрузку базы с этой конфигурацией можно скачать по ссылке в конце статьи.

Начнем с создания нового бизнес-процесса:

Рисунок 3

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

Изобразим карту маршрута бизнес-процесса для поставленной задачи:

Рисунок 4Рисунок 5

Привязку к исполнителям мы настроим позднее.

В точке условия нужно определить, работал ли принимаемый сотрудник в нашей организации ранее. Если это так, то в базе уже заведен нужный элемент справочника «Физические лица» и заполнены личные данные. Добавим в бизнес-процесс реквизит (тип Булево), который позже обработаем в точке условия (то есть считаем, что пользователь сам определяет при приеме – новый это сотрудник или нет):

Рисунок 6

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

Объект конфигурации «Задача»

За действие пользователя в каждой точке бизнес-процесса отвечает специальный объект «Задача». Он является вспомогательным объектом, но именно с его помощью выстраивается цепочка действий пользователей: в каждой точке действия карты маршрута создаются задачи для одного или нескольких пользователей. Пока текущий пользователь не завершил свою задачу (то есть не установил стандартный реквизит «Выполнена» в значение «Истина»), задачи следующей точки маршрута для других пользователей созданы не будут.

То есть именно при выполнении задач происходит движение бизнес-процесса по карте маршрута.

Для наглядности рассмотрим, как выглядит список задач в демонстрационной базе конфигурации «Документооборот 8 ПРОФ, редакция 2.1». При запуске программы от имени пользователя Федоров О.П. (директор) на начальной странице открывается список всех невыполненных задач пользователя:

Рисунок 7

Вернемся к нашей конфигурации, создадим новый объект:

Рисунок 8Отметим, что объект «Задача» может использоваться отдельно от объекта «Бизнес-процесс», но никак не наоборот. Используемая задача указывается в настройках бизнес-процесса в конфигураторе, и будет автоматически создаваться в пользовательском режиме при переходе на следующую точку маршрута.

Свяжем бизнес-процесс с задачей:

Рисунок 9Обратите внимание! Несмотря на то, что в разных точках бизнес-процесса могут создаваться и редактироваться различные объекты системы, тип создаваемых задач на каждом из этапов будет одинаковым. Например, для решаемой задачи будут создаваться элементы справочников “Физические лица” и “Сотрудники”, а также документы “Прием на работу”. При этом в каждой точке бизнес-процесса будут создаваться задачи “Задача исполнителя”.

Более того, в типовых решениях 1С («Документооборот», «Управление торговлей, ред. 11») в разных бизнес-процессах используется один и тот же тип задач, чаще всего он называется «Задача исполнителя». Это делается для того, чтобы пользователь мог видеть общий список своих задач, относящихся к разным видам бизнес-процессов, как в примере выше из «Документооборота».

Адресация задач

Объект «Задача» предоставляет возможность использования вспомогательного регистра сведений, который обеспечивает распределение задач по исполнителям. Этот регистр называется регистром адресации.

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

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

Поэтому для нашего примера создадим в регистре адресации 2 измерения:

Рисунок 10

Здесь используется справочник «Роли исполнителей», который имеет следующие предопределенные элементы:

Рисунок 11

Создадим у задачи реквизиты адресации тех же типов, что и измерения регистра сведений:

Рисунок 12

Укажем для задачи регистр адресации. Для реквизитов адресации задачи настроим соответствие измерениям выбранного регистра сведений:

Рисунок 13

Теперь в карте маршрута бизнес-процесса доступна настройка адресации. Укажем для каждой точки действия нужную роль исполнителя:

Рисунок 14

Чтобы обеспечить ветвление в точке условия, требуется обработчик проверки условия – функция в модуле объекта бизнес-процесса, которая возвращает значение Ложь или Истина. Создадим такой обработчик для точки маршрута ПовторныйПрием:

Рисунок 15


Процедура ПовторныйПриемПроверкаУсловия(ТочкаМаршрутаБизнесПроцесса, Результат) Результат =Не ЭтоПервичныйПрием;КонецПроцедуры</pre>

Чтобы знать, от имени какого пользователя запущен текущий сеанс, нам потребуется параметр сеанса. Создадим его:

Рисунок 16

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

Рисунок 17

Сделаем так, чтобы при запуске «1С:Предприятия» в параметр сеанса ТекущийПользователь подбиралось нужное значение из справочника «Пользователи». Соответствие будем устанавливать по имени, и если элемент справочника «Пользователи» с нужным именем не найден, то создадим его. Код функции УстановкаПараметровСеанса() в модуле сеанса:


Процедура УстановкаПараметровСеанса(ТребуемыеПараметры) ИмяПольз = ИмяПользователя(); ТекПользователь = Справочники.Пользователи.НайтиПоНаименованию(ИмяПольз,Истина);ЕслиНе ЗначениеЗаполнено(ТекПользователь)Тогда НовыйПользователь = Справочники.Пользователи.СоздатьЭлемент(); НовыйПользователь.Наименование = ИмяПольз; НовыйПользователь.Код = ИмяПольз; НовыйПользователь.Записать(); ТекПользователь = НовыйПользователь.Ссылка;КонецЕсли; ПараметрыСеанса.ТекущийПользователь = ТекПользователь;КонецПроцедуры</pre>

После того, как все нужные элементы справочника «Пользователи» будут созданы, заполним регистр адресации в режиме «1С:Предприятие»:

Рисунок 18Обратите внимание! Настройка адресации бизнес-процесса с использованием справочника (в нашем случае это справочник «Роли исполнителей») подразумевает использование предопределенных элементов этого справочника, только они доступны для выбора в точке действия бизнес-процесса.

Отображение задач по исполнителям

Теперь поработаем над формой списка задач. Конечно, пользователю хотелось бы, чтобы по умолчанию в списке задач отображались только его задачи. Для этого создадим форму списка задачи «Задача исполнителя» и в настройках основного реквизита Список поменяем основную таблицу на Задача.ЗадачаИсполнителя.ЗадачиПоИсполнителю:

Рисунок 19

Также можно оставить только еще не выполненные задачи, добавив в настройку списка соответствующий отбор:

Рисунок 20

Теперь уже можно попробовать создать экземпляр бизнес-процесса, задачи будут создаваться у нужных пользователей. Для этого под любым пользователем, имеющим права на запись бизнес-процесса «Прием нового сотрудника» (например, под Ивановой А.И.), из раздела «Кадровый учет → Прием нового сотрудника» создаем новый экземпляр бизнес-процесса и стартуем его:

Рисунок 21Рисунок 22

После этого у пользователя Петрова В.П. в списке задач (Кадровый учет → Задача исполнителя) появится новая задача:

Рисунок 23

Визуализация хода бизнес-процесса

Пока функциональность нашей разработки почти на нуле – только формируются задачи и пользователи вручную отмечают их исполнение.

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

Рисунок 24

Затем в модуле формы бизнес-процесса создадим процедуру ОбновитьКартуМаршрута:


&НаСервереПроцедура ОбновитьКартуМаршрута() ОбъектБП = РеквизитФормыВЗначение(«Объект»); КартаБП = ОбъектБП.ПолучитьКартуМаршрута();КонецПроцедуры</pre>

Вызовем эту процедуру в обработчике события ПриЧтенииНаСервере формы бизнес-процесса:


&НаСервереПроцедура ПриЧтенииНаСервере(ТекущийОбъект) ОбновитьКартуМаршрута();КонецПроцедуры</pre>

После этого при открытии формы бизнес-процесса на карте маршрута будет отмечаться текущее положение:

Рисунок 25Мы используем обработчик ПриЧтенииНаСервере, т.к. он вызывается самым первым в процессе открытия управляемой формы объекта и выполняется только для уже записанных объектов.

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

Сделаем так, чтобы при нажатии кнопки «Старт» на форме бизнес-процесса карта маршрута обновлялась. Для этого вызовем ту же процедуру ОбновитьКартуМаршрута в обработчике ПослеЗаписиНаСервере:


&НаСервереПроцедура ПослеЗаписиНаСервере(ТекущийОбъект, ПараметрыЗаписи) ОбновитьКартуМаршрута();КонецПроцедуры</pre>

В таком виде задача может считаться решенной в рамках подготовки к экзамену «1С:Специалист» по платформе. Но мы пойдем немного дальше.

События задач и точек действия бизнес-процессов

Для начала добавим автоматическую запись исполнителя в задачу при ее выполнении, чтобы в будущем можно было отследить, кем именно она была выполнена. Ведь младших кадровиков может быть несколько – баба Нюра и баба Катя. До момента выполнения задачи она будет отображаться в списках всех потенциальных исполнителей.

Итак, добавим в модуль объекта ЗадачаИсполнителя стандартный обработчик ПередВыполнением со следующим кодом:


Процедура ПередВыполнением(Отказ) Исполнитель = ПараметрыСеанса.ТекущийПользователь;КонецПроцедуры</pre>

Теперь добавим в бизнес-процесс реквизиты, которые позволят хранить информацию о выполняемых действиях:

Рисунок 26

Поработаем и с задачей. Выведем на форму задачи ссылку на родительский бизнес-процесс и его реквизиты:

Рисунок 27

В наименовании задачи было бы неплохо видеть не только название точки маршрута, но и ФИО человека, которого требуется принять на работу. Для этого в модуле объекта бизнес-процесса определим процедуру УстановитьНаименованиеЗадачи, и будем вызывать ее при создании задач:


Процедура УстановитьНаименованиеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) Задача.Наименование = ТочкаМаршрутаБизнесПроцесса.НаименованиеЗадачи +» «+ СокрЛП(ФизЛицо.Наименование);КонецПроцедурыПроцедура ОбщаяПриСозданииЗадач(ТочкаМаршрутаБизнесПроцесса, ФормируемыеЗадачи, Отказ)Длякаждого НоваяЗадача Из ФормируемыеЗадачи Цикл УстановитьНаименованиеЗадачи(ТочкаМаршрутаБизнесПроцесса, НоваяЗадача);КонецЦикла;КонецПроцедуры</pre>

Процедуру ОбщаяПриСозданииЗадач привяжем к каждой точке маршрута бизнес-процесса. Это можно сделать через карту маршрута:

Рисунок 28

На каждой точке маршрута можно задавать отдельные обработчики событий, если требуется выполнять различные действия. На этапе выполнения задачи добавим контроль над пользователем со стороны системы: не будем позволять отмечать задачу как выполненную, если необходимые данные не внесены. Для этого в модуль объекта бизнес-процесса добавим функцию ПроверитьВыполнениеЗадачи, которую будем вызывать в обработчике ОбщаяПередВыполнением в каждой точке маршрута (привязка осуществляется также через карту маршрута):


Функция ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача) БП = Задача.БизнесПроцесс; Результат =Ложь;Если ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПервичныхДанныхФизлица ТогдаЕсли ЗначениеЗаполнено(БП.ФизЛицо)И ЗначениеЗаполнено(БП.Сотрудник)Тогда Результат = ЗначениеЗаполнено(БП.ФизЛицо.ДатаРождения)И ЗначениеЗаполнено(БП.ФизЛицо.Пол);КонецЕсли;ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.ВводПриемаНаРаботу Тогда Результат = ЗначениеЗаполнено(БП.ПриемНаРаботу);ИначеЕсли ТочкаМаршрутаБизнесПроцесса = БизнесПроцессы.ПриемНовогоСотрудника.ТочкиМаршрута.УтверждениеПриемаНаРаботу Тогда ДокПрием = БП.ПриемНаРаботу; Результат = ЗначениеЗаполнено(ДокПрием.Оклад)И ДокПрием.Статус = Перечисления.СтатусыДокументов.Утвержден;КонецЕсли;Возврат Результат;КонецФункцииПроцедура ОбщаяПередВыполнением(ТочкаМаршрутаБизнесПроцесса, Задача, Отказ)ЕслиНе ПроверитьВыполнениеЗадачи(ТочкаМаршрутаБизнесПроцесса, Задача)Тогда Сообщить(«Не выполнены действия, необходимые для выполнения задачи!», СтатусСообщения.Важное); Отказ =Истина;КонецЕсли;КонецПроцедуры</pre>

Готово, можно тестировать!

Подведем итоги

Мы описали только базовые приемы работы с бизнес-процессами и задачами в 1С:Предприятии 8.3. Как минимум, требуется добавить еще множество проверок введенных данных и «красивостей» на уровне форм.

Но цель статьи – показать, как можно использовать объекты системы при автоматизации бизнес-процессов.

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

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

Если эти темы Вам интересны, оставляйте комментарии – и мы продолжим освещать тему бизнес-процессов. 🙂

Об авторе

Barinova_Alina.jpg

Автор статьи – Алина Баринова

Консультант-разработчик, компания “Infosuite” (г. Москва)

E-mail: barinovaaa@yandex.ruFacebook: www.facebook.com/barinovaaa

Выгрузки ИБ и PDF-версия статьи для участников группы ВКонтакте

Мы ведем группу ВКонтакте – http://vk.com/kursypo1c.

Если Вы еще не вступили в нее – сделайте это сейчас, и в блоке ниже (на этой странице) появятся ссылки на скачивание материалов.

data-base.png

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

biznes-protsessyi-i-zadachi-v-1S.png

Объекты  Бизнес-процессы и Задачи очень тесно связаны между собой. Выполнение задачи представляет собой передвижение по маршруту бизнес-процесса. Рассмотрим процесс внедрения бизнес процессов в 1С подробнее.

Условие задачи Специалист по платформе по бизнес-процессам

spetsialist-po-platforme.png

Сотрудник               Подразделение                 Должность
Васина Бухгалтерия Кассир
Мишина Бухгалтерия Кассир
Мишина Бухгалтерия Бухгалтер
Кротов Бухгалтерия Бухгалтер
Иванов Бухгалтерия Гл. бухгалтер
Онопко Отдел закупок Начальник отдела
Петренко Отдел закупок Зам. начальника отдела
Бельдыев Отдел закупок Менеджер
Рахимов Отдел закупок Менеджер
Мансуров Отдел закупок Менеджер
Жупиков Отдел закупок Кладовщик
Сидоров Отдел закупок Кладовщик
Галкин Отдел продаж Менеджер
Палкин Отдел продаж Менеджер

Настройка бизнес процессов и задач в 1С 8.3

Первый шаг для настройки механизма бизнес-процесса в нашем примере — создание новых  объектов «Бизнес-процесс» и «Задача»:

nastroyka-biznes-protsessa-v-1S.png

Задача, можно сказать, «подчинена» бизнес-процессу.

Адресация бизнес процесса 1С 8.3

В задачах на вкладке Адресация необходимо задать основные параметры в механизме бизнес-процессов: Адресация,  Основной реквизит адресации,  Текущий исполнитель. А так же заполнить реквизиты адресации.

nastroyki-zadachi-1s.png

В поле Адресация задается регистр сведений, с помощью которого будет настроена адресация. В нашем примере это регистр сведений с измерениями: Исполнитель, Подразделение, Должность.

Получите 267 видеоуроков по 1С бесплатно:

Если Вам всё же не понятно, рекомендую следующее видео:

Если Вы начинаете изучать 1С программирование, рекомендуем наш бесплатный курс (не забудьте подписаться на YouTube — регулярно выходят новые видео):

К сожалению, мы физически не можем проконсультировать бесплатно всех желающих, но наша команда будет рада оказать услуги по внедрению и обслуживанию 1С. Более подробно о наших услугах можно узнать на странице Услуги 1С или просто позвоните по телефону +7 (499) 350 29 00. Мы работаем в Москве и области.

Оцените статью, пожалуйста!

⇐ ПредыдущаяСтр 19 из 23Следующая ⇒

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

· предоставить пользователю возможность в режиме 1С:Предприятия видеть текущее состояние бизнес-процесса на карте маршрута;

· подключить механизм автоматического создания задач при продвижении но карте маршрута бизнес-процесса;

· при запуске в режиме «1С:Предприятие» на рабочем столе необходимо отобразить список невыполненных .задач текущего пользователя. Кроме того, пользователь должен иметь возможность видеть полный список задач.

Логика решения не предполагает связи задач, порождаемых бизнес- процессом, с состоянием других объектов системы, например, задача «Заказ товара» никак не связана с документом «Заказ товара», более того, такой документ может вообще отсутствовать в конфигурации. Правильно реализованное решение задачи подразумевает возможность выполнения следующей последовательности действий пользователя в режиме 1 С: Предприятия:

· пользователь вручную осуществляет старт нового бизнес-процесса;

· в зависимости от карты маршрута стартовавшего бизнес-процесса автоматически должна быть создана соответствующая задача;

· выполнение созданной задачи приводит к созданию следующей задачи и так далее. Необходимо иметь в виду, что в зависимости от настройки карты маршрута, в каждой ее точке, может быть создана одна или несколько задач;

· после выполнения всех задач бизнес-процесс должен завершиться.

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

Задача. организуйте Бизнес-процесс для оплаты заказа поставщику и приемке товара.

image237.jpg

Сотрудник Подразделение Должность
Васина Бухгалтерия Кассир
Мишина Бухгалтерия Кассир
Мишина Бухгалтерия Бухгалтер
Кротов Бухгалтерия Бухгалтер
Онопко Отдел закупок Начальник отдела
Бельдыев Отдел закупок Менеджер
Рахимов Отдел закупок Менеджер
Мансуров Отдел закупок Менеджер
Мансуров Отдел закупок Кладовщик
Халиков Отдел закупок Кладовщик
Петров Отдел закупок Кладовщик

1. Запустим программу и подключим пустую информационную базу без конфигурации

2. Запустим через конфигуратор подключенную информационную базу

3. Подключим каркасную конфигурацию

4.  Преиндексировать данные и Перезапустить Конфигуратор

5. Включим панель Свойства. Переводим режим управления блокировкой данных каркасной конфигурации в значениеУправляемый.

image263.jpg

6. Находим в дереве конфигурации элемент Общие|Подсистемы, создаем подчиненную подсистему БизнесПроцессы (через правую клавишу мыши)

7. По условию задачи перед нами 3-мерная система адресации – «Сотрудник», «Подразделение», «Должность».

В каркасной конфигурации уже есть два подходящих справочника: ФизическиеЛица и Подразделения для измерений адресации «Сотрудник» и «Подразделение» соответственно. Создадим дополнительный справочникДолжности.

image273.jpg

8. Включим справочники ФизическиеЛица,Подразделения и Должности в подсистемуБизнесПроцессы.

image275.jpg

image277.jpg

9. Заполним справочники предопределенными значениями, согласно условию задачи:

Сотрудник Подразделение Должность
Васина Бухгалтерия Кассир
Мишина Бухгалтерия Кассир
Мишина Бухгалтерия Бухгалтер
Кротов Бухгалтерия Бухгалтер
Онопко Отдел закупок Начальник отдела
Бельдыев Отдел закупок Менеджер
Рахимов Отдел закупок Менеджер
Мансуров Отдел закупок Менеджер
Мансуров Отдел закупок Кладовщик
Халиков Отдел закупок Кладовщик
Петров Отдел закупок Кладовщик

image287.jpg

image289.jpg

10. С самого начала нужно произвести возможность авторизации пользователя в системе, чтобы система «знала», какой сотрудник зашел в базу. При начале работы системы, пользователь авторизуется средствами системы 1С:Предприятие, на основе введенных данных об авторизации, программно в модуль сеанса добавим процедуру ПриНачалеРаботы системы, в которой произведем поиск пользователя в справочнике ФизическиеЛица, и вПараметрСеанса запишем ссылку на физическое лицо, которое авторизовалось в базе.

Таким образом, устанавливается связь ПараметраСеанса со справочником ФизическиеЛица. Данные ПараметраСеанса нужны, чтоб фильтровать задачи бизнес процесса по конкретному исполнителю.

 А) Чтобы пользователь мог произвести авторизацию в системе, ему нужно назначить роль. Создадим роль администратора, добавим одноименный объект в элемент дерева конфигурации Роли.

При этом в меню Действия, устанавливаем все права (то есть создаем роль с правами администратора):

Б) Создав роль, нужно сохранить конфигурацию базы данных, (через меню Конфигурация ® Сохранить конфигурацию в файл,а потомКонфигурация ® загрузить конфигурацию из файла) — игнорируя ругательства платформы, что не все объекты «раскиданы» по подсистемам. Заходим в меню Администрирование| Пользователи,

и формируем пользователей, всех с созданной ролью права администратора (для экономии времени):

Для каждого устанавливаем доступную роль Администратор(для экономии времени):..

В) Теперь создаем параметр сеанса ТекущийИсполнитель (с типом Справочник.Ссылка.ФизическиеЛица), в параметре сеанса будет храниться ссылка на авторизовавшегося пользователя, который ищется в справочникеФизическиеЛица. Для этого в модуль сеанса пропишем:

 

image307.jpg

Процедура УстановкаПараметровСеанса(ТребуемыеПараметры)

ТекИсполнитель = Справочники.ФизическиеЛица.НайтиПоНаименованию(ИмяПользователя());

Если ТекИсполнитель.Пустая() Тогда

Сообщение = Новый СообщениеПользователю;

Сообщение.Текст = «Не найден сотрудник по наименованию «+ Строка(ИмяПользователя());

Сообщение.Сообщить();

Иначе

ПараметрыСеанса.ТекущийИсполнитель = ТекИсполнитель;

КонецЕсли;

КонецПроцедуры

11. Для того, чтобы система «знала», по каким правилам она должна производить адресацию к пользователям в бизнес-процессе для выполнения тех или иных задач, нужно создать регистр, в котором будут храниться правила адресации. В каркасной конфигурации уже есть нужный для этого регистр сведений РегистрАдресации.

image309.jpg

Поместим его в подсистему БизнесПроцессы и добавим в него ещё два дополнительных измерения: Подразделение, Должность с типом СправочникСсылка.Подразделения и СправочникСсылка.Должности соответственно.

image311.jpg

image313.jpg  
   
image315.jpg  
   

12. Запускаем отладку и заполняем РегистрАдресации в соответствии с условием задачи (по структуре бизнес-процесса):

13. Закрываем отладку, возвращаемся в конфигуратор и создаем новый объект Задача элемента дерева конфигурации Задачи. В представление списка укажем «Список задач».

14. Поместим её в подсистему БизнесПроцессы и в свойство «Адресация» установим созданный ранее регистр сведений РегистрАдресации

image325.jpg

, 15. Укажем системе, где искать текущего исполнителя, указав одноименный параметр сеанса, содержащий данные для отбора задач по сотруднику. Создадим реквизиты адресации, соответствующие измерениям регистра сведений: Исполнитель,Подразделение, Должность. При создании реквизита адресации, необходимо связать его измерение с соответствующим измерением регистра сведений (то есть, указываем системе, где в регистре сведений нужно искать значения реквизитов задачи бизнес-процесса).

image327.jpg

15. В основном реквизите адресации укажем исполнителя.

16. Создадим бизнес процесс и установим у него ссылку на созданную ранее задачу (свойство «Задачи»). Поместим объект БизнесПроцессов подсистему БизнесПроцессы.

image333.jpg

   

image336.jpg

17. Чтобы пользователь мог видеть ход выполнения бизнес процесса нужно создать форму бизнес процесса и вставить в неё ГрафическуюСхему.

image338.jpg

 А) При создании формы бизнес процесса, реквизит ВедущаяЗадача исключаем, в нашем случае он лишний.

image340.jpg

б) Добавим в форму реквизит КартаМаршрута, и укажем тип: ГрафическаяСхема. Перенесем реквизит КартаМаршрута в элементы формы (перетаскиванием ):

В) Добавим в Команды Формы команду ОбновитьКарту,

image346.jpg

Г) назначим ей действие следующего содержания:

image349.jpg

&НаКлиенте

Процедура ОбновитьКарту(Команда)

ОбновитьСхему();

КонецПроцедуры

&НаСервере

Процедура ОбновитьСхему()

БизнесПроцесс = РеквизитФормыВЗначение(«Объект»);

КартаМаршрута = БизнесПроцесс.ПолучитьКартуМаршрута();

КонецПроцедуры

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

ОбновитьСхему();

КонецПроцедуры

Д) Перенесем команду ОбновитьКарту в Командную панель формы (соседняя левая часть окна перетаскиванием) , на форме автоматически создастся одноименная кнопка, обновления данных на карте.

image351.jpg

е) Сгруппируем элементы формы, добавив две обычные Группы, с отображением как «Рамка группы». Номер и Дата добавим в Группа1, Стартован и Завершен в Группа2. В результате получим следующую форму, как на рисунке.

18. Переходим на закладку БизнесПроцесса «Прочее», осталось «нарисовать» саму карту маршрута бизнес процесса (это даже легче, чем делать схемы в Visio), назначая соответствующие должности и исполнителя для точек действия.

image353.jpg

18. Настроим интерфейс. Выберем подсистему Бизнес процессы в дереве конфигурации, и через правую кнопку мыши выберем пункт «Открыть командный интерфейс». Бизнес процесс и Список задач поместим в Панель навигации.Важное.

image355.jpg

19. В Панель навигации. См. также переместим Физические лица, Подразделения, Должности. В Панели навигации. Обычноеоставим Регистр адресации. В Панели действий. Создать установим возможность создания бизнес процесса.

20. Выберем корень дерева объектов конфигурации, вызовем контекстное меню и выберем пункт «Открыть рабочую область рабочего стола». Здесь по условию задачи нужно отобразить список невыполненных задач текущего пользователя. Для того, чтобы пользователь мог видеть список собственных задач, создадим специальную форму списка задач, уберем галочку «назначить основной», назовем форму как, ФормаСпискаПоИсполнителю, при этом установим дополнительно вывод на форму реквизитов Исполнитель,Подразделение, Должность:

image357.jpg

21. В свойствах динамического списка в качестве основной таблицы необходимо указать:

image363.jpg

22. Чтобы пользователь видел список невыполненных задач, в настройке списка необходимо указать Отбор:

image365.jpg

23. В модуле формы добавим процедуру:

&НаСервере

Процедура ПриСозданииНаСервере(Отказ, СтандартнаяОбработка)

Заголовок = «Список невыполненных задач по исполнителю: » +ПараметрыСеанса.ТекущийИсполнитель;

КонецПроцедуры

 24. Создав форму списка задач по исполнителю, выберем корень дерева объектов конфигурации, вызовем контекстное меню и выберем пункт «Открыть рабочую область рабочего стола», добавим в левую колонку созданную форму ФормаСпискаПоИсполнителю.

 25. Перейдем в свойства объекта Задача, на закладку «Формы» и убедимся, что ФормаСпискаПоИсполнителю не установлена формой по умолчанию!

Если это так, то нажмем крестик, таким образом, удалим из списка форм по умолчанию созданную форму. Это нужно, чтобы отображать на рабочем столе текущего пользователя только его список невыполненных задач. А для меню «Список задач» в «Панели Навигации.Важное» форма списка задач будет генерироваться системой автоматически, отображая тем самым по умолчанию задачи всех пользователей.

26. Сохраняем созданную конфигурацию (не как файл !!!!)

27. Запускаем 1С:Предприятие в режиме пользователя, создаем бизнес процесс, стартуем его, в списке задач создается задача «Заказ товара», выполняем задачу от имени менеджера, нажимаем в карте маршрутов кнопку «Обновить карту», видно как поэтапно реализуется созданный бизнес процесс, чтобы с рабочего стола выполнить задачу «Оплата поставщику», нужно зайти в базу под аккаунтом кассира (Васина, Мишина), так как в списке задач других должностей эта задача не будет видна, либо просто выполнить её можно в общем списке задач, итак, выполняем от имени кассира задачу «Оплата поставщику», нажимаем кнопку «Обновить карту», видим, что процесс перешел на этап «Приема товара». Закроем форму бизнес процесса, иначе она будет заблокирована, что нежелательно перед завершением бизнес процесса. Выполнив задачу «Прием товара», успешно завершаем бизнес процесс.

Отчет по лабораторной работе

1. Скриншоты выполнения бизнес процесса в режиме пользователя.

2. Каталог с Файлами конфигурации.

3.  Скриншоты бизнес-процесса, его маршрутная карта, все программные модули с кодами.

Дата добавления: 2018-04-04; просмотров: 533;

⇐ Предыдущая14151617181920212223Следующая ⇒Используемые источники:

  • https://xn—-1-bedvffifm4g.xn--p1ai/news/2017-03-02-business-processes-practice/
  • https://programmist1s.ru/biznes-protsessyi-i-zadachi-v-1s/
  • https://studopedia.net/3_22655_prakticheskaya-rabota—razrabotka-biznes-protsessov-v-spredpriyatie.html

</h4>

Рейтинг автора
5
Подборку подготовил
Максим Уваров
Наш эксперт
Написано статей
171
Ссылка на основную публикацию
Похожие публикации