На практике
Рассмотрим систему, реально работающую на предприятии оптовой торговли, имеющем также собственное производство. Реализация схем бизнес-процессов, интерпретируемых аналогично рис. 1 и 2, позволяет использовать не две разрозненные системы, а одну. Рассматриваемое решение основано на системе Avacco компании Avacco Soft.
Архитектура системы
Система Avacco имеет трехзвенную клиент-серверную архитектуру. Первый уровень — сервер баз данных Microsoft SQL Server, в котором содержится вся информация компании, состоящая из двух частей. В одной базе данных хранится информация, вводимая пользователем и необходимая ему для работы (документы, константы, контрагенты, финансовые операции, товарные операции, курсы валют и проч.), а в другой — системная информация, в том числе, имена пользователей, их пароли и права, настройки системы (разным пользователям может быть показан разный набор папок и меню).
Второй уровень — сервер бизнес-логики, выполняющий прикладные алгоритмы по изменению данных, реализующий технологии документооборота, автоматизации бизнес-процессов, потоков работ, разного рода аналитику, агрегирование данных и поддерживающий функции защиты информации и алгоритмов. В функцию сервера бизнес-логики входит также связь сервера баз данных с клиентским приложением. Именно сервер бизнес-логики реализует схемы рис. 1 и 2.
Третий уровень — клиентские приложения VBA Client и Internet Client, позволяющие пользователю «общаться» с сервером бизнес-логики, предоставляющие всю информацию в удобном виде, в частности, визуализируя документооборот. Для VBA Client требуется наличие корпоративной сети, а Internet Client позволяет работать с данными через Сеть.
Финансовый и товарный учет
Отличительной особенностью интегрированного документооборота является участие в нем финансовых, товарных и прочих документов, на базе которых осуществляется фактический учет, отображающийся на счетах компании. Речь идет не о приказах и корреспонденции, а о реальных накладных, по которым в этот момент отгружается товар, и о реальных финансовых операциях.
Применительно к системе документооборота это означает, что все изменения в документах не нужно дублировать: они тут же отображаются в единой (для документооборота и системы автоматизации) базе данных, с ними можно оперативно работать, известно, что данные находятся в актуальном состоянии. Поскольку система включает в себя и средства электронной коммерции, то в документооборот вовлечены также документы, формируемые при работе электронного магазина.
И, наоборот, в результате документооборота происходят учетные действия, изменяющие финансовое и товарное состояние компании. Финансовые и товарные операции осуществляются автоматически при выполнении бизнес-процесса и на основе документа, что снижает вероятность ошибок или предумышленного введения неверной информации, а также освобождает работников предприятия от составления дополнительных проводок, финансовых операций, счетов и т.д.
Планирование закупок и резервирование товара
Механизмы планирования и резервирования тоже корнями уходят в документооборот. К примеру, в бизнес-процессе «Продажа» оформляется документ «Заявка на продажу», в котором указывается, в какой день, на каком складе, какой товар и в каком количестве должен быть отгружен покупателю. Основываясь на представленных в этом документе данных, система автоматически зарезервирует на указанном в документе складе указанное количество товара под эту сделку (статический резерв). Если в полном объеме товара на складе нет, то оставшаяся часть может быть зарезервирована для этой сделки, как только товар появится на складе (отложенный резерв). Кроме того, товар может быть автоматически зарезервирован на заданную дату согласно указанной в документе дате отгрузки (динамический резерв). Интеграция документооборота и системы управления при прохождении документа по этапу бизнес-процесса позволяет при формировании документа сразу же отобразить реальную раскладку товара по складам: сколько товара доступно для продажи, сколько зарезервировано под сделки, сколько требуется закупить и т.д.
Такие же данные можно оперативно получить и при планировании закупок. Информация для планирования закупок формируется соответствующими документами (заявками на продажу, заявками на сборку и пр.), которые реально отображают нужды предприятия в конкретный момент времени.
Доступ к документам Содержимое таблиц SQL Server предоставляется на интерфейсном уровне в виде дерева тематических папок. При необходимости документ, перемещаясь с этапа на этап, может автоматически «перекладываться» в другую тематическую папку. Например, при перемещении товара между подразделениями (скажем, между несколькими складами) на первом этапе в папке «Внутренние накладные» создается документ «Внутренняя накладная». После подтверждения окончательного формировании накладная перемещается в подпапку «На отгрузку». После выполнения этапа «Отгрузка» документ попадает в подпапку «На получение», наконец, после отработки накладной, она появляется в папке «Архив». Такое перемещение документов позволяет быстро получить оперативную информацию. Так, открыв в папку «На отгрузку», руководитель предприятия видит, какой товар, в каком количестве, куда будет отгружен.
Доступ к документам осуществляется на соответствующем этапе бизнес-процесса. Например, на этапе «Принять решение о счете» бизнес-процесса «Продажа» перед пользователем открывается документ «Счет» с конкретным номером. Все внесенные в этот документ изменения тут же отражаются в системе, а все пользователи (у которых есть надлежащие привилегии) оперативно получают информацию. Совсем необязательно, чтобы по бизнес-процессу от начала до конца «шел» один и тот же документ. На основе одного документа может формироваться другой. Скажем, на первом этапе бизнес-процесс «Продажа» компании А менеджер создает документ «Заявка на закупку», в котором указывает, кто, что и сколько хочет закупить у компании А. На следующем этапе на основе этой заявки автоматически генерируется счет, который визируется бухгалтерией. Затем на определенном этапе бизнес-процесса на основании счета будет создана расходная накладная и т.д.
Задачи по документу В любой момент времени в системе можно получить оперативную информацию о «местонахождении» документа, «идущего» в данный момент по бизнес-процессу.
Для оперативного учета, планирования и управления важна функция регистрации изменений в документах. Такие изменения обычно связаны не столько с нерасторопностью и невнимательностью сотрудников, сколько с изменившимися обстоятельствами. Например, когда в бизнес-процессе «Продажа» формировалась заявка на закупку (а затем и счет по ней), клиент решил, что будет удобнее, если товар ему доставит продавец. Для этого поставщик должен выделить транспорт, учесть цену за доставку товара и пр. Однако на одном из следующих этапов (скажем, спустя несколько дней) покупатель заявляет, что у него есть возможность самому вывезти свой товар. Система предоставляет возможность вернуть задачу в исходное состояние: этапы последовательно откатываются до того момента, когда в документе нужно изменить данные. Поскольку база и для системы ERP, и для встроенной системы документооборота едина, то единожды проведенные изменения актуальны и своевременны для всех пользователей. Если задачи на выполнение реализуют определенные сотрудники в соответствии с назначенными им правами, то право на откат этапа обычно принадлежит только руководителю. Это логично. Во-первых, в противном случае сотрудник может скрыть ошибку, допущенную по собственной оплошности. Во-вторых, откат задач по документу происходит последовательно, а каждый сотрудник видит только свои задачи и ему незачем иметь возможность видеть задачи других работников. В-третьих, вмешательство рядового сотрудника в ход бизнес-процесса может нарушить достоверность оперативных данных, предоставляемых руководителю в виде отчета и полученных на тот момент, когда откат еще не был произведен.
Настройка документооборота Бизнес развивается, появляются новые схемы бизнес-процессов, что-то меняется в старых. В Avacco предусмотрена возможность силами заказчика (или подрядчика) внести необходимые изменения в протекание бизнес-процесса путем изменения кода системы.
Для этих целей используется язык Visual Basic for Application.
Несмотря на то что типов предприятий много и схемы ведения бизнеса у них разные, большинство бизнес-процессов могут быть скомпонованы из ограниченного числа элементарных бизнес-операций — атомарных процессов. В системе их около десятка. Сервер бизнес-процессов, являющийся частью сервера бизнес-логики, реализует базовую функциональность этих атомарных процессов, позволяя настраивать взаимодействие этапов бизнес-процессов произвольным образом. Поскольку документооборот реализуется в системе с помощью схем бизнес-процессов, то и его настройка осуществляется через настройку бизнес-процессов: универсальными средствами можно настроить схему бизнес-процессов, регламенты прохождения документов, их формы и т.п. Таким образом, происходит настройка того, что должно быть показано на этапе, в электронном документе на экране пользователя, в отчете и т.д. Все новые документы, «идущие» по созданному бизнес-процессу, будут вовлечены в документооборот. Если на предприятии изменился маршрут документа, значит, изменилась схема бизнес-процесса, по которой «идет» этот документ. Предположим, раньше в компании А для того, чтобы собрать стол, менеджер создавал накладную на сборку, по которой сборщик выполнял работу, а теперь созданную накладную должен подписать руководитель. Это значит, что в бизнес-процессе «Сборка» появляется этап «Утвердить у руководителя», а для настройки изменений в системе рисуется и программируется новый этап, по которому и пойдет документ.
Реализация механизма отслеживания задач по документу дает руководителю возможность контроля не только за документами, но и за сотрудниками, за их загруженностью и эффективностью работы.
К документообороту вполне применима «конвейерная идеология» со всеми ее достоинствами и недостатками. Работник не следит за движением документа и не ставит сам себе задачи — все это автоматически делает система. Работнику же достаточно лишь следить за списком своих задач на выполнение, которые, как на конвейере, попадают в папку «Задачи на выполнение».