Главная | О компании | Новости | Обучение | Обратная связь | Форум |
ABACUS Financial ABACUS Builder ABACUS Professional
|
ПроектИнформ Негоциант™ или что могут сделать с ABACUS Builder™ полтора человека за полтора года Статья посвящена новой корпоративной системе автоматизации учета и управления экономической деятельностью предприятий и холдингов оптовой и розничной торговли Негоциант™, разработанной фирмой ПроектИнформ. Система ПроектИнформ Негоциант™ (ПИН™) предназначена для высокоэффективного комплексного решения задач оперативного учета, анализа, планирования и управления торговыми, складскими и финансовыми операциями предприятия или холдинга и относится к классу ERP-систем. История создания Поскольку одно из важнейших преимуществ системы ПИН™ стало следствием истории ее создания, целесообразно, наверное, коротко изложить эту историю. Несколько лет назад группа компаний, занимающаяся оптовой торговлей мебельными тканями и комплектующими, и входящая на том момент в тройку крупнейших поставщиков в России в данном сегменте рынка, решила построить у себя корпоративную систему автоматизации учета и управления экономической деятельностью. Существующие на тот момент системы автоматизации были отвергнуты, так как не учитывали и малой доли особенностей бизнес-процессов, реализуемых в предприятиях группы. И руководством группы компаний было принято смелое решение создавать свою собственную систему автоматизации с нуля. Забегая вперед можно отметить, что решение полностью себя оправдало. Руководству группы компаний поступило предложение использовать в качестве инструмента систему разработки информационных систем на базе СУБД Oracle ABACUS Builder версии 7.0 (AB7™), созданную фирмой «Омега». Поскольку предложение последовало от одного из разработчиков этой системы в тоже время хорошо известного руководству группы, это предложение было принято на безальтернативной основе. Менее чем через год в строй вступил первый блок системы, реализующий основные функции фронт-офиса и склада. На этом этапе к проекту присоединился еще один разработчик, до этого занимавшийся разработкой подобных систем на AB7™. И еще менее чем через год корпоративная система автоматизации приобрела полную функциональность. Причем разработка производилась так сказать in vitru, то есть непосредственно внутри уже функционирующей в группе компаний системы. Возможность такой разработки, кстати, является одним из многих преимуществ инструмента разработки AB7 (подробнее о преимуществах инструмента будет сказано дальше). Во время разработки в процессе функционирования системы она не только максимально адаптировалась к бизнес-процессам, существующим на предприятиях группы компаний, но и позволяла оценить эффективность этих процессов в условиях существования корпоративной информационной системы и максимально усовершенствовать их. То есть, можно с уверенностью сказать, что в процессе разработки были найдены максимально эффективные механизмы автоматизации учета и управления, что является одним из главных преимуществ системы Негоциант™. На данном этапе для дальнейшей разработки и продвижения системы была создана фирма «ПроектИнформ», а готовая система получила название Негоциант™ (ПроектИнформ Негоциант™ или просто ПИН™). В настоящее время работы по совершенствованию системы Негоциант™ продолжаются. Она постоянно пополняется новыми разделами, а существующие разделы дополняются новым функционалом. Необходимо отметить, что группа компаний, два года назад входящая в тройку крупнейших в России поставщиков мебельных тканей и комплектующих, в настоящее время стала безусловным лидером в этом сегменте рынка. И не последнюю роль в этом сыграла корпоративная система автоматизации учета и управления экономической деятельностью холдинга оптовой и розничной торговли ПроектИнформ Негоциант™. Инструмент разработки ABACUS Builder (AB7™) Здесь имеет смысл рассказать о том, что собой представляет инструмент разработки AB7™, позволивший в короткие сроки и с минимальными затратами создать полноценную систему автоматизации Строго говоря, AB7™ - это не просто инструмент разработки аналогичный компиляторам С++, Delphi и т.д., это, как теперь принято говорить, «движок», реализующий трехуровневую клиент-серверную архитектуру с «тонким» клиентом, использующий в качестве хранилища данных СУБД Oracle, со встроенными в него всеми необходимыми средствами разработки. Что такое трехуровневая клиент-серверная архитектура с «тонким» клиентом и что она дает пользователям? Во-первых, трехуровневая клиент-серверная архитектура подразумевает разделение всех вычислительных средств на три класса. Это:
Рис. 1 Типовая схема построения системы Во-вторых, трехуровневая клиент-серверная архитектура с "тонким" клиентом позволяет существенно снизить стоимость вычислительных средств при сохранении высокого быстродействия системы в целом, поскольку в качестве компьютеров-клиентов (а их число может быть и 50 и 100 и 200 и даже более) простейшие офисные компьютеры начального уровня, цена которых на настоящий момент составляет 6-7 тыс. рублей (без монитора). В-третьих, трехуровневая клиент-серверная архитектура позволяет легко масштабировать систему от использования одного компьютера для Oracle-сервера и ABACUS-сервера (не говоря уж о ABACUS-клиенте) для мелких и средних компаний, до использования нескольких ABACUS-серверов на разных компьютерах для крупных компаний с большим документооборотом и с большим числом одновременно работающих клиентов (несколько сотен). Естественно, AB7™ поддерживает и удаленную работу клиентов через сеть Интернет. Типовая, наиболее часто используемая схема построения системы приведена на Рис. 1. А схема с несколькими ABACUS- серверами представлена на Рис. 2. Рис. 2 Схема построения системы с выделенными ABACUS-серверами для Front-Office, Back-Office и удаленных клиентов Что дает пользователю использование в качестве хранилища данных СУБД Oracle? Во-первых, надежность и, во-вторых, быстродействие. На сегодняшний день Oracle наиболее надежная и производительная СУБД, рассчитанная на работу с огромными объемами данных, предоставляющая широчайшие возможности по масштабированию. Эта СУБД может быть развернута на любой платформе, начиная от небольших серверов и заканчивая крупнейшими многопроцессорными серверами и многоузловыми кластерами. Что дают пользователю встроенные в AB7™ средства разработки? Скорость и удобство разработки и доработки информационных систем. То есть разработчик избавлен от необходимости остановки системы, изменения структуры базы данных, перекомпиляции кода, отладки, исправления ошибок, новой перекомпиляции, перезапуска и т.д. Достаточно стартовать AB7™ и разработчик может изменять структуру базы данных, изменять экранные формы (как внешний вид, так и функционал), отлаживать работу форм и их взаимодействие. Причем, в это же время с системой могут работать пользователи, и даже с теми формами, которые модифицирует разработчик. Кроме того, к преимуществам AB7™ следует отнести и модель данных, реализованную в системе. В основе модели данных лежит направленный граф понятий предметной области. Данное утверждение, наверное, нуждается в некоторой иллюстрации. Например, в бизнес-приложениях существуют такие понятия, как холдинг, предприятие холдинга, подразделение предприятия, сотрудники подразделения и т.д. и т.п. Между этими понятиями существует иерархическая связь: холдинг включает в свой состав предприятия, предприятия включают в свой состав подразделения и т.д. В модели данных AB7™ понятия носят названия "категорий". Между категориями устанавливается связь. Причем, сверху вниз связь имеет силу "один ко многим", а снизу вверх связь имеет силу "один к одному". То есть, к одному объекту "верхней" категории, могут быть привязаны сколько угодно объектов "нижней" категории, и, наоборот, один объект "нижней" категории может быть привязан только к одному объекту "верхней" категории. На практике это означает, что в предприятие могут входить несколько подразделений, но подразделение может принадлежать только одному предприятию. Каждое понятие предметной области характеризуется также некоторыми параметрами. Так предприятие характеризуется названием, ИНН, КПП, адресом и т.д. Для категорий в качестве характеристик выступают "атрибуты" категорий. Естественно, реализовать такую иерархическую структуру данных непросто даже для опытного разработчика информационных систем. И здесь на помощь разработчику опять приходит AB7™, имеющий в своем составе инструмент проектирования графа данных, который называется "Администратором категорий и связей" (АКС). С АКС (не путать с АКМ) разработчик может забыть как кошмарный сон таблицы, поля, первичные ключи, однополевые и двухполевые индексы, индекс-организованные таблицы, констрейнты, форин-констрейнты и прочие танцы с бубнами вокруг базы данных (если, конечно, он их знал). Все, что необходимо - это создать категорию, определить для него атрибуты и привязать ее сверху или снизу к другой категории. Например. Создается категория, называемая "Предприятие", в нее добавляются строковый атрибут "Название" и числовой атрибут "ИНН". Создается категория "Подразделение" со строковым атрибутом "Название" и привязывается снизу к категории "Предприятие". Далее создается категория "Сотрудник" с атрибутами "ФИО", "Дата рождения", "Пол" и т.д. и привязывается снизу к категории "Подразделение". И все - структура данных описана. При должной сноровке весь процесс может уложиться в одну минуту. Опытный разработчик баз данных знает какие зубодробительные вложенные SQL-запросы по нескольким таблицам необходимо составлять, чтобы получить данные в таких сложных структурах данных. Тут на помощь разработчику приходи встроенный в AB7™ свой язык запросов к базе данных - язык ABACUS Query Language (AQL - "Эй-Кью-Эль" или "Эйквил"). AQL имеет в своем составе команды навигации по "дереву объектов". То есть, он позволяет "подниматься вверх" и "спускаться вниз" по "дереву объектов". На практике это означает следующее, для того, чтобы получить список подразделений предприятия необходимо просто спуститься вниз от объекта предприятия на категорию подразделений. Далее следует специфичный пример, требующий от читателя хотя бы минимальных знаний SQL. И, поэтому, он выносится на врезку.
Кроме АКС и языка запросов AQL, с состав инструментов разработки AB7™ входят также процедурный язык APL (ABACUS Program Language) и дизайнер экранных форм. Язык APL полностью адаптирован к работе с иерархической моделью данных. Он содержит специфические типы данных, такие как объект, и соответствующие процедуры, позволяющие создавать и удалять объекты, связывать объекты друг с другом и разрывать эту связь и т.д. Дизайнер форм кроме стандартных интерфейсных элементов (поля ввода, таблицы, CheckBox'ы, RadioButton'ы, кнопки, кнопки с меню, изображения, закладки и т.д.) содержит также специфичные элементы, предназначенные для работы с иерархическими данными. Например поле, позволяющее автоматически привязать объект в другому объекту. Итак, подводя итоги, можно выделить следующие преимущества AB7™ и как инструмента разработки и как "движка" готового решения: ПроектИнформ Негоциант™ После завершения экскурса по AB, следует рассказать, что же представляет собой Негоциант. Что было сделано с помощью инструмента AB7™ за полтора года коллективом, состоящим в среднем из полутора разработчиков. ПроектИнформ Негоциант™ (ПИН™) - это корпоративная система автоматизации учета и управления экономической деятельностью предприятий и холдингов оптовой и розничной торговли, предназначенная для высокоэффективного комплексного решения задач оперативного учета, анализа, планирования и управления торговыми, складскими и финансовыми операциями предприятия или холдинга. ПИН™ включает автоматизированный учет и управление по следующим направлениям: Вместе с тем система ПИН™ обладает рядом особенностей в реализации бизнес-процессов. Структура холдинга В системе ПИН™ реализована многоуровневая иерархическая структура холдинга. Холдинг, как модель, представляет собой совокупность компаний, бизнесов, связанных юридически и объединенных единой структурой управления, эффективность которого зависит от настроенного механизма управления, как отдельными предприятиями, входящими в холдинг, так и холдингом в целом. Холдинг, как функция - это инструмент контроля над активами, инструмент "жесткого" текущего и стратегического управления и эффективного распределения финансовых потоков для достижения планируемых показателей. Верхний уровень структуры образуют направления деятельности в рамках всего холдинга, а нижний уровень образуют предприятия, занимающиеся тем или иным видом деятельности в структуре холдинга. Вся аналитическая обработка данных в системе ПИН™ может производиться как по отдельному предприятию, так и по направлению в целом, то есть по всем предприятиям выбранного направления. Для удобства работы с номенклатурой она разделяется на номенклатурные профили в соответствии с направлениями деятельности предприятия. Взаимоотношения с контрагентами В системе ПИН™ различаются два типа контрагентов: клиенты и представители клиента. Каждый клиент может иметь неограниченное количество представителей. В свою очередь, контрагент может быть представителем только одного клиента. Клиент не может быть одновременно и представителем, и, наоборот, представитель не может являться одновременно клиентом. Система позволяет устанавливать для каждого клиента индивидуальные правила работы (возможность предоставления отсрочки по оплате поставленного товара, размер допустимой задолженности по оплате, индивидуальные прайс-листы и т.д.). Все правила работы, включая прайс-листы, установленные для клиента, автоматически распространяются на всех его представителей. При этом система позволяет устанавливать для представителей индивидуальные правила работы, отличные от правил работы, установленных для клиента. Весь баланс контрагента ведется по клиенту, хотя отпуск товара может осуществляться любому представителю данного клиента. Получение оплаты также возможно от любого из представителей клиента. Вся аналитическая обработка по контрагентам в системе ведется в разрезе клиентов. При этом в каждом виде отчета присутствует возможность получения расшифровки по клиенту, менеджеру, номенклатуре и т.п. Кураторы предприятий-клиентов Для каждого клиента предприятий холдинга в системе ПИН™ назначается куратор менеджер, ответственный за работу с конкретным предприятием-клиентом и всеми его представителями. Куратор получает все права на работу с определенным клиентом и его представителями: формирование заявок на отгрузку товара, формирование возвратов товара, просмотр дебиторской задолженности клиентов и т.д. При этом в системе предусмотрено, что куратор может быть изменен. Это изменение учитывается в аналитике. Вся аналитика в разрезе менеджеров предоставляется по кураторам с учетом их возможной замены. Расчет премиальных менеджеров осуществляется с учетом результатов их деятельности. Номенклатура товара Для работы в системе ПИН™ предусмотрены различные справочники, в том числе, справочник по номенклатуре товаров. Для удобства использования номенклатурного справочника в системе ПИН™ вся номенклатура подразделяется на номенклатурные профили, соответствующие направлению деятельности предприятия или соответствующего подразделения предприятия. По каждому номенклатурному профилю может быть определен список номенклатурных групп товаров, образующих иерархическую структуру неограниченной вложенности. Для каждого предприятия холдинга система ПИН™ имеет механизм определения используемой им номенклатуры, который позволяет существенно сократить объем справочника за счет исключения из номенклатурного справочника предприятия неиспользуемую номенклатуру товара. Закупка товара Система ПИН™ обеспечивает ведение полного документооборота по закупке товара по следующим операциям: Формирование заказа учитывает особенности закупки товара непосредственно у производителя. Формирование заказа осуществляется на основе прогноза наличия товара на складах холдинга на дату получения товара, который учитывает: Система ПИН™ содержит механизм мониторинга всех этапов выполнения заказа: изготовления, отгрузки товара (в том числе отдельными партиями) с формированием контейнеров (в том числе одного контейнера от разных поставщиков) и доставки товара. Складские операции В системе ПИН™ предусмотрено неограниченное количество складов с привязкой каждого склада к предприятию холдинга. Для поддержания необходимого ассортимента на складах в системе существует механизм перемещения товара между складами в пределах холдинга, а также возможность отгрузки товара клиенту с любого склада холдинга. В системе поддерживается мониторинг состава любого склада, то есть любой приход или расход товара вызывают изменение состава склада с ежедневным сохранением состояния склада, что позволяет получать полную аналитику по составу склада на любой момент времени. Система ПИН™ позволяет одновременно вести количественный и суммовой учет товара (по себестоимости), как на отдельном складе, так и по всем складам, с возможностью инвентаризации и переоценки товара. Продажа товара Система ПИН™ обеспечивает полный документооборот по продаже и возврату товара по следующим операциям: При формировании расходной накладной автоматически происходит коррекция состава склада, а также устанавливается связь (разноска) накладной с приходами (оплатами, возвратами и поставками товара) от клиента или его представителей. Разноска расходов по приходам позволяет, во-первых, устанавливать факт полной оплаты приходной накладной, что используется, например, при расчете премирования кураторов, а, во-вторых, позволяет получить аналитику по срокам оплаты товара клиентами. Расчет себестоимости отгруженной продукции В системе ПИН™ используется механизм расчета себестоимости отгруженной продукции, который объединяет в единую систему расчет себестоимости в расходных накладных, возвратных накладных, накладных на перемещение товара и актах изменения состава склада на основании данных приходных накладных и начальных цен товара. Начальные цены используются, в случае если по товару не было заведено приходов. Механизм расчета себестоимости подразумевает установку связи (разноски) между приходом товара (приходные накладные, возвратные накладные и акты в части, увеличивающей состав склада) и расходом (расходные накладные и акты в части, уменьшающей состав склада). Расчет себестоимости позволяет получить полную аналитику по эффективности реализации продукции без учета некоторых прямых и косвенных затрат в разрезе клиентов, менеджеров (кураторов) и номенклатуры товара. Оплата отгруженного товара Система ПИН™ позволяет учитывать оплату отгруженного клиентам товара, как в наличной, так и в безналичной форме. Все оплаты товара и другие приходы, в том числе товарные, получаемые от клиента или его представителей связываются (разносятся) с расходными накладными и другими расходными документами. Разноска приходов по расходам позволяет легко получать баланс клиента по наличию не разнесенных расходов и приходов. Кассовые операции Раздел "Касса" системы ПИН™ содержит все необходимые инструменты по наличному расчету с контрагентами и сотрудниками холдинга. Касса может выполнять операции по пяти направлениям: Выплата зарплаты и расчеты со сторонними организациями за товары и услуги всегда относятся на определенные статьи затрат. Персонал и зарплата Раздел "Персонал и зарплата" системы ПИН™ содержит инструменты для выполнения следующих функций: Аналитика Система ПИН™ содержит в своем составе мощный аналитический инструмент, предоставляющий пользователю консолидированную отчетность по следующим направлениям: Все глобальные отчеты содержат детализирующие документы, позволяющие получить информацию вплоть до отдельной расходной и приходной накладной или кассового или банковского платежа. Разграничение прав доступа Для обеспечения безопасности система ПИН™ имеет двухуровневую модель разграничения прав доступа пользователей. Первый уровень системы разграничения прав доступа поддерживается средой разработки AB7™. Он подразумевает создание групп пользователей и назначение для них прав на чтение и изменение для каждого документа (экранной формы документа), а также определение прав на доступ к пунктам главного меню системы. Каждый пользователь может входить в одну и более групп. В рамках одной сессии работы с системой (в ABACUS-клиенте) пользователь может зарегистрироваться только в одной группе. После регистрации в системе с правами определенной группы пользователь получает доступ к документам и пунктам главного меню, определенным для выбранной группы. Все документы и пункты главного меню, доступ к которым не предусмотрен для выбранной группы, будут не доступны и не видны для пользователя. В системе доступа предусмотрена специальная группа "Администратор", для которой доступны абсолютно все документы и пункты главного меню системы ПИН™, а также все системные инструменты. Такая система разграничения прав доступа позволяет эффективно управлять доступом к документам для различных групп пользователей и ограничивать доступ и видимость документов, с которыми не работают пользователи определенных групп. Например, менеджеры и складские работники не увидят документов кассы, кассиры не увидят заявок на отгрузку и расходных накладных, и никто кроме руководства предприятия не сможет увидеть отчетных документов. Однако такая система не позволяет распределять документы по разным отделам в рамках одного предприятия или к разным предприятиям в рамках холдинга, т.е., например, менеджер увидит перечень заявок сразу по всем отделам всех предприятий холдинга. Для решения этой задачи и повышения гибкости системы разграничения прав доступа пользователей внутри группы в систему ПИН™ был добавлен второй уровень, который позволяет для каждого пользователя определить только те предприятия холдинга, подразделения предприятия и склады, доступ к которым необходим пользователю. С помощью второго уровня для каждого пользователя внутри группы могут быть установлены различные права, например, право подписи документа, право формирования и утверждения прайс-листа, доступ к определенным статьям расходов, разрешение на проводку и сторнирование документов, доступ к отдельным видам отчетности и т.д. В заключение, необходимо еще раз подчеркнуть, что система ПИН™ показала высокую эффективность автоматизации учета и управления, которая позволила использующей ПИН™ группе компаний стать лидером на рынке мебельных тканей и комплектующих. Владимир Русецкий
|
|
|
||