ПАО «Корпорация ВСМПО-АВИСМА» - мировой лидер по производству титана, надежный партнер на мировом титановом рынке, первый поставщик титана для AIRBUS INDUSTRIE и второй - для компании BOEING.
В системе DIRECTUM зарегистрировано свыше 3000 пользователей. Внедрены базовые модули: «Канцелярия» и «Управление договорами». Разработано и внедрено несколько собственных модулей для автоматизации бизнес-процессов управления различными документами. В модуль "Оценка ключевых показателей эффективности" (КПЭ) вложено, пожалуй, больше всего сил, чтобы сделать его удобным для всех пользователей, которые с ним работают. Как следствие, достигается большая степень автоматизации действий пользователей.
Раз в месяц специалисты отдела мотивации и стимулирования труда собирают статистику по руководителям разного уровня о выполнении ими тех или иных производственных, финансовых и управленческих показателей. Раньше сбор этой статистики производился через рассылку Excel документа по электронной почте и дальнейшую ручную агрегацию поступающих данных.
Очевидны недостатки такого метода:
Перед нами стояли следующие задачи:
В дальнейшем, на основе этих данных формируется отчетность, которая, в конечном итоге влияет на премирование руководителей и работников корпорации.
Проанализировав требование заказчика, мы выбрали следующую концепцию реализации проекта:
Существует справочник оценок, в котором хранятся все данные. Он, с помощью выгрузки в Excel, позволяет собирать статистику и готовить отчеты. В дальнейшем запись этого справочника будет называться "оценка" или "показатель".
Руководителям для заполнения требуется предоставить специальный интерфейсный объект, который бы позволял удобно, в одном месте заполнить запрашиваемые данные по оценкам и просматривать заполненные оценки по себе и своим подчиненным. Так как задача периодичная и запрос на заполнение должен приходить раз в месяц, было решено выделить сущность "период оценки" и реализовать на ней интерфейс просмотра и заполнения данных. Запись этого справочника будет вложена в задания и при её открытии на форме будут отображаться данные, доступные текущему пользователю.
Администратор модуля раз в месяц формирует и направляет оценки для заполнения. Для этого ему требуется определить список ключевых показателей и кто кого по этим показателям будет оценивать. Это большая работа. На стадии проектирования количество оценок планировалось около 1500 в месяц. Но месяц от месяца набор оценок меняется незначительно. Поэтому, имеет смысл организовать место, где можно было бы завести шаблон всех оценок и каждый месяц с него формировать оценки. Таким местом стал справочник "Ключевые показатели эффективности".
Справочник "Оценка показателей эффективности" хранит или предоставляет всю информацию, необходимую для подведения статистики. Изначально он заполняется на основе данных из справочника "Ключевые показатели эффективности", а именно:
После начального заполнения ответственным и оценивающим рассылаются задания для заполнения полей "Фактическое значение" и "Фактическое значение (корректировка)". На основе этих данных автоматически рассчитываются значения реквизитов "% выполнения" и "% премии (факт)". В дальнейшем, по завершению сбора информации, проводится заседание балансовой комиссии, на котором могут вносится корректировки по выплачиваемому % премии, и после изменения вносятся администратором модуля в реквизит "% премии (балансовая)".
Автоматический расчет реквизитов "% премии (факт)" и "% выполнения" показателя производится не всегда пропорционально фактическому значению. Так как показатель может измеряться в самых разных величинах, то зависимость процента выполнения показателя от фактических величин может быть самой разной. Например, для показателя "Выполнение плана работ", измеряемого в %, требуется зависимость вида:
(Фактическое значение-Критическое значение/Плановое значение-Критическое значение) *доля премии%
А для показателя "Отсутствие претензий от Генерального директора по выполнению функционала", измеряемое в "Количестве претензий" зависимость формулируется так:
Если есть претензии, то доля премии 0%, если значение "0" то = доле премии
Различных вариантов таких зависимостей достаточно много. На текущий момент в справочнике заведено 25 расчетов выполнения. Можно было бы завести их в виде ISBL вычисления, но, формирование и сопровождение таких зависимостей - это зона ответственности заказчика - отдела мотивации и стимулирования труда. Давать им доступ к ISBL нельзя. Это чревато дырами в безопасности и невалидным кодом. Требуется нечто вроде формульного калькулятора, умеющего парсить строки с формулами. На помощь пришел компонент ScriptControl, который умеет выполнять VBS и JavaScript сценарии.
Теперь описание зависимостей выполняется на языке JavaScript с использованием подстановок переменных и выглядит так:
С помощью этих вычислений рассчитывается % выполнения показателя. Фактический % премии считается как произведение % выполнения и планового % премии.
У нас в корпорации структура подразделений и подчиненность между руководителями несколько отличаются. Так, например, в стандартном справочнике "Подразделения" нет возможности вести иерархию должностей и подразделений. У каждого директора в подчинении могут находиться, как подразделения, так и руководящие должности. И раньше эта информация в системе DIRECTUM никак не была отражена. В корпорации также действует информационная система "Кадры", которая является первоисточником этой информации.
Для того, чтобы дать возможность руководителям видеть показатели своих подчиненных, совместно с бюро разработки системы "Кадры и зарплата" был реализован справочник "Структура предприятия" и настроена интеграция между системами для его заполнения. Справочник хранит иерархическую структуру подчинения и содержит записи подразделений, дирекций и должностей руководителей. При смене руководителя в записи структуры предприятия для соответствующей должности меняется ссылка на работника.
В качестве оценивающих/корректирующих, ответственных за заполнение и оцениваемых могут быть выбраны только должности из справочника "Структура предприятия".
Небольшая часть структуры предприятия в виде иерархии.
По отношению к конкретной оценке, пользователи могут занимать одну или несколько ролей: "Администратор модуля", "Ответственный за заполнение", "Оценивающий/корректирующий", "Оцениваемый".
Администратор модуля имеет доступ ко всем оценкам. Он заполняет справочник "Ключевые показатели эффективности", "Период оценки" и генерирует записи в справочнике "Оценка показателей эффективности". Администратору модуля доступен на изменение реквизит "% премии (балансовая)", а также после контроля он устанавливает блокировку на оценку для запрета её изменения. Администратор модуля получает свои права через вхождение в группу "Редакторы модуля КПЭ". Администратор модуля не является администратором системы DIRECTUM.
Ответственный за заполнение получает права доступа к оценке, если он указан в ней в качестве ответственного. Он обязан заполнить поле "Фактическое значение" по показателям за отчетный период в рамках задания по типовому маршруту (ТМ).
Оценивающий/корректирующий получает свои права доступа к оценке, если он указан в ней в качестве оценивающего. Он может заполнить поля "Фактическое значение (корректировка)" и "Причина корректировки", а так же обязан предоставить информацию по показателям за отчетный период, если этого не сделал ответственный. Либо, заполнив корректировку фактического значения, он может повлиять на % премии оцениваемого.
Оцениваемый может просматривать оценки, где он сам или его подчиненные указаны в качестве оцениваемых.
Случается так, что заполнение тех или иных показателей руководитель поручает своим подчиненным, например, секретарю. Для таких случаев предусмотрен справочник "Дублеры по оценке показателей эффективности".
В поле "Должность" выбирается запись из справочника "Структура предприятия", права и роли которой нужно делегировать. В поле "Дублер" указывается работник, кому делегируются эти права. Этот справочник заполняется администратором модуля и учитывается при проверке прав и ролей на оценки показателей эффективности. Через него дублер получает те же самые права, что и руководитель.
Помимо постоянных дублеров, работу могут выполнять замещающие, так как время от времени руководители находятся в отпуске или командировке. Факт замещения регистрируется в системе "Кадры". Совместно с бюро разработки системы "Кадры и зарплата" был реализован справочник "Кадровые замещения" и настроена интеграция между системами. В DIRECTUM по интеграции создаются записи о замещениях в справочнике "Кадровые замещения" и в системный справочник "Замещения" автоматически дублируется аналогичная запись.
Как и в случае с дублерами, пользователи через кадровые замещения получают права и роли для заполнения оценок замещаемого, а через системный справочник замещений права на его задания. Благодаря этому механизму администратору модуля не требуется отслеживать замещения.
Интерфейс ввода данных.
При разработке модуля большое внимание было уделено удобству работы пользователей. Пользователи в модуле работают только с одним объектом - справочником "Период оценки", на форме которого реализован интерфейс для ввода значений показателей и просмотра доступных оценок.
Открыв карточку периода оценки, пользователь увидит на вкладке "КПЭ для оценки" список показателей для заполнения. Показатели сгруппированы по оцениваемому. Если текущий пользователь на конкретный показатель имеет роль "Ответственный за заполнение", то он подсвечивается желтым цветом, а для заполнения доступно поле "Фактическое значение". Если пользователь имеет роль "Оценивающий/корректирующий" по отношению к показателю, то показатель подсвечивается оранжевым цветом и для заполнения доступны поля "Фактическое значение (корректировка)" и "Причина корректировки". В случае заполнения корректировки отличной от фактического значения обязательно нужно указать причину корректировки.
При заполнении фактических значений, введенная информация автоматически сохраняется в справочнике "Оценка показателей эффективности", при этом пересчитывается реквизит "% премии (факт)" и на форме справочника "Период оценки" обновляется информация в соответствующих полях. Таким образом, пользователь сразу после ввода значения видит результат.
К каждой оценке пользователь может прикрепить сопроводительную документацию, обоснование или другой документ. Для документов предусмотрена отдельная колонка, в которой цветом пиктограммы отображается наличие документов, а число под пиктограммой показывает количество прикрепленных документов. При нажатии на пиктограмму вызывается окно выбора действия, с помощью которого можно завести новый документ, выбрать уже существующий в системе, отвязать документ от оценки и просмотреть весь список документов, прикрепленных к оценке.
На вкладке "Просмотр КПЭ" отображаются оценки показателей, где оценивающим указан текущий пользователь или его подчиненные.
Для администраторов модуля доступны все оценки с возможностью заполнения поля "% премии (балансовый)" и установкой блокировки на запись.
При просмотре оценок доступны фильтры по оцениваемому, ответственному за заполнение и оценивающему.
Фильтр по оцениваемым реализован в виде дерева по структуре предприятия с помощью JS библиотеки Dynatree.
Фильтр по ответственным за заполнение и оценивающим реализован в виде списка со строкой поиска с помощью JS библиотеки Chosen JS.
Существуют ситуации, когда в отчетности фигурирует один единственный показатель, но на деле это результат нескольких подчиненных показателей, объединенных одной темой. Подчиненные показатели могут иметь разные единицы измерения, разные алгоритмы расчета % премии, иметь разную долю в фактическом % премии итогового показателя, и заполнять их могут разные люди. Для учета и автоматизации таких ситуаций в модуле КПЭ был реализован механизм главных и подчиненных показателей.
В справочниках "Ключевые показатели эффективности" и "Оценки показателей эффективности" есть необязательный реквизит "Главный показатель", который заполняется ссылками на записи этих же справочников соответственно. Показатель считается подчиненным, если у него заполнен реквизит "Главный показатель". Главным считается показатель, если на него ссылаются другие показатели. Программно реализовано ограничение, где показатель не может быть одновременно и главным, и подчиненным. Тем самым, возможна двухуровневая иерархия показателей.
В отличие от обычных показателей, у главных не рассчитывается % выполнения и фактический % премии по формулам из справочника "Расчеты выполнения КПЭ". Фактический процент премии заполняется либо вручную оценивающим, либо автоматически расчетом на основе информации из подчиненных показателей.
При заполнении главного показателя доступны на просмотр подчиненные показатели, но при заполнении подчиненного показателя, пользователь может не иметь доступа к главному. У подчиненных показателей вложенная нумерация. Процент премии по подчиненным показателям не суммируется в строке "Итоги" на второй вкладке и не суммируется при подведении отчетности, однако влияет на фактический процент премии главного показателя.
Фактический процент премии главного показателя зависит от подчиненных показателей. Но, как и в случае с вычислением фактического процента премии обычных показателей, зависимости эти не всегда простые. Поэтому мы создали специальный механизм для автоматического расчета фактического % премии по главным показателям.
Логика вычисления суммы не всегда сводится к нахождению среднего значения % премии или её суммы по всем подчиненным. Нередко бывает, что, например, из всех подчиненных у двух нужно вычислить среднее значение фактического % премии и из результата вычесть фактическое значение третьего подчиненного показателя. Притом, количество подчиненных показателей не ограничено. Поэтому нужен способ идентификации подчиненных показателей. В справочники "Ключевые показатели эффективности" и "Оценка показателей эффективности" мы добавили строковый реквизит "Группа для подчиненных показателей". Заполняя этот реквизит, можно группировать и идентифицировать подчиненные показатели.
Для хранения расчетов разработан справочник "Расчеты главных показателей КПЭ", который по смыслу и виду похож на "Расчеты выполнения КПЭ". В справочниках "Ключевые показатели эффективности" и "Оценка показателей эффективности" существует реквизит "Расчеты главных показателей КПЭ", ссылающийся на справочник расчетов. Если заполнить его у главного показателя, то возможность заполнения фактического % премии будет отключена, но появится возможность его автоматического расчета.
Однако, в отличие от справочника "Расчеты выполнения КПЭ", правила формирования расчета используются другие. Тут по-прежнему используется язык JavaScript, но в расчете не применяется подстановка переменных. Но, за счет реализации в JS сценарии специальных функций и объектов, допустим синтаксис вида:
$("Б").Среднее("% премии (факт)")
Корректны так же следующие примеры:
г("основные").Среднее()
группа("Вычет").Сумма("% премии (план) - % премии (факт)")
Этот функционал позволяет производить вычисления над группами показателей и реализовать практически любую логику расчета главных показателей.
Заполнение фактических значений показателей ответственными и оценивающими - не единственный возможный источник данных. Часть из них можно получить отчетами из DIRECTUM, часть - из других информационных систем предприятия. Для того, чтобы не заполнять вручную те данные, которые уже можно получить в электронном виде, был разработан механизм расчетов интеграции.
Так, например, для показателей "Выполнение поручений Генерального директора" данные о выполнении можно взять из модуля "Канцелярия" на основе статистики по выполнению поручений за месяц.
Для этого разработан справочник "Расчеты интеграции КПЭ".
По кнопке "Вычисление" открывается редактор ISBL кода, в котором можно написать вычисление интеграции.
В табличной части указывается набор параметров интеграции. Определяется имя параметра, его тип, обязательность и дополнительные свойства.
Реквизит "Ежемесячно, число заполнения" - это число каждого месяца, в которое нужно выполнить интеграцию.
На форме справочника "Ключевые показатели эффективности" размещен реквизит, ссылающийся на справочник "Расчеты интеграции КПЭ". После заполнения этого реквизита становятся доступны кнопки "Параметры интеграции" и "Распространить". По кнопке "Параметры интеграции" можно заполнить параметры, запрашиваемые данной интеграцией.
По кнопке "Распространить" можно предварительно выбрав другие записи справочника "Ключевые показатели эффективности", заполнить параметры интеграции и расчет интеграции теми же значениями, что и у текущей записи. Это ещё один элемент автоматизации, упрощающий массовое заполнение справочника.
Разработан сценарий "Запуск интеграционных расчетов по КПЭ", запускаемый каждую ночь на сервере. Сценарий отслеживает все записи справочника интеграции и отслеживает реквизит "Ежемесячно, число заполнения". Если текущая дата подходит, то производится выборка показателей за текущий период и для каждого показателя производится выполнение ISBL кода из текущей интеграции. В само вычисление так же передаются параметры интеграции и текущий показатель. Результат вычисления записывается в качестве фактического значения показателя.
Таким образом, механизм интеграции КПЭ позволяет получать данные из других источников как из системы DIRECTUM, так и из других информационных систем.
Так как показатели заполняются руководителями самого разного уровня, в том числе и директорами корпорации, которые часто бывают в командировках, то очень важно обеспечить возможность работы с модулем вне локальной сети корпорации через Web доступ. Так как основа интерфейса для заполнения показателей реализована в WebBrowserControl элементе формы, то достаточно несложно реализовать точно такой же интерфейс в Web доступе.
Стоит отметить, что это не просто копия интерфейса с Desktop клиента - это тот же самый интерфейс, так как его HTML код генерируется одной и той же функцией, как для Web'а, так и для обычного клиента DIRECTUM, который позволяет просматривать показатели, вносить в них значения, просматривать прикрепленные документы и использовать фильтры.
Такой подход упрощает поддержку решения, так как не нужно вести 2 параллельных разработки для Web'а и Desktop'а.
В самом начале администратору модуля требуется ввести данные о показателях в справочник "Ключевые показатели эффективности", попутно заполняя сопутствующие справочники: "Единицы измерения", "Расчеты выполнения КПЭ" и "Тип КПЭ". При необходимости, подготовить расчеты главных показателей и с помощью администраторов системы DIRECTUM подготовить расчеты интеграции.
Чтобы уведомить ответственных и оценивающих о том, что им требуется заполнить значения показателей, администратор модуля с карточки периода оценки по кнопке "Отправить задачи" создает и стартует задачи по ТМ "ВСМПО. Оценка показателей эффективности" на каждого исполнителя.
Процедура старта задач состоит из нескольких шагов:
Схема типового маршрута выглядит так.
Пользователь может одновременно выступать как ответственный для одних показателей и как оценивающий для других. По этой причине маршрут разделен на 2 части: левая - для ответственного, правая - для оценивающего.
Согласно установленному порядку, сначала устанавливается срок для заполнения ответственными фактических значений. По истечении устанавливается срок для ознакомления и корректировки оценивающими уже заполненных значений. После оценивающих, с показателями работает контролер - администратор модуля. Он проверяет заполненные данные и блокирует показатели от дальнейших изменений.
При старте задачи производится анализ, есть ли у исполнителя показатели, в которых он указан ответственным. Если таких показателей нет, то для блока "Заполнение фактических значение КПЭ" исполнитель не назначается и левая ветка сразу переходит на блок "AND", дожидаясь выполнения правой ветки.
В правой ветке система анализирует, есть ли показатели, где исполнитель указан как оценивающий, и если таких нет, то блок условие направляет маршрут по результату "Нет". Если же такие показатели найдены, то маршрут переходит в блок ожидания и ждет наступления срока, назначенного для ответственного. После того, как срок для ответственного истечет, маршрут создает задания для оценивающего.
Исполнитель может направить задание на заполнение показателей своим дублерам. При наличии нескольких дублеров, задания приходят всем, но при выполнении одним из них, завершаются все параллельные задания. В заданиях для исполнителя и для дублера реализована проверка заполнения всех запрашиваемых данных. Для заданий дублеров устанавливается крайний срок, чтобы процесс заполнения не завис на каком - либо пользователе. После завершения/прекращения задания у дублера повторно формируется задание на исполнителя.
Такой типовой маршрут позволяет своевременно оповещать ответственных и оценивающих о необходимости ввести данные, производить проверку заполненности данных и делегировать заполнение показателей.
После сбора информации следует подготовить данные и получить требуемые отчеты.
Справочник "Оценка показателей эффективности" содержит данные, требуемые для итогового отчета. Специалисты отдела мотивации и стимулирования труда готовят отчеты с помощью функционала справочников системы DIRECTUM: они настраивают сортировку, фильтры и группировку и выгружают данные в таком виде в Excel таблицы.
С ноября 2015 года ведется разработка этого модуля. В апреле 2016 года был тестовый запуск, во время которого сбор оценок производился и через модуль КПЭ и через электронную почту. С мая система была введена в эксплуатацию и сбор информации по всем показателям теперь ведется в DIRECTUM. Техническое решение было передано в филиал корпорации - АВИСМА и развернуто в их системе DIRECTUM. С августа 2016 года модуль был введен на АВИСМА в тестовом режиме, а с сентября - в рабочем режиме.
Применение модуля КПЭ позволило значительно сократить трудозатраты по сбору информации по показателям и подготовке отчетности:
Значительно снижена вероятность ошибки как со стороны администратора модуля, так и со стороны исполнителей.
Руководители стали ответственнее подходить к выполнению показателей эффективности, так как от оценок зависит их премия, учет показателей производится системно, а некоторые из показателей заполняются автоматически.
Для нас, разработчиков и администраторов, реализация модуля КПЭ дала импульс в развитии сопутствующих разработок. Потребность в справочнике "Структура предприятия", который бы отображал иерархию подчинения в корпорации, неоднократно возникала и ранее, но до модуля КПЭ она не была такой насущной, и его реализация откладывалась "в долгий ящик" как в системе "Кадры", так и в остальных системах корпорации. Сейчас в системе DIRECTUM этот справочник также применяется в модуле "Производственные претензии".
Справочник "Кадровые замещения" разгрузил большую часть поступавших к нам заявок о настройке замещения, которые ранее мы обрабатывали вручную. Кроме того, он позволил разделить по смыслу замещения, создаваемые в результате отпуска, больничного и командировок от замещений, созданных с технической целью, как, например, передать задачи "старого" работника новому.
Разработка модуля принесла и новый опыт в проектировании и программировании:
Простой, на взгляд обычного пользователя, но имеющий богатый функционал и обвязку, модуль КПЭ стал для нас новой планкой качества в разработке.
После перехода с версии 4.9.1 на 5.2.1 модуль КПЭ одним из первых "примерил" на себя новый функционал этой версии DIRECTUM. Растягиваемые формы, действия в контекстном меню и форме - списка справочника, применяемые к набору записей. Эти новинки быстро нашли применение в модуле КПЭ.
В ближайшее время планируется распространить применение модуля КПЭ в нашей системе DIRECTUM на дочерние организации корпорации.
В дальнейших планах углубить использование модуля на ВСМПО, расширить его действие до руководителей низшего звена: начальников бюро, мастеров, руководителей секторов и т.п.
Также планируется увеличение доли показателей, заполняемых автоматически через интеграцию. Для этого планируется реализовать интеграцию с производственными системами корпорации для получения данных об объемах и качестве производства.
Применить редактор JS кода к справочникам "Расчеты выполнения КПЭ" и "Расчеты главных показателей КПЭ" с целью улучшить отображение расчетов и упростить их заполнение.
Колесов А.Д. Разработка проектных решений.
Тарасов М.В. Разработка программной части.
Максимова Т.В., Светлолобова Е.О., Андреева Л.С., Туктарова А.В. Внедрение и сопровождение.
Сосновская М.В. Разработчик справочника "Структура предприятия" в системе "Кадры", настройка интеграции со стороны системы "Кадры".
Обсудите реализацию с экспертом Directum
Впечатляюще!
Коллеги у нас намечается похожий проект. Как мы можем с вами провести диалог в этом направлении ?
Авторизуйтесь, чтобы написать комментарий