Приложение 2.
HTML-код, настройки блоков данных и VBS-скрипты шаблона отчета "Положение о бизнес-процессе"
В HTML-коде шаблона отчета (см. табл. 1) одиночные записи данных представлены в виде идентификаторов заключенных в фигурные скобки, например {SINRECD000001BE00E7E0CD3C}, а блоки данных в виде кнопок <input>.
Табл. 1. HTML-код шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
|
<html> <head> <!-- Определение формата для заголовков разного уровня --> <style> h1 {font-family: Times New Roman; font-size: 16pt; font-weight: bold; text-align:center} h2 {font-family: Times New Roman; font-size: 14pt; font-weight: bold} h3 {font-family: Times New Roman; font-size: 12pt; font-weight: bold} </style> </head> <body> <p align=center><font size=5 face="times new roman"><b>Положение о бизнес-процессе<br><input name=1 value="данные из проекта" type=button></b></font></p> <h1>1.Общие положения</h1> <h2>1.1. Назначение и цели положения</h2> <p>Настоящее положение о бизнес-процессе (далее Положение) в организации {SINRECD000001BE00E7E0CD3C} (далее Организация) регламентирует распределение ответственности и внутренние взаимодействия структурных подразделений и должностных лиц при выполнении бизнес-процесса<input name=3 value="данные из проекта" type=button>.</p> <h2>1.2. Область применения положения</h2> <p>Настоящее положение должны знать и использовать в своей работе ответственные должностные лица и участники бизнес-процесса<input name=4 value="данные из проекта" type=button>, перечень которых приведен в следующих разделах.</p> <h2>1.3. Внутренние и внешние документы, регламентирующие бизнес-процесс</h2> <p>Бизнес-процесс регламентируется настоящим положением.</p> <h2>1.4. Ограничения применения положения</h2> <p>Настоящее положение описывает типовую схему исполнения бизнес-процесса<input name=6 value="данные из проекта" type=button>. При реализации нетиповых, сложных и новых вариантов процесса, а также при возникновении форс-мажорных ситуаций, схема реализации процесса, распределение ответственности и взаимодействие участников процесса, описанные в настоящем положении, могут быть скорректированы под конкретную ситуацию. В этих случаях корректировку инициирует ответственный за конкретную процедуру. В случае признания корректировки целесообразной, ее утверждает ответственный за процесс <input name=5 value="данные из проекта" type=button> .</p> <h1>2. Обзор бизнес-процесса</h1> <h2>2.1. Назначение и цели бизнес-процесса</h2> <p><input name=7 value="данные из проекта" type=button></p> <h2>2.2. Входные границы бизнес-процесса</h2> <p><input name=8 value="данные из проекта" type=button></p> <h2>2.3. Выходные границы бизнес-процесса</h2> <p><input name=9 value="данные из проекта" type=button></p> <h2>2.4. Ответственный за бизнес-процесс</h2> <p><input name=11 value="данные из проекта" type=button></p> <h2>2.5. Требования к результатам бизнес-процесса</h2> <p><input name=10 value="данные из проекта" type=button></p> <h1>3. Процедуры бизнес-процесса</h1> <p><input name=12 value="данные из проекта" type=button></p> <h1>4. Описание процедур бизнес-процесса</h1> <p><input name=15 value="данные из проекта" type=button></p> <h1>5. Ключевые показатели бизнес-процесса - KPI</h1> <p><input name=16 value="данные из проекта" type=button></p> <h1>6. Права и полномочия ответственного за бизнес-процесс</h1> <p>Ответственный за процесс - должностное лицо организации, наделенное правами и полномочиями, имеет в своем распоряжении персонал, инфраструктуру, программное и аппаратное обеспечение, информацию о бизнес-процессе, несет ответственность за бизнес-процесс во всех его аспектах - планирование, обеспечение, управление и улучшение процесса.</p> <p>Ответственный за процесс имеет право:</p> <ul> <li>выставлять требования к входам своего процесса и их показателям; <li>проводить предупреждающие и корректирующие мероприятия для управления процессом, а также планируемые мероприятия для его улучшения; <li>запрашивать ресурсы для обеспечения процесса, проведения корректирующих/предупреждающих мероприятий, а также для мероприятий по улучшению процесса; <li>разрабатывать и вносить изменения в управляющую документацию процесса. </li></ul> <p>Основная обязанность ответственного за процесс - контроль результата (выхода) процесса. </p> <h1>7. Контроль и ответственность</h1> <h2>7.1. Процедура контроля исполнения настоящего положения</h2> <p>Контроль исполнения настоящего положения возложен на ответственного за процесс. В связи с этим, ответственный обязан на регулярной основе проводить соответствующие проверки и в случае выявления нарушений принимать меры по их устранению.</p> <h2>7.2. Ответственность должностных лиц за соблюдение настоящего положения</h2> <p>Все должностные лица, участвующие в бизнес-процессе несут полную ответственность за соблюдение настоящего положения. В случае систематического нарушения настоящего положения к должностному лицу могут быть применены меры административного взыскания, определенные в "Положении о системе мер поощрения и взыскания".</p> <h1>8. Порядок внесения изменений в положение</h1> <p>Изменения в настоящее положения вносятся ответственным за бизнес-процесс, и утверждаются генеральным директором. Утвержденное новое положение доводится ответственным до всех должностных лиц участвующих в бизнес-процессе под роспись.</p> <h1>9. Приложения</h1> <h2>9.1. Диаграмма бизнес-процесса</h2> <p align=center><input name=21 value="данные из проекта" type=button></p></body></html> |
Далее представлены настройки блоков данных и VBS-скрипты шаблона отчета.
Блоки данных 1, 2, 3 и 4 шаблона отчета (см. рис. 1) являются одинаковыми и включают номер и название бизнес-процесса для которого формируется отчет "Положение о бизнес-процессе".
Рис. 1. Настройки блоков данных 1, 2, 3 и 4 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
Блоки данных 5 и 11 (см. табл. 2) шаблона отчета содержат VBS-скрипт, который обращается к матрице распределения ответственности и определяет ответственного за бизнес-процесс. По тексту нижеприведенного кода VBS-скрипта приведены подробные комментарии.
Табл. 2. Код VBS-скрипта блоков данных 5 и 11 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
|
'Процедура вывода ответственного за бизнес-процесс . 'Возвращает текст в отчет. 'В параметре StartItemID передается выбранный элемент базового классификатора отчета. Function PrepareData(StartItemID) 'Инициализация объектов и переменных Set BprOrgMatrix = Document.itemByName("(01) Бизнес-процессы <> Организационная структура").matrix procID = StartItemID 'Ответственный за процедуру. Может так получиться, что их несколько, поэтому собираем строку через точку с запятой в цикле. worker = "" orgCount = BprOrgMatrix.cellCount(procID) 'Цикл по всем элементам классификатора Оргструктура 'имеющим связь в матрице (01) Бизнес-процессы <> Организационная структура для бизнес-процесса For orgIndex = 0 To orgCount - 1 orgID = BprOrgMatrix.secondClassificatorID(procID, orgIndex) s = BprOrgMatrix.attributeValueString(procID, orgID, "Роль в процессе") 'Выбираем только ответсвенных за процесс If InStr(1, s, "Ответственный за процесс", 1) = 1 Then If Len(worker) > 0 Then worker = worker + "; " worker = worker + Document.itemById(orgID).itemName End If Next PrepareData = worker End Function |
Блоки данных 7, 8, 9 и 10 (см. рис. 2) шаблона отчета похожи, отличаются только разными атрибутами бизнес-процесса, выбранными в разделе "Поля классификатора".
Рис. 2. Настройки блоков данных 7, 8, 9 и 10 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
Блок данных 12 (см. рис. 3) шаблона отчета выводит в табличном виде коды и названия процедур бизнес-процесса.
Рис. 3. Настройки блока данных 12 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
Блок данных 15 (см. табл. 3) шаблона отчета содержит VBS-скрипт, который выводит информацию о процедурах бизнес-процесса. По тексту нижеприведенного кода VBS-скрипта приведены подробные комментарии.
Табл. 3. Код VBS-скрипта блока данных 15 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
|
'Процедура вывода информации о процедурах бизнес-процесса. 'Возвращает HTML-текст в отчет. 'В параметре StartItemID передается выбранный элемент базового классификатора отчета. function PrepareData(StartItemID) 'Инициализация объектов и переменных set BprOrgMatrix=Document.itemByName("(01) Бизнес-процессы <> Организационная структура").matrix set PodDolMatrix=document.ItemByName("(07) Подразделения <> Должности").matrix set item=Document.itemByID(startItemID) procCount=item.childCount 'Определение количества процедур процесса. result="" 'Цикл по всем процедурам процесса. for procIndex=0 to procCount-1 set procItem=item.childs(procIndex) procID=procItem.thisID 'Номер и название процедуры. Подставляем 4., так как выводим данные в четвертый раздел отчета. result=result+"<H2>4."+CStr(procIndex+1)+". "+procItem.itemName+"</H2>" 'Код процедуры процесса result=result+"<H3>Код процедуры:</H3><P>"+Document.Numeration(procID,0)+"</P>" 'Ответственный за процедуру. Может так получиться, что их несколько, поэтому собираем строку через точку с запятой в цикле. worker="" orgCount=BprOrgMatrix.cellCount(procID) 'Цикл по всем элементам классификатора Оргструктура 'имеющим связь в матрице (01) Бизнес-процессы <> Организационная структура для бизнес-процесса for orgIndex=0 to orgCount-1 orgID=BprOrgMatrix.secondClassificatorID(procID,orgIndex) s=BprOrgMatrix.attributeValueString(procID,orgID,"Роль в процессе") 'Выбираем только ответсвенных за процесс if InStr(1,s,"Ответственный за процесс",1)=1 then if Len(worker)>0 then worker=worker+"; " worker=worker+Document.itemById(orgID).itemName end if next result=result+"<H3>Ответственный за процедуру:</H3><P class=msonospacing>"+worker+"</P>" 'Участники процедуры в виде списка result=result+"<H3>Участники процедуры:</H3>" result=result+"<UL>" for orgIndex=0 to orgCount-1 orgID=BprOrgMatrix.secondClassificatorID(procID,orgIndex) s=BprOrgMatrix.attributeValueString(procID,orgID,"Роль в процессе") 'Выбираем всех кроме ответственного за процесс if InStr(1,s,"Ответственный за процесс",1)=0 then result=result+"<LI>"+Document.itemById(orgID).itemName+Helper.Break end if next result=result+"</LI></UL>" 'Входы процедуры result=result+"<H3>Входные границы процедур:</H3><P>"+procItem.AttributeValueString("Входные границы процесса")+"</P>" 'Выходы процедуры result=result+"<H3>Выходные границы процедуры:</H3><P>"+procItem.AttributeValueString("Выходные границы процесса")+"</P>" 'Описание процедуры result=result+"<H3>Описание процедуры:</H3><P>"+procItem.AttributeValueString("Описание процесса")+"</P>" 'Требования к результатам процедуры result=result+"<H3>Требования к результатам процедуры:</H3><P>"+procItem.AttributeValueString("Требования к результатам процесса")+"</P>" next PrepareData=result End function |
Блок данных 16 (см. рис. 4) шаблона отчета выводит в табличном виде информацию о ключевых показателях (KPI) бизнес-процесса.
Рис. 4. Настройки блока данных 16 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер
Блок данных 21 (см. рис. 5) шаблона отчета выводит разработанную графическую диаграмму бизнес-процесса.
Рис. 5. Настройки блока данных 21 шаблона отчета "Положение о бизнес-процессе", разработанного в Бизнес-инженер