Глава 1. ИНСТРУМЕНТАЛЬНОЕ СРЕДСТВО ALLEGRO 
Общие сведения о системе 
Система Allegro предназначена для ввода, хранения и автоматической обработки 
учетной информации. Система Allegro относится к разряду конфигурируемых (
гибких) систем. Это означает, что логика и 
интерфейсы, с которыми работает конечный пользователь, зависят от 
используемой конфигурации. Конфигурация может быть разработана на заказ или 
быть одной из тиражируемых специализированных стандартных конфигураций. Сами конфигурации 
создаются непосредственно в системе Allegro и не требуют для своей 
разработки дополнительных средств, хотя и не исключают их использование
. Система Allegro устроена таким образом, что «средства 
разработки конфигурации» и «исполняющая система» совмещены в 
одном приложении Allegro.exe. Это позволяет разработчику не 
расходовать дополнительное время на переключение из режима разработки в режим 
исполнения и обратно. Каждая конфигурация состоит из двух, 
полностью отделенных друг от друга частей - метаданных базы и 
модулей оконного интерфейса. Такое разделение позволяет вести разработку конфигурации 
(например, добавление новых отчетов) параллельно с работой 
пользователей, что значительно упрощает бесконфликтное внедрение и развитие конфигурации 
на действующем предприятии. База данных Allegro имеет открытый формат
, не существует никаких специальных «конфигурационных» файлов или 
функций, которые бы вклинивались между разработчиком и базой данных
. Разработчик сам назначает имена таблицам и полям. Это 
дает ему возможность полностью опереться на технологию SQL-запросов 
и тем самым добиться чрезвычайно высоких скоростных показателей конечного продукта
. Большинство отчетов (если не все) удается получать 
за считанные секунды. Клиент-серверная классическая «двухзвенная
» архитектура позволяет реализовать расчеты на больших массивах данных в 
хранимых процедурах, исполняющихся непосредственно сервером баз данных и избежать 
перекачки больших массивов данных по сети на клиент. Еще 
одним преимуществом открытого формата базы является возможность использования других приложений 
или утилит, непосредственно обращающихся к базе данных, например
, PHP-скриптов для организации интранет-сетей. 
В качестве базовых технологий при создании Allegro использовались сервер баз 
данных InterBase (Firebird, Yaffil) и скриптовая система 
Dream Controls, использующая библиотеку VCL Delphi  в качестве компонентов 
для создания оконных интерфейсов. В качестве построителя отчетов используется 
Microsoft Office,  с которым Allegro взаимодействует с помощью компонента 
XL Report от AfalinaSoft. В качестве ячеистой сетки используется 
компонент DbAltGrid от Quasidata. Также в систему добавлены две 
палитры компонентов RX Controls и палитра специализированных компонентов Allergo. 
Для работы с сервером баз данных InterBase используются компоненты прямого 
доступа IBX. В качестве языка программирования используется Delphi Script 
(чрезвычайно близкий по синтаксису с Object Pascal), скриптовые 
модули хранятся в файлах *.pas, *.dfm и 
совместимы с Delphi 6.0. Также возможно программирование 
на языках VB Script, JavaScript и Active Perl (
если он установлен на компьютере-клиенте). 
Система Allegro содержит мощную систему справочников, образующих классы с 
наследованием атрибутов. Система Allegro позволяет создавать структуры для хранения 
документов разных типов. Поддерживается одновременно несколько подчиненных таблиц одного 
уровня в каждом типе документов. Система позволяет также создавать 
таблицы настроек для хранения настроечной информации. 
Система Allegro содержит в себе бухгалтерию (в стиле, 
напоминающем GAAP). Бухгалтерская подсистема устроена так, чтобы в 
любой момент времени обеспечивать полный двусторонний бухгалтерский баланс компании on
-line. Система управления счетами баланса в Allegro сильно 
отличается от аналогичных систем в других бухгалтерских программах и содержит 
массу принципиально новых подходов. Двусторонний иерархический баланс компании (
со всеми развернутыми сальдо) рассчитывается практически мгновенно (со 
скоростью порядка 50 тысяч проводок в секунду) при помощи 
одного SQL-запроса. Окно баланса является одновременно навигатором 
по счетам - выбрав любой счет можно сразу видеть все 
записи по нему (Т-счет), выбрав любую 
запись в Т-счете, можно видеть бухгалтерскую операцию
, которая породила данную запись и документ, породивший эту 
операцию. Всеми бухгалтерскими операциями управляют «шаблоны», настраиваемые 
в процессе разработки конфигурации. Изменение любого шаблона позволяет изменить 
способ проведения документа, к которому шаблон прикреплен. В 
шаблоне указывается, из каких полей документа будут браться цифры 
и как проводиться. После создания (изменения) шаблона
, Allegro автоматически формирует текст хранимой процедуры в базе данных
, которая будет отвечать за формирование проводок в формате журнала 
операций. При сохранении документа, к которому привязан шаблон
, происходит автоматическое перепроведение документа при помощи этой хранимой процедуры
. Используются «вертикальные» или, как их еще 
называют, «смешанные» проводки.  В бухгалтерии Allegro 
счета, как правило, создаются непосредственно в балансе компании 
или в так называемых аналитических регистрах счетов. Возможны также 
и забалансовые регистры счетов. Все счета в составе аналитического 
регистра привязываются к одному справочнику. Балансовые аналитические регистры имеют 
обязательное вхождение в баланс либо в виде двух счетов развернутого 
сальдо, либо в виде одного счета простого сальдо. 
Все счета в Allegro могут свободно перемещаться между каталогами в 
процессе учета, имеют произвольные названия и не требуют нумерации 
(хотя нумерация и не исключается). Это позволяет не 
только получить максимально адекватное изображение баланса для конкретной компании, 
но и постепенно развивать его в процессе учета. 
 
 
               |