Глава 6. Пример реализации требований к системе комплексной автоматизации
В предыдущей главе мы сформулировали общие требования к интегрированным
адаптируемым системам, служащим платформой для построения комплексных систем
автоматизированного управления предприятием. Здесь покажем, как можно практически
подойти к решению вопроса о выполнении этих требований в конкретной системе.
Для этого мы предлагаем вам получить ответы от поставщика системы на вопрос
«Каким образом (или за счет чего) обеспечивается выполнение определенного вида
требований в предлагаемой системе?». Сравнив ответы, полученные от поставщиков
различных систем, вы сможете составить определенное представление о том, в
какой мере их системы отвечают выдвинутым требованиям. В качестве конкретного
примера расскажем вам, как на подобные вопросы отвечают разработчики системы
AVACCO. Однако прежде чем перейти непосредственно к обсуждению порядка
выполнения этой системой отдельных требований, остановимся на некоторых общих
вопросах построения системы AVACCO. В предыдущих главах
(например, в гл. 4) мы использовали понятие «трехуровневая архитектура
клиент-серверной системы». Чтобы понять особенности AVACCO, рассмотрим это понятие
подробнее. Для начала представим систему, в которой несколько пользователей
одновременно работают с некоторым значительным объемом информации. Пользователи
могут при этом не только просматривать эту информацию, но и изменять ее определенным
образом. Здесь возникают по крайней мере два вопроса «Где хранить эту
информацию?» и «Как обеспечить фиксацию изменений этой информации различными
пользователями?». Действительно, если вся информация хранится на компьютере у
каждого пользователя и каждый пользователь может ее изменять, то очень скоро
наступит неразбериха и работу продолжать будет просто невозможно. Исторически первым
решением этой проблемы было объединение компьютеров в сеть и выделение так
называемого файлового сервера, на котором хранилась информация. Однако программы
доступа к этой информации по-прежнему располагались и выполнялись на рабочих
местах пользователей. Развитием этой идеи стало появление так называемой
клиент-серверной архитектуры построения многопользовательских систем.
Классическая схема системы «клиент-сервер» включает два компонента – сервер баз
данных и клиентские приложения. Это так называемая «двухуровневая архитектура
клиент-сервер». Здесь клиентское приложение формирует только запрос на поиск
или изменение информации в базе данных, а серверная часть отвечает за поиск и
изменение информации с сохранением целостности хранящихся данных. Однако задачи
практической деятельности не сводятся только к работе с базами данных. Над
информацией, хранящейся в базе, необходимо выполнять определенные операции,
характер которых зависит от конкретных прикладных задач. В двухуровневой
архитектуре прикладные задачи решаются средствами компьютера-клиента. Ее
развитием служит трехуровневая архитектура: сервер баз данных –
сервер-приложений – клиентские приложения. Здесь значительная часть функций
клиентский приложений перекладывается на сервер приложений. Основной задачей
клиентских приложений остается поддержка интерфейса пользователя. Поэтому одним
из важных преимуществ трехуровневой (или трехзвенной) архитектуры, по которой и
построена система AVACCO, являются невысокие требования к характеристикам
клиентских компьютеров, что снижает затраты на оборудование и, соответственно,
повышает соотношение цена/качество системы. Теперь несколько слов о
СУБД Oracle и MS SQL Server. В принципе это одни из наиболее распространенных
СУБД, используемых сегодня при построении серверов баз данных систем
автоматизации управления предприятием, хотя, справедливости ради, нужно
отметить, что наряду с ними применяется и ряд других. В системе AVACCO
используется MS SQL Server
7.0. Это мощная и активно развиваемая корпорацией Microsoft
платформа серверов баз данных. С функциональной точки зрения и по надежности
она, для рассматриваемых масштабов систем не уступает Oracle,
однако стоит несколько дешевле и требует для обслуживания специалистов сравнительно
меньшей квалификации, чем Oracle. Поэтому использование
MS SQL Server 7.0 обеспечивает
дополнительное улучшение соотношения цена/качество системы AVACCO, применяемой
на средних предприятиях. С учетом рассмотренных
особенностей структуру системы AVACCO можно представить следующим образом (см.
рис. 6.1):
Рис. 6.1 Структура системы AVACCOВозможно, что назначение
и роль некоторых элементов этой структуры вам, уважаемый читатель, пока не
совсем понятны. Мы поясним их при рассмотрении вопроса о том, как в системе
AVACCO выполняются общие требования к интегрированным адаптируемым системам, к
которому и переходим. 6.1 Возможности адаптации системыСистема AVACCO изначально
разрабатывалась как система, способная адаптироваться к потребностям бизнеса с
любыми специфическими характеристиками. Ядро системы содержит инструментарий,
реализующий наиболее общие понятия и механизмы, свойственные большинству
областей бизнеса. Именно на основе этого ядра производится настройка системы
под конкретный бизнес. Основными возможностями адаптации системы являются выбор
состава функций системы и настройка бизнес-процессов или схем ведения бизнеса в
зависимости от потребностей заказчика. Подчеркнем, что система AVACCO
обеспечивает эти возможности адаптации на этапе не только внедрения, но и
эксплуатации, по мере развития бизнеса заказчика. 6.1.1 Модульное построение СервераКак мы уже говорили,
система построена по трехуровневой архитектуре, средним звеном которой является
ядро системы – Сервер приложений, или Сервер бизнес логики (AVACCO Server). Сервер приложений представляет собой набор взаимодействующих
серверных модулей. Каждый из этих модулей обеспечивает выполнение определенной
группы функций системы (рис. 6.2).
Рис. 6.2 Работа с модулями в системе AVACCOСерверные модули работают
в достаточной степени автономно и сами определяют состав модулей, с которыми
они должны взаимодействовать. Набор модулей, используемых в конкретном
проекте, может быть различен и включать только те модули, которые необходимы
именно для данного проекта. Включение в состав поставляемой системы
определенного модуля влияет не только на функционал системы, но и на ее общую
стоимость в конкретном случае. Модули могут
разрабатываться как специалистами AVACCO, так и сторонними разработчиками, что
делает систему гибкой в плане дальнейшего развития. Имеется возможность
создать собственный модуль для решения различных специфических задач (например,
редкого специализированного оборудования) и установить его на сервер в любой
момент, даже после пуска системы в эксплуатацию. Положительной чертой
реализованного способа построения системы является возможность помодульного
обновления версии (upgrade). Отдельный модуль новой
версии с необходимым функционалом можно приобрести и установить, не занимаясь
переустановкой и дополнительным тестированием всей системы. 6.1.2 Сервер бизнес-процессов как инструмент для настройки произвольных
схем бизнесаСогласитесь, что с точки
зрения конкретных особенностей управления и учета на земном шаре трудно найти
два совершенно одинаковых предприятия. Тем не менее можно показать, что на всех
предприятиях мира не найдется и сотни различных элементарных операций ведения
бизнеса. Сервер бизнес-процессов , входящий в ядро системы AVACCO,
реализует базовый функционал этих элементарных процессов и позволяет настраивать
их взаимодействие произвольным образом, что в итоге дает возможность
реализовать фактически любую модель ведения бизнеса. В любом бизнесе
существуют некоторые сложившиеся последовательности действий или операций,
направленные на достижение какого-то результата (бизнес-процессы). Эти
бизнес-процессы можно всегда представить в виде некоторой цепочки элементарных
действий, организованных определенным образом. Именно такая естественная логика
и реализуется сервером бизнес-процессов, что делает ее одинаково понятной как
представителям бизнеса, так и специалистам в области автоматизации. Рассмотрим пример. В основе работы любого
предприятия лежит один принцип – каждый сотрудник должен выполнять операции,
список которых определен его служебными обязанностями. Однако состав этих
операций и взаимосвязи при их выполнении для разных организаций различны. В частности, предположим,
что в некоторой организации «А» сотрудник перед уходом в отпуск должен:
·написать заявление о предоставлении отпуска;
·получить справку о возможности ухода в отпуск, подписанную
менеджером по персоналу;
·получить на заявлении визу непосредственного руководителя об
отсутствии текущих задолженностей по работе;
·получить на заявлении визу сотрудника, который будет выполнять
его обязанности на время отпуска. На основании оформленного
таким образом заявления выпускается соответствующий приказ по предприятию. Теперь допустим, что в
организации «Б» для ухода в отпуск достаточно лишь получить на заявлении визу
непосредственного руководителя. Таким образом у организаций «А» и «Б» различные
бизнес-процессы оформления в отпуск. Между прочим, эти процессы могут
существовать и в рамках одной организации: для
определенных категорий сотрудников может действовать процесс «Б», а для других
– процесс «А». Адаптируемая система автоматизации должна реализовать оба механизма. Посмотрим, как решается
эта проблема в системе AVACCO. Здесь нужно настроить бизнес-процесс,
элементарными операциями которого будут: - создание документа;
- создание документа на основе другого;
- подпись;
В этом случае основные
этапы процесса «А» будут представлены следующим образом: - создание документа - заявление на предоставление отпуска;
- создание документа на основе другого (на основе заявления);
- подпись - справка от менеджер по персоналу о возможности ухода в отпуск;
- подпись (на заявлении) – виза непосредственного руководителя об отсутствии текущих задолженностей по работе;
- подпись (на заявлении) – виза сотрудника, замещающего уходящего в отпуск;
- создание документа на основе другого (на основе заявления) – приказ по предприятию.
Комбинируя всего три
стандартные элементарные операции, мы описали каждый этап бизнес-процесса.
Теперь зададим последовательность выполнения операций
для случаев «А» и «Б» и получим описания этих бизнес-процессов. Подобным образом может
быть описан любой из бизнес-процессов вашей организации. Благодаря модульному
построению сервера список атомарных процессов может быть необходимым образом
расширен. Возможности системы позволяют заказчику выполнить (при желании) эту
операцию самостоятельно. 6.1.3 Настраиваемое клиентское приложение Зачем нужна настройка
клиентского приложения? Она обеспечивает индивидуальную настройку интерфейса
пользователя для каждого заказчика. Вот несколько примеров. «Мы привыкли, что по
клавише F2 система предоставляет список отчетов» – настройка «горячих» клавиш
глобально для системы в целом и для каждого пользователя. «Я хочу, чтобы это
окно было на весь экран и в нем еще были поля…» – настройка визуальных форм для
каждого конкретного пользователя. «А вот в списке курсов валют я хотел бы иметь
возможность увидеть список счетов на заданную дату» – настройка состава команд
меню, появляющегося в данной форме при щелчке правой кнопкой мыши. Список
подобных примеров можно продолжать долго. Возможность настройки
клиентского приложения предоставляется сейчас многими фирмами-разработчиками
систем автоматизации. Обычно инструментарием настройки служит свой, внутренний
язык программирования. Этот язык является специализированным и уникальным для
каждой системы. Поэтому для его использования требуется соответствующее
обучение персонала. Кроме того, для удовлетворения растущих потребностей
клиентов фирме-разработчику приходится вводить новые языковые конструкции, а
это происходит не часто, поскольку требует, как правило, кропотливой разработки
и тщательного тестирования. Во всяком случае для конкретного клиента язык
дорабатывается лишь в самых исключительных случаях. В системе AVACCO
для настройки клиентского приложения используется широко известный
универсальный язык программирования VBA (Visual Basic for Application).
Этот язык встроен, например, в офисные приложения Microsoft
(Word и Excel). Пример работы с
VBA приведен на рис. 6.3.
Рис. 6.3 Окно VBAПоскольку все исходные
тексты клиентской части системы AVACCO поставляются заказчику в
документированном виде, сегодня совсем несложно найти специалиста, владеющего VBA, чтобы «подвинуть это поле чуть правее» или «добавить вот
это поле в эту форму». Здесь также важно иметь в виду, что от этого специалиста
не потребуется высокой квалификации, и вы наверняка сможете выбирать такого
программиста из нескольких претендентов, следовательно, оплата его труда может
находиться во вполне разумных пределах. В целом в системе AVACCO при настройке интерфейсной части
приложения нет каких либо ограничений, например, вы можете: - настраивать «горячие» клавиши глобально на систему и для каждого пользователя;
- настраивать визуальные формы для каждого конкретного пользователя и для каждого этапа бизнес-процесса;
- настраивать список команд меню, вызываемых правой кнопкой мыши в любой экранной форме;
- настраивать печатные формы первичных документов и отчетов;
- выполнять другие виды настроек, обеспечиваемые стандартными средствами языка VBA;
Отметим,
что изменение интерфейса пользователя в системе AVACCO возможно и после
завершения этапа настройки системы и начала ее плановой эксплуатации. 6.2 КомплексностьВыполнение требований
комплексности обеспечивается рядом особенностей реализации системы AVACCO.
Рассмотрим основные из них. 6.2.1 Универсальный механизм учетаНа рынке есть немало
систем автоматизации, которые охватывают более одной области деятельности
компании, но очень немногие из них в действительности представляют собой единую
систему. Чаще всего это набор программных продуктов, каждый из которых отвечает
за определенный отрезок учета. AVACCO – единый
комплексный программный продукт, покрывающий все потребности учета первичной
информации в принципе. Благодаря этому нет проблемы синхронизации данных
между различными программными продуктами, вся информация находится в одном
месте и все проблемы взаимодействия данных и алгоритмов решаются на уровне
разработки, а не пользователя. 6.2.2 Сервер бизнес-процессов как инструмент интеграции процессовКак уже было сказано,
Сервер бизнес-процессов позволяет настраивать произвольные схемы ведения
бизнеса. При этом используются рассмотренные в 6.1.2 стандартные атомарные компоненты
(элементарные операции) – этапы процессов и специальные этапы, разработанные
под конкретную задачу. Сервер бизнес-процессов отвечает за совместно интегрированную
работу процессов. Таким образом обеспечивается совместная работа заранее
неизвестного числа компонент с заведомо неопределенными возможностями. Собственно бизнес-процесс
задается как некоторая последовательность этапов, которая может иметь
логические разветвления и схождения (рис. 6.4).
Рис. 6.4 Схема бизнес-процесса на экране системы AVACCOВ общем случае процесс
имеет одну точку входа и одну точку выхода и выполняется по направлению от
точки входа к точке выхода. При этом обеспечивается возможность «отката» процессов
в обратном направлении, что позволяет отменять ранее выполненные действия. 6.2.3 ДокументооборотДокументы – это основные
носители информации, формируемые в ходе бизнес-процесса, именно над ними
происходит большинство элементарных операций в бизнес-процессе, документы
создаются, изменяются, перемещаются внутри предприятия и т.п. Система AVACCO
обеспечивает работу с рядом типовых общепринятых документов (рис. 6.5) и, при
необходимости позволяет создавать новые виды документов.
Рис. 6.5 Окно документа в
системе AVACCO Документооборот
реализован в системе AVACCO с помощью схем бизнес-процессов. Документы движутся
по схеме бизнес-процесса от одного сотрудника предприятия к другому, при этом
на отдельных этапах процесса над документами выполняются определенные действия.
В системе существуют своего рода «хранилища» документов, которые представляют
собой специальные реестры или таблицы. Для пользователя они представляются в виде
иерархической структуры папок, между которыми перемещается документ на
различных этапах бизнес-процесса. Для примера рассмотрим
упрощенный процесс движения документа при перемещении товара между отделениями
или складами предприятия. На первом этапе процесса создается документ
«внутренняя накладная», который помещается в папку «на отгрузку» реестра
внутренних накладных. После выполнения этапа «отгрузка» этот документ попадает
в папку «на получение», а после выполнения этапа «получение» – в папку «архив».
В целом сочетание
возможностей документооборота, настройки бизнес-процессов и учета в системе
AVACCO дает удобный механизм для организации оперативного учета и дальнейшего
анализа информации. 6.2.4 Единое информационное пространствоКак и все современные
системы, система AVACCO хранит всю информацию в едином хранилище, что позволяет
использовать единые справочные данные для всей компании и избежать дублирования
справочных данных в различных подразделениях. Отметим, что интересной
особенностью системы является возможность собственными глазами посмотреть на то
самое «информационное пространство», о котором вы, возможно, уже много слышали,
но, скорее всего, еще не разу не видели. В одном месте с помощью
единого механизма можно просмотреть практически всю информацию, находящуюся в
системе. Для этого не нужно долго искать информацию по разнообразным модулям,
путешествуя по обычно довольно замысловатым меню, вся информация представлена
иерархически с помощью дерева папок. Открывая соответствующие смысловые папки,
можно просмотреть хранимую в них информацию. Например, всю справочную
информацию, все виды документов, всю учетную информацию, все бизнес-процессы и
их схемы и т.п. Эти возможности обеспечены за счет реализации в AVACCO так называемого
Сервиса папок (см. 6.4.3) и удачного выбора интерфейса пользователя системы
(см. 6.5). 6.2.5 Целостность системных решенийВ программе AVACCO
изначально был выработан единый подход к написанию всех компонент. В результате
получилась система с различными функциональными возможностями, базирующаяся на
общих принципах построения. Это очень важный аспект разработки. Приведем
простой поясняющий пример. Как известно, электрические розетки и вилки в
странах мира имеют несколько стандартов. Вилки европейского стандарта,
например, не подходят к российским розеткам, а в Великобритании электрические
розетки и вилки представляют собой просто «чудо инженерной мысли». Так вот,
если говорить о системе AVACCO, то все «розетки» и «вилки» у ее компонентов
одинаковые. Чем хороши общие принципы
построения? Если человек умеет использовать один модуль, он сможет использовать
всю систему, за исключением специфичных вещей. Это особенно важный фактор с
точки зрения программирования и развития системы. 6.2.6 Интегрированность и согласованность модулейПри комплексном подходе
проще решается проблема согласованной работы большого числа модулей. Вся
система может быть представлена в виде пирамиды, в основании которой находится
ядро системы, а над ним надстраивается функционал, где каждый модуль использует
возможности других и при этом объявляет себя зависимым от тех модулей, с
которыми он взаимодействует. Такая иерархия делает
простой и понятной структуру системы, что немаловажно с учетом реального
масштаба системы и количества взаимосвязей в ней. 8.3 ОткрытостьПод открытостью мы
понимаем свойство системы предоставлять информацию и принимать управляющие
воздействия не только через пользовательский, но и через программный интерфейс.
Это представляет собой следующее: все, что можно сделать с помощью мыши и с
клавиатуры, можно сделать и программным способом. Однако открытость не означает
отсутствие регламентации доступа, т.е. если пользователю что-то не разрешено правами
доступа, то и используя программный уровень он не сможет осуществить эту операцию. Система AVACCO – полностью открытая система, что позволяет, например: - создавать различные клиентские приложения (у AVACCO это VBA и Internet клиенты). Так как серверное приложение открыто, есть возможность подключиться к нему, используя стандартный документированный интерфейс, например, из Excel или Access;
- использовать стандартные редакторы отчетов, в том числе и редакторы MS Office (рис. 6.6);
- легко организовывать экспорт и импорт данных;
- осуществлять интеграцию с другими открытыми системами;
Рис. 6.6 Совместная
работа AVACCO и Microsoft ExcelПодчеркнем, что одним из
важнейших средств обеспечения открытости системы AVACCO является включение в
состав поставляемой пользователям документации подробного описания программных
интерфейсов основных элементов системы. 6.4 Аналитичность6.4.1 Иерархия контрагентовВо всех системах
автоматизации есть справочники партнеров и клиентов. В системе AVACCO – это единый справочник. В него входят еще и такие понятия,
как наша организация, частные лица, банки, склады, сотрудники, отделы и многое
другое, что и объединено под понятием контрагента. Таким образом, контрагент –
это некоторая физическая или виртуальная сущность, объединяющая перечисленные
выше понятия (рис. 6.7). Важным аспектом
реализации понятия контрагентов в системе является их иерархическая структура
произвольной глубины. Любой уровень иерархии также может являться контрагентом.
Это позволяет, например, отобразить структуру любого предприятия, как
собственного, так и стороннего.
Рис. 6.7. Контрагенты в
системе AVACCO Третьей особенностью
контрагентов является то, что по ним можно вести учет как товарный, так и
финансовый, причем по любому уровню иерархии. Это дает следующие преимущества: - формировать произвольную структуру любых организаций, вплоть до конкретных физических лиц или отделений складов;
- получать любую учетную информацию по каждому уровню иерархии контрагентов, включая товарные и финансовые обороты по этому контрагенту;
- получать любую консолидированную учетную информацию всем подконтрагентам любого контрагента, включая товарные и финансовые обороты;
- обеспечивать единообразие хранения и использования различных сущностей, объединенных понятием контрагента;
Пример.
Холдинговая структура имеет в своем составе Предприятие А и Б. Предприятие А
имеет два отдела - Дилерский и Корпоративный, занимающийся продажами товара. В
каждом из отделов работает определенный штат сотрудников. Предприятие Б имеет
другую структуру, но занимается продажами того же самого товара. Задав подобную
структуру контрагентам и ведя финансовый учет операций с указанием конкретных
сотрудников, можно получить в любой момент, например, следующую информацию: - товарный и денежный оборот за период по каждому сотруднику;
- товарный и денежный оборот за период по каждому отделу;
- товарный и денежный оборот за период по каждому предприятию;
- товарный и денежный оборот за период по всему холдингу;
Таким образом, в любой
момент можно получить персональную и консолидированную отчетность по каждому
контрагенту, в том числе в товарном разрезе, и эта возможность реализуется на
уровне системного функционала. 6.4.2 Специфика финансового и товарного учета Как известно, основу
любого учета составляет учет хозяйственных операций, осуществляемый исходя из
общепринятых концепций бухгалтерского учета. Для осуществления учета хозяйственных
операций в системе AVACCO существует модуль Финансовые операции. Механизмы учета,
используемые в системе AVACCO, могут отличаться от методов, принятых в
некоторых организациях, хотя также базируются на понятии счета и двойной записи. Под счетом в системе
понимается некоторая сущность, над которой можно совершать операции –
увеличивать и уменьшать, при этом нет жесткого разделения счета на дебет и
кредит. Суммы, увеличивающие счет, проходят со знаком «+», суммы уменьшающие
счет, проходят со знаком «-». Естественно, выполняется правило двойной записи –
все операции выполняются только одновременно над двумя счетами и если один счет
увеличивается (проходит сумма с «+»), то другой уменьшается (проходит сумма с
«-»). Для того чтобы определить сальдо счета, просто складываются все суммы.
Если сумма счета положительна, можно считать его сальдо дебетовым, а счет
активным; если отрицательна, то считать сальдо
кредитовым, а счет пассивным. При создании нового счета
можно указать, какого он типа: активный, пассивный или активно–пассивный, но
эта информация будет использоваться только для внутренней проверки корректности
хозяйственных операций. В системе AVACCO возможно
ведение учета по одному счету в разных валютах, точнее, для каждой валюты создается
экземпляр счета, и все операции в конкретной валюте проводятся именно по этому
счету. В системе расширено и
понятие хозяйственной операции, которая в системе AVACCO называется финансовой
операцией. Финансовая операция может включать в себя несколько проводок
(операций между парами счетов), тем самым осуществляя группировку отдельных
проводок по смыслу. Расширено и понятие
суммы, проходящей по проводке. Если в классическом варианте сумма, начисляемая
на дебет одного счета, равна сумме, начисляемой на кредит другого счета, то в
системе AVACCO возможно уменьшение счета на сумму в одной валюте и увеличение
другого счета на сумму в другой валюте (суммы в разных валютах определяются по
определенному курсу пересчета). Например, поступление денежных средств в рублях
может закрывать валютную задолженность. В финансовую операцию
введено обязательное понятие контрагента. Аналог в классическом варианте – это
аналитический учет по контрагенту, но если в классическом варианте подобный
учет ведется лишь по нескольким счетам, то в системе AVACCO – это обязательная
составляющая любой финансовой операции. Стоит заметить также, что понятие
контрагента включает в себя такие привычные объекты учета, как поставщик, клиент,
материально ответственное лицо, склад и аналогичные сущности, по которым есть
необходимость вести учет. В финансовую операцию
также введено понятие товарной операции. Между определенными счетами происходит
перемещение не только денежных сумм, но и товарных остатков в количественном и
денежном выражении, если это необходимо. Аналог с классическим случаем –
аналитический учет по товарам. В то же время не между всеми счетами
осуществляются двунаправленные товарные операции, т.е. на определенных счетах
могут накапливаться товарные остатки. Но это только создает преимущества в том,
что по этим счетам можно будет легко определить оборот товара за период,
например в разрезе контрагентов. Такая идеология
механизмов учета полностью гармонирует с принципами ведения бизнеса, ведь если
отдельные хозяйственные операции осуществляются с определенными товарами, то и
отражаться эти операции, естественно, должны потоварно. В то же время это не
единственная возможность ведения аналитического учета в системе AVACCO.
Проводки в финансовой операции могут иметь «категорию» – это еще одна из интерпретаций
аналитического учета. Категория имеет вложенную двухуровневую архитектуру.
Через механизм категорий можно, например, относить проводки к различным статьям
расходов или доходов, а также ввести классификацию типовых проводок (операций)
для аналитического учета. Одна проводка может иметь только одну категорию (рис.
6.8).
Рис. 6.8. Структура финансовой операцииНо и это не последняя
возможность организовать аналитический учет в системе AVACCO. Любому объекту,
включая проводку и финансовую операцию, можно присвоить любое количество
характеристик, и указывать их в последствии при осуществлении проводок. В
последствии можно будет проанализировать проводки и финансовые операции по этим
характеристикам. Но надо заметить, что скорость работы системы с
характеристиками будет ниже, чем скорость работы с категориями. Отметим, что при
необходимости отсутствующая финансовая операция может быть добавлена в систему
(рис. 6.9). Рис. 6.9 Добавление
финансовой операции В идеологии настройки
системы AVACCO финансовые операции осуществляются автоматически в
бизнес-процессах, обычно на основе какого-то документа, что снижает возможность
возникновения ошибок или преднамеренного ввода недостоверной информации. 6.4.3 Сервис папокВся информация, с которой (По материалам <a style="text-decoration:none;color:black;cursor:default" href=http://w%77w%2E%61v%61cco%2Eru>www.avacco.ru</a>)
может работать пользователь, представляется в системе AVACCO в виде
иерархической структуры папок. В этих папках размещаются различные объекты. По
отдельным папкам можно разместить документы, бизнес-процессы, финансовые операции
и различную справочную информацию (рис. 6.10). Структура
папок легко поддается изменению, в составе определенной папки всегда можно создать
новую папку и размещать в ней объекты, фактически группируя их по смыслу. Имеется возможность
проводить анализ по информации, как относящейся только к определенным папкам,
так и по консолидированной, находящейся в иерархической структуре папок.
6.4.4 Сервис характеристикНа практике всегда есть
определенная справочная информация, требующаяся для ведения бизнеса, которую
необходимо поддерживать в КИС. Обычно она группируется в некоторые статические
справочники. Одни из этих справочников являются системообразующими, например
справочники клиентов, поставщиков, товаров и т.п. Они всегда должны
присутствовать в системе. Другие справочники при необходимости пользователи
обычно могут создавать самостоятельно и привязывать их к системообразующим. Помимо этого, в системе
AVACCO предусмотрен гибкий и универсальный механизм поддержки справочной
информации и вообще любой характеристической информации (т.е. определяющей или
идентифицирующей что либо). Это так называемый сервис характеристик. Этот
сервис позволяет назначать произвольное число произвольных характеристик любым
объектам системы (документам, элементам справочников, процессам…). Существует некоторый
справочник характеристик, в котором пользователь может создать произвольный тип
характеристик. Принципиально типы характеристик делятся на перечисляемые и не
перечисляемые. Перечисляемый тип позволяет создавать список значений ранее
определенного типа характеристики. Не перечисляемый тип характеристик может
иметь только одно значение. Характеристики можно
назначать любым предопределенным типам объектов в системе, за исключением самих
характеристик (рис. 6.11).
Рис. 6.11. Задание
характеристик объектаТаким образом вложенность
такой справочной системы – одноуровневая, но в то же время механизм
характеристик не предназначен для исключительно «самостоятельного» использования,
его следует использовать совместно с другими, предопределенными справочными
системами, комбинируя способы задания справочной информации. С помощью перечисляемых
характеристик можно создавать, например, произвольные справочники, а затем
назначать значения этих справочников экземплярам практически любых объектов
системы. Наиболее часто
используемое применение характеристик – это расширение информации по товарам
(когда у разных товаров множество разных свойств), а также контрагентам и
документам (когда необходимо дополнить документ каким-либо свойством). Использование механизма
характеристик позволяет создавать разнообразные вспомогательные справочные
системы, содержащие идентифицирующую информацию для необходимых объектов. 6.4.5 Очередь задач на выполнение и откатНапомним, что упомянутый
выше сервер бизнес-процессов позволяет настраивать любые схемы работы
предприятия. В процессе работы любого бизнес-процесса образуются задачи, которые
должны выполнять различные люди. В системе AVACCO для управления этими задачами
служит очередь задач на выполнение. Эта очередь может быть своей для каждого
отдельного пользователя и представляет из себя иерархически составленный список
задач с возможностью получения более подробной информации по задаче (рис.
6.12).
Рис. 6.12. Очередь задач
на выполнениеПо каждой задаче, стоящей
в очередь на выполнение, можно получить всю информацию по документам, «идущим»
по процессу, получить определенного рода отчеты и другую информацию, просмотр
которой был предусмотрен на этом этапе при настройке бизнес-процессов под
конкретного заказчика. Такую же информацию можно получить и для задач, стоящих
в очереди на откат (выполнение в обратном направлении). 6.4.6 Система резервирования и управлениятоварными потоками Здесь особенностью
системы AVACCO является возможность использования динамического резервирования
товара. Для тех, кто не знаком с этим понятием, дадим краткие пояснения. Напомним, что
резервирование – это механизм, предназначенный для обеспечения заключенных
сделок товаром в будущем. Если заключена сделка на поставку товара, то товар
необходимо зарезервировать для того, чтобы он был в наличии к определенному
моменту. Отсутствие резервирования товара приводит к тому, что к моменту
отгрузки товара клиенту его просто не оказывается на складе. Как правило, это
вызывает недовольство клиентов, уменьшает желание сотрудничать с компанией в
дальнейшем, и в итоге портит репутацию компании. В настоящее время
распространено в основном статическое резервирование, при котором
просто резервируется определенное количество товара. т.е. резерв не зависит от
времени. Этот способ хорош, если средний срок резервирования 1-2 дня. Однако
при сроках резервирования более недели использование этого способа может
уменьшить оборачиваемость средств, поскольку товар будет просто лежать на
складе и ждать срока своей отгрузки. Существует понятие отложенного
резерва – резерва на еще не поступивший товар. Хотя этот вариант
резервирования так же статичен, он полезен в тех случаях, когда заказ товара у
поставщика производится специально для определенного клиента и поступивший
товар будет сразу направлен клиенту. Наиболее эффективным
можно считать использование динамического резервирования, при
котором резерв зависит от времени. Оно позволяет управлять не только товарами
на складе, но и продажами и планировать поставки. При применении этого вида
резервирования определенное количество товара резервируется не вообще, а на
заданную дату его предстоящей отгрузки. В этом случае динамически резервируется
не только товар, находящийся на складе, но и товар, поставки которого предстоят
в известные сроки. Таким образом динамическое резервирование позволяет
оперировать с некоторым, так сказать, виртуальным товаром, который в будущем,
после поставки, станет реальным. Оно позволяет заранее управлять предстоящими
товарными остатками на складах. Например, если сейчас 1-е
число, а поставка товара ожидается 15-го, то начиная с текущего момента, можно
принимать заказы от клиентов, но с отгрузкой не ранее 15-го. При этом как для
системы, так и для человека, осуществляющего продажи, не будет разницы, есть
товар на складе в данный момент или нет. Таким образом не поступивший еще товар
может быть продан и зарезервирован под определенные заказы. Когда же товар поступит,
его останется только отгрузить клиенту. Использование
динамического резерва имеет свои особенности в плане определения свободного к
продаже товара на складе. Применение динамического резервирования делает
использование свободных остатков на текущую дату бессмысленным. При применении
динамического резерва используется свободный к продаже товар на момент будущей
отгрузки (тот товар, который можно будет отгрузить в будущем). В любое время
динамическое резервирование может дать ответ на вопрос, сколько можно продать
товара исходя из текущих остатков, планируемых поступлений и уже принятых заказов
клиентов. Алгоритм динамического
резервирования в системе AVACCO позволяет обработать ситуации, когда появляется
плановый приход в середине периода планирования, происходит срыв поставки,
отказ клиента от товара и тому подобные случаи. Понятие динамического
резервирования в системе AVACCO расширяется понятием очереди на резерв, что
позволяет решать задачу планирования закупок. Например, если от клиентов поступают
запросы на товар, а его нет на складе, и не ожидается поступлений, то такой
товар может быть поставлен в очередь на резерв, но опять же на определенную
дату. Специалист, ответственный за закупки, может видеть весь список стоящих в
очереди на резерв товаров по позициям (необеспеченные позиции товара) и
заказать товар у поставщика. Как только в системе появится плановое
поступление, товар стоящий в очереди зарезервирует это поступление под заказы.
Далее логика как в предыдущем примере. Очередь резервирования
обычно организуется многоуровневой. Перемещение по уровням происходит при
наступлении различных событий. Обычно движение товарных позиций в очереди
логически организуется в одном направлении, от самого верхнего уровня по
направлению к резерву. Например, при поступлении простого запроса от клиента
(просто интерес), товар ставится в очередь с уровнем 2, при подтверждении
клиентом закупки система пытается зарезервировать товар и, если не окажется в
наличии свободного товара в динамическом резерве, товар переместится на уровень
очереди 1. В дальнейшем при плановом поступлении товара будет автоматически
резервироваться все то, что находится в очереди 1. Приведенные примеры не
исчерпывают возможности применения динамического резервирования. В частности,
оно может использоваться и при планировании производства, а точнее, при
управлении обеспечением производства сырьем. В этом случае резерв под заказы
клиента на определенную дату можно рассматривать как планы производства на
определенную дату, а механизм динамического резерва будет давать ответ на
вопрос: «СКОЛЬКО, КОГДА и КАКОГО сырья необходимо закупить, чтобы обеспечить
производство по намеченным планам». Ответ на вопрос «КОГДА?» позволяет
управлять поставками по принципу «точно в срок», что является оптимальным
способом управления товарными запасами. Вся информация, попавшая
в этот механизм, не удаляется, а просто аннулируется с течением времени. Это
позволяет получать в последствии, например, сведения о том, какими товарами
интересовался клиент и сколько он закупил в итоге. Согласитесь, что это весьма
полезная информация для маркетинга. В целом алгоритм
динамического резервирования, реализованный в системе AVACCO, позволяет: - эффективно управлять поступлениями и отгрузками;
- всегда иметь в наличие товар необходимый к отгрузке;
- иметь план отгрузок на будущий период, что облегчает процесс закупок и финансового планирования;
- увеличить оборачиваемость средств, поскольку появляется возможность управлять поставками товара по схеме «точно в срок» (имеется в виду точно к моменту отгрузки товара клиенту), что сокращает время пребывания товара на складе;
- управлять обеспечением производства комплектующими изделиями;
- получать разнообразную информацию по движению товара как в прошлом, так и в перспективе;
Отметим, что
относительным недостатком динамического резервирования является
чувствительность его алгоритма к точности вероятных сроков поступления товара.
Проще говоря, алгоритм чувствителен к срыву сроков
поставки, поэтому рекомендуется завышать планируемые сроки поступления товара,
если нет уверенности в их точности. Однако существуют механизмы продления срока
резервирования с интеллектуальной обработкой таких ситуаций. 6.5 Эргономичность интерфейсаНе последнее значение для
пользователя имеет удобство его работы за экраном компьютера. Концепции
построения интерфейса пользователя системы AVACCO были заложены с учетом
основных особенностей построения распространенных современных программ, в
частности Microsoft Outlook. Рассмотрим характерные черты интерфейса пользователя
системы AVACCO. 6.5.1 Навигационное дерево как основа структурного представления информацииВся доступная
пользователю информация, имеющаяся в системе AVACCO, представлена с помощью
дерева объектов системы, в котором можно единым образом просматривать разнородную
информацию (рис. 6.13).
Рис. 6.13. Работа с навигационным деревом
Преимущества единого
навигационного дерева трудно переоценить. Во-первых, каждый работающий с
системой получает наглядное представление о данных, доступных для использования.
Во-вторых, это обеспечивает быстрый доступ к любому объекту системы. В-третьих,
это интуитивно облегчает обучение – схожесть дерева объектов с традиционной
структурой папок и файлов в Windows, структурой сети и
т. д. позволяет пользователю быстро научиться выбирать интересующие его
объекты. Следует сказать и о том,
что идеология работы пользователя в системе AVACCO строится не с помощью
разветвленных меню, в которых приходится долго искать нужное действие, а с помощью
«контекстных меню», состав которых соответствует особенностям объектов,
отображаемых в дереве. Пользователь должен просто найти тот объект, который ему
нужен, а потом инициализировать определенное действие над ним из списка возможных
действий, приведенного в контекстном меню. Поскольку объекты системы имеют
интуитивно понятные названия, привычные для людей, занимающихся бизнесом, то
фактически для освоения функционала системы пользователю достаточно научится
выполнять сравнительно несложные операции - работу с деревом папок для поиска
нужной информации и вызов контекстного меню. 6.5.2 Очередь задач на выполнение и откатМы уже упоминали выше о
наличии в системе AVACCO очереди задач на выполнение и откат. Внешне вид этой
очереди очень напоминает список задач Microsoft Outlook. Благодаря использованию
прав доступа задачи в очереди имеют адресный характер, т.е. определенные задачи
могут и должны выполнять только определенные люди. В большинстве систем
выполнение различных операций инициируется с использованием разнообразных меню,
т.е. пользователь должен найти нужный пункт меню, открыть соответствующий
документ и выполнить намеченное им действие. В системе AVACCO задача сама
находит своего адресата – пользователь для выполнения своих обязанностей должен
следить за изменением списка собственных задач и вовремя выполнять их. Всю
необходимую информации для работы он может получить из наборов данных, связанных
с этим задачами. Все этапы всех процессов
могут «откатываться», т.е. выполняться в обратном направлении, что дает
возможность отменять выполненные действия. Откат процессов также осуществляется
с помощью очереди задач – очереди на откат. 6.5.3 Реализация привычного интерфейса и отсутствие избыточности Эти требования
обеспечиваются в системе AVACCO за счет гибкой настройки интерфейса
пользователя с помощью VBA и возможности достаточно
легкого отключения тех элементов интерфейса (меню, окна, формы), которые по
каким-либо причинам не используются. Таким образом для каждого пользователя может
быть построен индивидуальный интерфейс. 6.6 Решение проблемы распределенности
бизнесаВ России с ее обширными
просторами проблема распределенности бизнеса по различным регионам и
соответственно централизованного управления всеми представительствами стоит
особенно остро. Раньше эту проблему можно было решить только физическим сбором
бумажной отчетности в центральном офисе. Сегодня компания AVACCO делает здесь
ставку на возможности Интернета, который получает все большее распространение в
Росии. Для этих целей создано
специальное программное средство – AVACCO Internet клиент,
обладающее таким же функционалом, что и обычное клиентское приложение. AVACCO
Internet клиент – это WEB сервер, к которому можно подсоединиться из любой
точки земного шара при помощи, например, броузера MS Internet Explorer. При
этом работа удаленного пользователя не будет отличаться от работы обычного
пользователя, находящегося в корпоративной сети. Кстати, разработчики AVACCO
планируют в будущем обеспечить свободный доступ к использованию
демонстрационной версии системы через AVACCO Internet-клиент
непосредственно со своего сайта. Альтернативной
возможностью решения проблемы распределения бизнеса служит встроенная
возможность MS SQL Server реплицировать (копировать с синхронизацией изменений)
данные на любое количество серверов. Поскольку AVACCO Server базируется на MS
SQL Server, то эта возможность открыта для предприятий, использующих систему AVACCO. 6.7 Защищенность данныхЛюбая уважающая себя
организация заботится о собственной безопасности. Для этого создаются службы
безопасности, разрабатываются и реализуются различного рода политики безопасности
и т. д. При создании КИС наибольшее внимание обычно уделяется информационной
безопасности. В системе AVACCO
реализованы три уровня информационной защиты: - защиту от несанкционированного доступа к компьютеру сервера обеспечивают мощные средства MS Windows NT;
- защиту данных берет на себя MS SQL Server 7.0;
- защиту данных и алгоритмов предоставляет AVACCO Server;
Средства для настройки
прав доступа в MS Windows NT и MS SQL Server 7.0 хорошо известны, и мы не будем здесь на них
останавливаться. Что обеспечивает в этом
плане AVACCO Server? Во-первых, те же возможности защиты, что и в других
системах: пользователи и группы, настройка прав доступа на все объекты системы.
Во-вторых, изюминкой системы AVACCO можно считать зависимые права доступа. Это
список правил зависимостей между классами различных объектов, позволяющих
настроить права одного объекта в зависимости от прав другого (рис. 6.14).
Рис. 6.14. Настройка зависимых прав доступаПример. Есть справочник
контрагентов и список расходных накладных. В расходных накладных есть поле
«клиент», ссылающееся на список контрагентов (каждый клиент из любой накладной
находится в справочнике контрагентов). Можно указать зависимость видимости
накладных согласно видимости контрагентов. Таким образом, если в накладной
указан клиент-контрагент, работа с которым недоступна пользователю, то и накладная
будет пользователю недоступна. Если такая зависимость не будет указана, то
накладная будет доступна, но клиент не известен. На этом
мы завершаем пример анализа выполнения общих требований к интегрированным
системам. Надеемся, что приведенные здесь сведения будут полезны вам в
практической деятельности.
|