«Краткое оглавление КРАТКОЕ ОГЛАВЛЕНИЕ 1 ПОДРОБНОЕ ОГЛАВЛЕНИЕ 4 ВВЕДЕНИЕ 17 Для кого предназначено настоящее руководство 17 История создания платформы 17 Платформа с открытым кодом 18 Обзор архитектуры 20 УСТАНОВКА И ...»
Краткое оглавление
КРАТКОЕ ОГЛАВЛЕНИЕ 1
ПОДРОБНОЕ ОГЛАВЛЕНИЕ 4
ВВЕДЕНИЕ 17
Для кого предназначено настоящее руководство 17
История создания платформы 17
Платформа с открытым кодом 18 Обзор архитектуры 20
УСТАНОВКА И ЗАПУСК 27
Локальная установка 27 Сетевая установка Установка в ручном режиме Настройка параметров программы Получение информации о системеОРГАНИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Элементы управленияПЕРВОЕ ПРИЛОЖЕНИЕ НА ГЕДЫМИНЕ
Первое приложение Что такое скрипт-объект Проводка Параметры скрипт-объектов Подключение внешних процедур. Инструкция Include Редактор скрипт-объектов Хранение скрипт-объектов в базе. КэшированиеОБЩИЕ ПРАВИЛА ОФОРМЛЕНИЯ КОДА
Что такое хороший код Визуальное форматирование Венгерская нотация, использование префиксов в наименованиях объектов Предварительное объявление переменных Разбиение на модули Высвобождение ресурсов, использование TCreator. Понятие объекта Обработка ошибок Приведение типов ВТОРОЕ ПРИЛОЖЕНИЕ. ПИШЕМ ТЕТРИС. Проектирование тетриса Заключение БИЗНЕС-ОБЪЕКТ Что такое бизнес-объект Что такое идентификатор объекта. Понятие РУИД-а Работа бизнес-объекта с данными. Транзакции Работа бизнес-объекта с визуальными формами Связь master-detail. Множества. Основные методы и свойства Создание связанных с бизнес-объектом переменных Создание своих бизнес-классов Модифицирование поведения бизнес-объектов. Перекрытие методов и событий Сохранение объектов в поток и загрузка их из потока ФОРМЫ Иерархия классов форм БАЗА ДАННЫХ Версия структуры базы данных Типы данных. Домены Таблицы Генераторы Индексы Хранимые процедуры Триггеры Представления (проекции) Исключения Переподключение к базе данных. Окно состояния SQL Хитрый NULL Глобальный объект atDatabase. Таблицы для хранения метаданных ФИЛЬТРАЦИЯ ДАННЫХ Использование фильтров Меню компонента фильтрации Окно изменения фильтра Хранение фильтров в базе Использование фильтрации для TIBDataset и TIBQuery ОТЧЕТЫ Пример простого отчета Разграничение прав доступа FastReport xFastReport ДОКУМЕНТЫ Виды документов Структура метаданных Тип документа Пример создания типа документа Алгоритм действий при создании типа документа Встроенные документы Перенос документов между базами НумерацияОРГАНИЗАЦИЯ И НАСТРОЙКА БУХГАЛТЕРСКОГО УЧЕТА НА ГЕДЫМИНЕ
Общие положения Стандартные отчеты их использование и настройка. Дополнительные документы, отчеты и автоматические операции, реализуемые для бухгалтерского учета в стандартных настройках Структуры данных используемые для хранения бухгалтерской информации в программе Структуры данных используемые для стандартных бухгалтерских отчетов Объекты и формы, используемые для работы с бухгалтерскими данными:ОРГАНИЗАЦИЯ СКЛАДСКОГО УЧЕТА НА ГЕДЫМИНЕ
Общие сведения Настройка складских документов Структуры данных, используемые для хранения данных о складском движении. Объекты и формы, используемые для работы со складом ХРАНИЛИЩЕ Работа с хранилищемСОПРЯЖЕНИЕ С ВНЕШНИМИ ПРОГРАММАМИ
РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ
Рекомендации по конфигурированию сервера и локальной сети предприятия Подробное оглавлениеКРАТКОЕ ОГЛАВЛЕНИЕ
ПОДРОБНОЕ ОГЛАВЛЕНИЕ
Управление территориально распределенными базами данных Автоматизация в точном соответствии с потребностями предприятияУСТАНОВКА И ЗАПУСК
Предупреждать о возможном несоответствии детальной записи главной записи Всегда запрашивать параметры для текущего фильтра и предупреждать о фильтрации данныхОРГАНИЗАЦИЯ ПОЛЬЗОВАТЕЛЬСКОГО ИНТЕРФЕЙСА
Базовое диалоговое окно, базовое диалоговое окно с транзакциейПЕРВОЕ ПРИЛОЖЕНИЕ НА ГЕДЫМИНЕ
ОБЩИЕ ПРАВИЛА ОФОРМЛЕНИЯ КОДА
Венгерская нотация, использование префиксов в наименованиях объектов Высвобождение ресурсов, использование TCreator. Понятие объекта Модифицирование поведения бизнес-объектов. Перекрытие методов и событий Создание и редактирование таблиц средствами Гедымина Глобальный объект atDatabase. Таблицы для хранения метаданных Использование фильтрации для TIBDataset и TIBQuery Добавление новой хозяйственной операции Алгоритм действий при создании типа документаОРГАНИЗАЦИЯ И НАСТРОЙКА БУХГАЛТЕРСКОГО УЧЕТА НА ГЕДЫМИНЕ
Дополнительные документы, отчеты и автоматические операции, реализуемые для бухгалтерского Структуры данных используемые для хранения бухгалтерской информации в программе Структуры данных используемые для стандартных бухгалтерских отчетов Объекты и формы, используемые для работы с бухгалтерскими данными:ОРГАНИЗАЦИЯ СКЛАДСКОГО УЧЕТА НА ГЕДЫМИНЕ
Структуры данных, используемые для хранения данных о складском движении. Средства разграничения доступа сервера Interbase Предотвращение несанкционированного доступа Назначение прав доступа на таблицы, поля и процедуры Назначение прав доступа на отдельные колонки таблицы Назначение прав доступа для процедур или триггеров Предоставление нескольких привелегий одновременно Предоставление привелегий нескольким пользователям Использование ролей для предоставления привелегий Предоставление пользователям прав на назначение привелегий «Подводные течения» при назначении прав доступа Предоставление привелегий на выполнение процедуры Почему в Гедымине не используются представления для разграничения прав доступа? Разграничение прав для групп Руководство и Бухгалтерия Перечисление документов и форм, которые нам понадобятся 04. Счета-фактуры валютные(оптовая торговля) Проектирование базы данных (проектирование документов); Проектирование пользовательского интерфейса; Как осуществляется отладка кода в системе Гедымин;СОПРЯЖЕНИЕ С ВНЕШНИМИ ПРОГРАММАМИ
РАСПРЕДЕЛЕННЫЕ БАЗЫ ДАННЫХ
Натуральные и суррогатные первичные ключи Репликация данных на платформе Гедымин Рекомендации по конфигурированию сервера и локальной сети предприятия 3. Отключение компонент IBX 7. Подключение к базе данных Символы условной компиляции SDI (Single Document Interface) Хранилище пользовательское Хранилище рабочего стола Хранилище рабочей компании Введение Гедымин представляет собой новую технологическую платформу с открытым кодом для быстрой разработки прикладных решений. При ее проектировании учитывались современные реалии: увеличение среднего масштаба разрабатываемых решений, расширение спектра прикладных задач, которые решаются при автоматизации предприятий, новые технические условия, в которых функционирует система.Для кого предназначено настоящее руководство Настоящее руководство предназначено в первую очередь для разработчика, создающего прикладные программы на платформе Гедымин, а также для специалиста, занимающегося внедрением готовых решений, адаптацией и подгонкой их под нужды конкретного заказчика. Опытный пользователь и системный администратор так же найдут здесь полезную информацию по эксплуатации системы, практическому решению возникающих проблем.
Подразумевается, что читатель знаком с программированием вообще и, в частности, с такими его современными концепциями как объектно-ориентированное программирование (ООП) и быстрая разработка приложений (Rapid Application Development — RAD). Так же необходимо знание основ реляционных баз данных, клиент-серверных технологий и языка SQL. Опыт непосредственного программирования с использованием Borland Delphi, Microsoft Visual Basic или C# поможет существенно ускорить освоение платформы.
Настоящее руководство разбито на главы, каждая из которых охватывает определенный аспект платформы. В конце каждой главы приводится краткое резюме и контрольные вопросы, которые помогут определить насколько хорошо усвоен материал. В зависимости от того, к какой категории относит себя читатель: опытный пользователь, специалист по внедрению, начинающий или продвинутый разработчик, отдельные главы могут быть опущены без ущерба для усвоения всего материала.
В конце руководства находятся приложения, содержащие полезную справочную информацию: список всех глобальных объектов платформы с описанием их методов и свойств, иерархию бизнес-классов, ответы на часто возникающие вопросы, примеры решения типовых проблем и т.п.
История создания платформы На сегодняшний день Гедымин является флагманским продуктом компании Golden Software и история его создания тесно переплетается с историей самой компании, которая была основана в далеком уже 1994 г. в г.Минске.
Первым программным продуктом, выпущенным компанией, была Анжелика — достаточно простая программа подготовки и печати платежных документов. В целях сохранения исторической достоверности, стоит сказать, что первые копии программы были проданы под именем GPWL1, что являлось сокращением от Golden Print Works Lite. Однако, столкнувшись с тем, что рядовой белорусский пользователь был просто не в состоянии выговорить это название (хотя нам оно казалось вполне читабельным) мы были вынуждены начать поиски нового имени. Даже между отцом и матерью часто возникают разногласия при выборе имени для новорожденного. Что уже говорить о коллективе из четырех человек (имеенно столько сотрудников насчитывала в то время наша компания). В конце концов, утомившись от постоянных споров мы предоставили право выбора нашему бухгалтеру, которая положила конец нашим страданиям, безапеляционно предложив назвать программу в свою честь. Так GPWL стала Анжеликой.
Анжелика оказалась в нужном месте в нужное время. Она была современна (первая белорусская программа под Windows), проста в освоении и удобна в работе. Но, самое главное, она в совершенстве позволяла выполнять те задачи, для которых, собственно, и была предназначена: подготавливать и печатать платежные документы. Анжелика просто обязана была стать бестселлером и она стала им.
Программа успешно продавалась в течение более чем десяти (!) лет. Причем, не только нашей компанией, но и многочисленными пиратами.
Анжелика положила начало целому семейству программных продуктов для ведения бухгалтерии, складского и торгового учета, расчета заработной платы, учета основных фондов предприятия и т.п. И Читается как Джи-Пи-Ви-Эль.
хотя название каждого продукта содержало в себе слово Анжелика: Анжелика-Бухгалтер, Секрет Анжелики2, Зарплата Анжелики и т.п.3, по сути это были отдельные приложения, каждое со своей базой данных, своим пользовательским интерфейсом и системой команд. При эксплуатации нескольких программ семейства на одном предприятии, «Анжелика-Бухгалтер» выступала в роли ядра, центральной части программного комплекса, куда экспортировались данные справочников и бухгалтерских проводок из других программ. Как правило, две любые программы комплекса (если, конечно, одна из них не являлась «Анжеликой-Бухгалтер») не могли взаимодействовать друг с другом напрямую.
Естественно, что очень скоро, такая программная организация перестала удовлетворять как нас самих, так и наших клиентов. Файл-серверная архитектура была ненадежна при эксплуатации в сетях.
Адаптация программы под нужды одного заказчика зачастую приводила к тому, что переставала работать функциональность, созданная для другого заказчика. Данные дублировались в нескольких местах, что порождало настоящий ад для специалистов отдела сопровождения при их рассинхронизации.
Несколько программ семейства, установленных на одном предприятии, напоминали скорее муравейник, чем грамотно построенное здание.
Первые эскизы проекта будущей платформы появились у нас в далеком уже 1997 году. Постепенно, идея приобретала все более и более четкие контуры. Начиная с 1999 года мы вплотную приступили к анализу и проектированию, а с 2000 года к кодированию.
Разработка программного обеспечения представляет собой итеративный процесс. И хотя, вышедшая весной 2005 года финальная версия платформы имела номер 1.00, на самом деле это была вторая большая итерация. Первая — датируется 2000-2003 г.г. На ней мы смогли проверить основные концепции построения системы. Определить, что именно необходимо пользователю, какой функциональности недостает, а какая является избыточной и невостребованной. На основе накопленного опыта мы внесли существенные изменения в первоначальный проект. Именно во второй «реинкарнации»
мы сделали Гедымин полноценной системой программирования и быстрой разработки приложений.
Платформа с открытым кодом Мы не сразу пришли к тому, чтобы сделать Гедымин проектом с открытым исходным кодом. Во-многом, на наше решение повлияло наблюдение за развитием многих open source систем, например, таких как:
операционная система Linux, web-сервер Apache, браузер Firefox и т.д. Исходный код Гедымина, так же включает в себя открытые библиотеки JCL и SynEdit. И, конечно же, стоит упомянуть используемый Гедымином сервер баз данных Firebird, который представляет собой open source клон широко известного коммерческого SQL сервера Borland Interbase.
Мы считаем, что использование платформы с открытым исходным кодом приносит выгоду всем участникам данного процесса. Так, пользователь имеет возможность существенно снизить стоимость программной системы и может дорабатывать и развивать ее в соответствии с собственными потребностями. Разработчик, он же поставщик системы с открытым исходным кодом, получает свою выгоду ввиде богатой обратной связи, тестирования, доработки и разработки как ядра платформы, так и набора прикладных решений силами сторонних разработчиков.
Суть лицензии, по которой поставляется исходный код платформы Гедымин заключается в следующем:
1. Авторские права на исходный код платформы Гедымин принадлежат компании Golden Software Таким «загадочным» наименованием программа автоматизации торгового учета обязана популярному в то время латиноамериканскому сериалу «Секрет Тропиканки». И хотя мы и не смотрели телевизор, название нам понравилось.
Вот полный список программ, входивших в семейство Анжелика: 1) Анжелика — печать платежных документов; 2) Анжелика-Бухгалтер — бухгалтерский учет; 3) Секрет Анжелики — складской и торговый учет; 4) Средства Анжелики — учет основных средств; 5) Зарплата Анжелики — расчет заработной платы; 6) Меню Анжелики — калькуляция меню; 7) Аренда Анжелики — учет договоров аренды; 8) Договор Анжелики — составление договоров; 9) СТО Анжелики — станция технического обслуживания автомобилей; 10) Декларация Анжелики — расчет и печать налоговой декларации; 11) Хранитель Анжелики — архивное копирование; 12) Совет Анжелики — правовая информация.
Любой желающий может бесплатно получить исходный код платформы Гедымин4, откомпилировать его и использовать полученный выполняемый модуль для собственных нужд (например, для автоматизации собственного предприятия) или для коммерческого использования (например, для продажи третьим лицам).
3. В случае, если некоторое лицо (организация) вносит свои изменения в исходный код платформы (исправления ошибок, доработка существующей функциональности, добавление новой функциональности), эти изменения должны быть сделаны доступными как поставщику платформы, так и любому иному пользователю платформы Гедымин.
4. Авторские права на изменения принадлежат непосредственно тому лицу (организации), которое (которая) произвело эти изменения.
Прикладные решения Прикладные решения (называемые так же настройками) могут быть приобретены у компании Golden Software of Belarus, Ltd за отдельную плату, либо разработаны пользователем платформы самостоятельно. На сегодняшний день разработан целый спектр настроек, охватывающих такие сферы, как:
• Автоматизация бухгалтерского и налогового учета;
• Логистику и склад;
• Торговлю, включая опт, розницу и комиссионную торговлю;
• Управление торговым залом, включая подключение разнообразного торгового оборудования;
• Управление взаимоотношениями с клиентами;
• Управление кадрами предприятия и расчет заработной платы;
• Управление рестораном, включая калькуляцию блюд;
Прикладные решения так же поставляются с открытым исходным кодом. Пользователь (покупатель) может изменять их и развивать в соответствии со своими потребностями.
Бизнес с компанией Golden Software Условия лицензии на поставку платформы Гедымин и набора прикладных решений открывают перед партнерами компании следующие возможности по ведению собственного бизнеса:
1. Во-первых, сторонняя компания может абсолютно бесплатно воспользоваться платформой, как инструментальным средством для создания собственных прикладных решений и поставки их 2. Во-вторых, сторонняя компания может стать партнером Golden Software, Ltd и распространять решения, созданные Golden Software Ltd, получая либо процент от каждой сделки, либо некоторое фиксированное вознаграждение, т.е. действовать как дистрибьютор продукции компании Golden Software, Ltd;
3. В-третьих, возможен любой смешанный вариант, основанный на двух предыдущих пунктах.
Например, компания может заниматься автоматизацией предприятий определенной отрасли, устанавливая базовые настройки от Golden Software, Ltd совместно с собственными настройками, реализующими отраслевую специфику.
Инструментальные средства При разработке платформы использовался компилятор Borland Delphi 5. Мы постарались свести к минимуму использование сторонних программных компонентов. Исходный код Гедымина включает:
Библиотека FastReport, используемая Гедымином, не является open source проектом. Каждому, кто будет использовать исходный код платформы, придется приобрести необходимое количество лицензий непосредственно у разработчика данной библиотеки.
• Генератор отчетов FastReport версии 2.55 с небольшими исправлениями, адаптирующими его для использования в Гедымине и исправляющими некоторые мелкие баги;
• Набор компонентов Toolbar 2000;
• Библиотеку прикладных функций JCL;
• Редактор текста с подсветкой синтаксиса SynEdit;
• Популярную библиотеку zlib для упаковки данных.
Для организации доступа к серверу базы данных используются компоненты Interbase Express (IBX), которые были существенно переработаны.
Полный размер исходного кода платформы, показываемый при построении (команда Build) выполняемого модуля составляет около одного миллиона строк5.
Обзор архитектуры Проблемно-ориентированная среда Гедымин представляет собой проблемно-ориентированную платформу. Это означает, что при создании прикладного решения разработчик концентрирует свои усилия именно на решении поставленной задачи, а не на создании кода отслеживающего движение мыши, управляющего размещением элементов управления на экране или отвечающего за какие-то сложные вопросы записи в базу данных.
Приложения в Гедымине разрабатываются в терминах классов проблемно ориентированных бизнессущностей (entity), называемых также бизнес-классами. Это одна из существенных особенностей платформы.
Вот несколько примеров классов бизнес-объектов и принципы проектирования приложений с их использованием:
Справочники Описания таких сущностей, как товары, контрагенты, валюты, склады, объединяет наличие таких общих свойств, как внутренняя идентификация объекта в системе, необходимость поддержки иерархии и группировки элементов, необходимость поддержки вложенных таблиц. Информацию об этих объектах надо хранить, они задействованы в хозяйственных операциях предприятия и т.д. В Гедымине все такие сущности объединены в общий класс “справочник”, для которого перечисленные выше свойства и возможности поддерживаются на уровне платформы.
Для создания в Гедымине нового справочника достаточно описать необходимый набор параметров. Это делается визуально, не требуется писать ни единой строчки кода. Так, для создания справочника “товары” достаточно:
• указать его название — “товары”;
• отметить, что справочник иерархический (товары могут делиться на группы и подгруппы);
• определить другие свойства, которые должна поддерживать система для данного справочника, такие как способ нумерации элементов, автонумерация и т.п.
• задать поля элементов справочника - для товаров это может быть закупочная цена, отпускная Необходимый минимум для создания (описания) бизнес-класса “справочник” на этом выполнен — теперь достаточно одним нажатием кнопки сохранить эту сущность и можно начать работать с ней в режиме использования. При этом соответствующая экранная форма для работы с созданным нами справочником генерируется системой автоматически. Естественно, разработчик может сконструировать экранную форму и самостоятельно, придав ей в точности такой вид и свойства, которые соответствуют особенностям решаемой задачи, необходимы по эргономическим соображениям и т.д.
В данном количестве строк учитываются также код библиотек VCL, используемый Гедымином.
Документы Документы — счета, накладные, заказы и т.п. — фиксируют различные события, происходящие в хозяйственной жизни организации. Важным свойством документа является его привязка ко времени. В Гедымине для этих объектов поддерживается идентификация самого события хозяйственной жизни, отражение в учетных механизмах, контроль событий и отражение событий в реальном времени. Такой набор функциональности заложен в систему и обеспечивает быструю разработку разнообразных документов.
Так, для описания документа “приходная накладная”, который фиксирует поступление товаров на предприятие, нам достаточно указать реквизиты документа:
• Организация (контрагент), от которого мы получаем товар — ссылка на справочник организаций. При этом проявляется очень важная возможность — те объекты и сущности, которые мы описываем в системе сами становятся типами данных;
• Склад, на который поступает товар — ссылка на справочник “склады”;
• Состав документа. По одной накладной может поступить несколько товаров, поэтому в документ включается вложенная таблица, в которой имеются поля типа “справочник товаров”, а также количество данного товара (число) и суммарная стоимость (тоже число).
В простейшем примере этого достаточно для описания структуры данных документа и начала работы с ним.
План счетов и регистры бухгалтерского учета Система двойной записи бухгалтерского учета представляет собой отдельную модель учета со своей спецификой, поэтому в Гедымине план счетов, журнал хозяйственных операций, бухгалтерская проводка выделены в отдельные классы сущностей. Практика применения Гедымина для автоматизации учета очень широка и пока еще не возникало ситуации, чтобы разработчикам прикладных решений не хватило возможностей механизмов бухгалтерского учета, реализованного в Гедымине. Причем данные механизмы никак не навязывают разработчику собственно принципов ведения бухгалтерского учета.
2 уровневая архитектура Клиент-серверные приложения принято делить на классические двухуровневые, когда клиентская часть, реализующая логику работы программы, обращается к серверу баз данных, как правило, с использованием языка запросов SQL, и трехуровневые, в которых клиентская часть отвечает только за отображение данных и организацию диалога с пользователем, а логика программы вынесена в отдельный сервер приложения, который, в свою очередь, обращается к серверу базы данных. Обе схемы имеют как свои преимущества, так и недостатки. Очевидно, что в случае трехуровневой схемы проще внести изменения в логику работы программы — не надо заменять клиентские приложения, достаточно установить новую версию сервера. С другой стороны, в классической схеме отсутствует посредник между клиентом и сервером базы данных, что упрощает развертывание программы и увеличивает ее надежность. В Гедымине мы постарались найти компромисс между двумя вышеупомянутыми подходами. В результате получилось то, что, мы называем 2 уровневой архитектурой. Внешне она похожа на классическую схему: клиентская часть взаимодействует с сервером базы данных. Ее основное отличие заключается в том, что в базе хранятся не только данные, но и алгоритмы, тексты макросов, экранные и печатные формы, собственно, то, что мы называем логикой работы приложения. Архитектура Гедымина вобрала в себя лучшие черты обеих вышеупомянутых схем: для развертывания системы достаточно установить соответствующее количество клиентов и сервер базы данных (в случае локальной установки инсталляция сервера базы данных не потребуется). Для изменения логики работы программы достаточно подключиться с любого (!) клиентского места под учетной записью администратора и внести необходимые изменения. Причем делать это можно «на лету», не отключая других пользователей на время внесения изменений, что особенно важно, когда речь идет о реальной системе, эксплуатирующейся на предприятии с непрерывным производством.
Принято считать, что трехуровневая схема — это схема с «тонким» клиентом., которая позволяет задействовать морально устаревшие, маломощные компьютеры. Однако, на сегодняшний день любое приложение фактически можно превратить в трехуровневое. Достаточно использовать Windows Terminal Server или аналогичное ПО других разработчиков, например Citrix Metaframe. Кроме использования устаревших или маломощных компьютеров (например наладонных) сервер терминалов позволяет организовать работу в сети с небольшой пропускной способностью, например, когда удаленный офис соединен с головным посредством выделенной телефонной линии или через канал DSL.
Структура платформы Основными составляющими частями платформы являются:
• Сервер базы данных (Interbase/Firebird/Yaffil);
• Система исполнения программного кода;
• Набор встроенных функций и бизнес-объектов (объектов прикладной логики);
• Инструментальные средства проектирования и быстрой разработки приложений.
Сервер базы данных с открытым кодом При выборе сервера базы данных оценивались следующие параметры:
• Надежность при работе с большими объемами данных;
• Производительность;
• Полная поддержка стандарта SQL 99;
• Простота в обслуживании;
• Стоимость, лицензионная чистота.
После оценки всех присутствующих на рынке альтернатив выбор был сделан в пользу сервера с открытым исходным кодом Firebird/Yaffil. Этот сервер является клоном известного коммерческого сервера Borland Interbase и имеет более чем 20-ти летнюю историю использования на сотнях тысяч предприятий по всему миру. В настоящее время Firebird/Yaffil поддерживается сообществом программистов и является бесплатным программным продуктом, что позволяет существенно снизить стоимость автоматизации для предприятия.
Пост-реляционные технологии Гедымин предоставляет разработчику возможность работать с базой данных как на уровне таблиц (реляционная модель), так и используя объектно-ориентированный подход. Как правило, запросы к таблицам на языке SQL используются для извлечения информации, особенно когда необходимо оптимизировать выборку по скорости или реализовать “хитрый” нестандартный алгоритм. Объекты (в терминах Гедымина — бизнес-объекты) используются для добавления или изменения информации.
Использование объектов позволяет радикально снизить трудоемкость работы с базой данных. Так, добавление документа (например, накладной) может потребовать добавления и изменения данных в более чем десяти таблицах. При использовании же соответствующего бизнес-объекта вся операция займет не более чем три-четыре строки исходного кода.
Типы данных При создании новых бизнес-классов, либо добавлении полей в существующие, разработчик имеет возможность использовать как простые типы данных, определенные стандартом SQL, так и сложные, реализованные в рамках платформы Гедымин. К таким, сложным типам данных, относятся:
• Множество;
• Перечисление.
Ссылка При добавлении поля типа ссылка автоматически создается внешний ключ (FOREIGN KEY) на таблицусправочник6. Разработчик имеет возможность указать поле из таблицы справочника, которое будет использоваться для отображения наименования объекта, на который указывает ссылка. В дальнейшем, система будет автоматически подставлять указанное поле в SELECT часть запроса бизнес-объекта и, соответственно, таблицу-справочник — в часть FROM. Дополнительно, можно указать условие, которое будет ограничивать подмножество записей в таблице-справочнике.
Множество Для добавления поля типа множество необходимо указать наименование поля и выбрать таблицусправочник, содержащую элементы множества. На основании указанных данных:
1. в основную таблицу бизнес-класса будет добавлено поле для хранения строкового отображения будет создан триггер7 для основной таблицы бизнес-класса, отвечающий за обновление поля, содержащего строковое отображение элементов множества;
3. будет создана т.н. кросс-таблица, каждая запись которой содержит две ссылки: на запись бизнесобъекта и на запись в таблице-справочнике, т.е. на элемент, входящий в конкретное множество.
Перечисление При создании поля данного типа разработчик задает список элементов перечисления. Для каждого элемента указывается его наименование и код. В главную таблицу бизнес-класса добавляется поле для хранения кода выбранного элемента перечисления. При отображении данных на экране платформа сама позаботится о том, чтобы вместо кода выводилось наименование элемента.
Язык программирования В качестве языка программирования используется усовершенствованная версия Visual Basic Script (VBScript). Этот язык отлично знаком большинству разработчиков прикладных решений.
Усовершенствования, внесенные специалистами компании Golden Software, позволяют обрабатывать исключительные ситуации, возникающие при работе программы, и тем самым повышают ее надежность.
Конструктор кода Для быстрого создания программного кода предусмотрен конструктор, который позволяет буквально составлять исходный текст функции из готовых блоков. Параметры каждого блока указываются в диалоговом окне, что позволяет используя конструктор реализовывать несложные алгоритмы даже простому смертному пользователю, далекому от программирования.
Встроенный отладчик и профайлер Возможности встроенного отладчика позволяют:
• Просматривать/изменять значения переменных;
• Обращаться к глобальным объектам, просматривать их свойства и вызывать методы;
• Вызывать на выполение функции и процедуры;
• Устанавливать простые и условные точки останова;
• Просматривать стек вызова функций;
• Просматривать иерархию классов, их методы и свойства;
• Просматривать/изменять значения свойств объектов;
Под справочником здесь имеется ввиду таблица, содержащая объекты на которые указывает ссылка.
Очевидно, что это может быть любая таблица в базе данных, имеющая первичный ключ, например, таблица содержащая документы или бухгалтерские проводки.
Данный триггер вызывается перед обновлением записи (BEFORE UPDATE).
• Выполнять профилирование кода, фиксировать время выполнения и количество вызовов отдельных функций.
Платформа позволяет изменять код что-называется «на лету». Так, если выполнение программы остановлено, вручную, с помощью точки останова или в результате возникновения ошибки или исключительной ситуации, любую функцию, в том числе и ту, которая выполняется в данный момент времени, можно изменить. После возобновления выполнения программы будет выполняться уже откорректированный код.
Редактор кода Редактор кода, используемый в платформе Гедымин, поддерживает подсветку синтаксиса и подстановку методов или свойств объектов по первым введенным символам (подобно технологии IntelliSence).
Редактор кода программы позволяет задавать и использовать в последствии типовые шаблоны.
Предусмотрен полнотекстовый поиск по всем макросам, находящимся в базе данных, а также фильтрация списка макросов на основании заданных критериев.
Оконная система и механизм экранных форм Реализованная в Гедымине оконная система учитывает особенности автоматизации экономической и управленческой деятельности предприятий и ориентирована на обеспечение высокой эргономичности и эффективности работы с бизнес-приложениями. В частности, система форм и элементов управления обеспечивает:
• Автоматическую связь форм и элементов управления с данными, которая позволяет организовать удобное взаимодействие между различными формами без специального программирования;
• Поведение элементов, определяемое данными;
• Специализированный набор элементов управления, ориентированный на бизнес-задачи, в т.ч.:
поля ввода с функциональными кнопками (выбор, очистка, открытие значений), редактирование в одном элементе любых типов данных, эффективные и удобные динамические списки для просмотра информации из базы данных с условным форматированием и поддержкой различных вариантов сортировки и фильтрации;
• Современный эргономичный дизайн.
В числе возможностей, поддерживаемых оконной системой Гедымина:
• автоматическое формирование командного интерфейса формы в соответствии с ее назначением;
• автоматическая генерация форм;
• инструменты быстрого редактирования форм;
• возможность привязать настройки формы к конкретному пользователю.
Механизм отчетов Возможности платформы Гедымин позволяют подготавливать как статические печатные формы, так и динамические, интерактивные документы, органично интегрированные в приложение.
Существует возможность подготовки и вывода отчета в текстовом режиме, что может быть полезно при организации печати на матричных принтерах и фискальных регистраторах.
В качестве редактора отчетов используется популярный редактор FastReport, хорошо известный многим программистам.
Управление территориально распределенными базами данных В Гедымине реализован механизм работы с территориально распределенными информационными базами. В этом варианте обеспечивается работа единого прикладного решения с несколькими территориально разнесенными базами данных, между которыми нет постоянной связи.
Интеллектуальный механизм репликации позволяет переносить целостные объекты, описывать правила переноса объектов между базами. Переносятся только измененные данные. Система обеспечивает достаточно высокую устойчивость к сбоям и защиту от потерь данных.
Система прав доступа В Гедымине применяется разграничение прав доступа на уровне групп пользователей. Такая схема позволяет легко настроить общую схему доступа и, впоследствии, включая конкретного пользователя в ту или иную группу управлять его правами доступа. На уровне данных поддерживается разграничение доступа для:
• классов бизнес-объектов;
• отдельных экземпляров бизнес-объектов (отдельных записей в таблице);
• полей бизнес-классов (полей в таблице);
Так же присутствуют групповые политики, которые позволяют легко настраивать доступ к различным функциям системы.
Платформа обладает встроенными возможностями по аудиту действий пользователя и мониторированию изменений данных в базе. Фиксация изменений данных происходит с помощью специальных триггеров, что позволяет фиксировать изменения, произведенные не только из настройки на платформе, но и любой внешней программой в результате прямого обращения к серверу базы данных.
Хранение настроек Каждый пользователь, работающий с платформой, может иметь набор своих параметров, определяющих как внешний вид приложения, так и особенности его функционирования. Кроме этого существует набор глобальных параметров, общих для всех пользователей системы, и набор параметров, специфических для выбранной рабочей организации. Для хранения и доступа к параметрам существует специальная внутренняя структура — Хранилище. Разработчики, знакомые с реестром (registry) операционной системы Windows найдут много общего между ним и хранилищем платформы Гедымин. Хотя данные хранилища имеют иерархическую, древовидную структуру в базу данных они записываются как упакованный двоичный поток данных, что существенно повышает скорость при обращении к ним.
Масштабируемость Платформа Гедымин для всех прикладных решений независимо от отраслевой специфики и фирмы разработчика обеспечивает:
• возможность использования системы от локального компьютера до десятков пользователей в локальной сети;
• использование технологии “клиент-сервер”;
• возможность развертывания работы на нескольких территориально удаленных точках с периодическим обменом информацией.
Интеграция Гедымин рассчитан на широкую интеграцию с разными системами. В числе технологий интеграции, заложенных в платформу:
• XML-обмен;
• OLE-automation (Client и Server);
• Файловый обмен (TXT, CSV, DBF).
Реализован основанный на COM-технологии механизм, позволяющий разрабатывать внешние компоненты, расширяющие функциональность встроенного языка, на таких языках как Visual C++, MS Visual Basic, Borland Delphi.
Для импорта данных из текстовых файлов (например, из файлов, генерируемых приложением банкклиент) существует механизм конвертации, на вход которого передается исходный текстовый файл и шаблон, заданный на специальном языке. В результате, получается набор данных, который может быть обработан в макросе.
Интернационализация Возможности платформы позволяют перевести пользовательский интерфейс и сообщения системы на любой язык. Файл перевода хранится отдельно от выполняемого модуля и содержит данные в формате XML.
Автоматизация в точном соответствии с потребностями предприятия Использование платформы Гедымин и созданных на ее базе решений позволяет:
• Выбрать оптимальный вариант автоматизации в точном соответствии с потребностями предприятия;
• Проводить поэтапную автоматизацию, исходя из приоритетов решаемых задач, допустимых сроков и затрат на внедрение — на базе одной и той же системы, получая реальную отдачу на каждом шаге, с минимальными затратами времени и средств;
• Значительно упростить обучение пользователей и администрирование системы;
• Развивать систему по мере роста потребностей предприятия, не останавливая при этом ее эксплуатации.
Установка и запуск В настоящей главе подробно описана процедура установки локальной (однопользовательской) или сетевой (многопользовательской) версии платформы Гедымин, как с использованием автоматического инсталлятора, так и в ручном режиме. Кроме этого рассматриваются вопросы перехода от локальной версии к сетевой, обновления исполняемого модуля программы и структуры базы данных, а также загрузки новых настроек или обновления установленных ранее.
ВНИМАНИЕ! Установка программы возможна только при наличии локальных прав администратора на компьютер у пользователя, инсталлирующего программу.
Локальная установка Перед инсталляцией программы рекомендуется закрыть все открытые приложения Windows.
Перед установкой проверьте наличие свободного пространства на том диске, где будет размещена программа. Для корректной работы достаточно компьютера с установленной операционной системой Windows 98/Me/2000/XP, процессором Pentium-400 и выше, 64 Мб оперативной памяти (RAM), 200 Мб свободного места на диске. Для надежной и комфортной работы рекомендуется компьютер с установленной оперативной системой Windows2000/XP, файловой системой NTFS, процессором Pentium-1500 и выше, 256 Мб оперативной памяти (RAM).
Этапы установки Вставьте компакт-диск с программой в CD-ROM. Если на экране появилось окно запуска программы инсталляции — нажмите кнопку Установить. В ином случае просмотрите содержимое компакт-диска с помощью Проводника или другой программы для работы с файлами и запустите файл setup.exe, который находится в корневом каталоге или в папке помеченной как «Локальная установка» на инсталляционном диске.
Появится окно, изображенное на рис. 1.2.
Рис. 1.2. Окно инсталяционной программы Гедымин Нажмите кнопку Дальше.
Откроется окно (рис. 1.3), в котором нужно выбрать папку для помещения программных файлов и базы данных.
Рис. 1.3. Окно выбора папки для программных файлов и файла базы данных Папка для установки программы и базы данных предлагается по умолчанию, но вы можете ее изменить.
Нажмите кнопку Обзор — появится стандартный диалог для выбора папки. Выберите папку и нажмите Ок.
После выполнения этих действий нажмите кнопку Дальше.
Откроется окно, в котором можно выбрать вид установки: Обычная, Сокращенная или Выборочная (рис 1.4).
Рис. 1.4. Окно выбора вида установки Если выбрана Обычная установка, то будут установлены все файлы. При сокращенной установке не будут инсталлироваться файл демонстрационной базы данных и файл справки по VBScript. И, наконец, выборочная установка позволяет указать какие файлы будут устанавливаться, а какие нет (рис 1.5).
Рис. 1.5. Окно выбора файлов для установки Отмечаем необходимые файлы и нажимаем кнопку Дальше.
После этого начнется процесс копирования файлов на жесткий диск по окончании которого на экран будет выведено сообщение (рис 1.6).
Рис. 1.6. Сообщение об успешном завершении установки Запуск программы Запустить Гедымин можно либо воспользовавшись соответствующим ярлыком, созданным инсталлятором на рабочем столе или через кнопку Старт, меню Программы, группа Golden Software Гедымин, пиктограммка Гедымин.
Если это первый запуск после установки на компьютере, то на экран будет выведено следующее информационное сообщение:
Из него видно, что для первого входа в систему автоматически будет выбрана учетная запись администратора. В дальнейшем рекомендуется создать свою (пользовательскую) учетную запись и использовать ее для входа в систему.
Заполнение начальных параметров Для корректной работы системы необходимо заполнить начальные параметры. При первом запуске, на экран будет выведен мастер, облегчающий данную задачу.
Нажимаем кнопку Дальше.
Откроется страница мастера для заполнения параметров организации.
Как минимум, необходимо заполнить поле Наименование. Рекомендуется заполнить так же и другие поля. По окончании ввода нажимаем кнопку Дальше.
Откроется экран для заполнения банковских реквизитов организации.
Вводим код банка. Если такой код известен программе, то поля Наименование банка и Адрес будут заполнены автоматически8. Вводим расчетный счет его валюту. Нажимаем кнопку Дальше.
В Гедымин заложен алгоритм проверки корректности номера расчетного счета, применяемый национальным банком Республики Беларусь. Если вы используете Гедымин в другой стране — просто игнорируйте сообщение о некорректности рассчетного счета.
Откроется экран для ввода учетной записи и пароля для входа в систему.
База данных программы Гедымин содержит сведения о всех белорусских банках по состоянию на начало 2004 г.
Созданная учетная запись включается в группу Администраторы. При необходимости вы можете позже включить данную запись в другую группу или группы пользователей.
По окончании ввода нажимаем кнопку Дальше.
Откроется завершающий экран.
Если вся информация была введена корректно — нажимаем кнопку Готово.
Если был установлен флажок Выполнить процедуру регистрации, то откроется окно регистрации программы (привязки ее к данному компьютеру).
Регистрация программы Гедымин защищен от несанкционированного копирования путем привязки к параметрам компьютера.
При запуске незарегистрированной копии на экран выдается следующее предупреждение:
После нажатия на кнопку Ок вы можете продолжить работу с программой. Единственное ограничение с которым вы столкнетесь — это отсутствие возможности посылать отчеты на печать, хотя вы сможете просматривать их на экране.
Для выполнения привязки программы к компьютеру необходимо открыть меню «Справка» и вызвать команду «Регистрация…».
Рис. 2. Диалоговое окно "Регистрация" Следуя инструкции, приведенной в окне, вам необходимо связаться с офисом компании Golden Software и сообщить номер своей лицензии и контрольное число, указанное в тексте сообщения. Если вы приобретали программу, то номер лицензии был передан вам вместе со всеми сопроводительными документами. Если же вы не приобретали программу, то сотрудник компании выдаст вам демонстрационную лицензию, ограниченную по времени действия. В ответ на сообщенную информацию вам будет выдан код разблокировки, который необходимо ввести в соответствующее поле внизу окна и нажать кнопку «Зарегистрировать». На экран будет выдано сообщение о результате выполнения операции. Либо программа была успешно зарегистрирована, либо вы допустили ошибку при вводе кода.
В последнем случае процедуру регистрации следует повторить. Регистрацию так же придется повторить в случае, если конфигурация компьютера была изменена. Если вы просто переустановили операционную систему, то можно воспользоваться прежним кодом разблокировки. Поэтому рекомендуется сохранять его.
Удаление программы Если Гедымин больше не нужен вам, вы сможете удалить его зайдя в раздел «Установка и удаление программ» на панели управления Windows. Найдите Гедымин в списке установленных программ и нажмите кнопку «Изменить/удалить».
Обратите внимание, что в целях безопасности программа удаления никогда не удаляет файл базы данных. Вы должны будете сделать это вручную.
Сетевая установка Установка многопользовательской сетевой версии Гедымина подразумевает:
1. Установку серверной части (сервер Interbase и файл базы данных) на компьютер сервер;
2. Установку клиентской части Гедымина на каждой рабочей станции.
Установка серверной части Запускаем инсталлятор сетевой версии платформы Гедымин. На экране возникнет диалоговое окно для ввода путей размещения файлов сервера Interbase и файла базы данных:
Вводим свои пути размещения или оставляем предложенные программой. Нажимаем кнопку «Вперед».
На экране появится окно выбора типа установки:
Отмечаем только флажок «Серверная часть» и нажимаем кнопку «Вперед».
Начнется процесс копирования файлов, ход которого отображается на экране. В процессе установки файла базы данных вам будет предложено выбрать папку назначения. Кроме этого вы сможете выбрать какие дополнительные базы данных следует установить. Конечно же, если дополнительные базы данных присутствуют на вашем установочном диске.
Если сервер Interbase устанавливается в первый раз, то вам будет предложено изменить пароль для учетной записи SYSDBA. Не принебрегайте этой возможностью. SYSDBA — это «супер пользователь»
Interbase, который может сделать все что угодно с вашей базой данных. Его пароль по-умолчанию — masterkey — не является тайной и хорошо известен всем, в том числе и злоумышленникам, которые могут покуситься на вашу информацию.
По завершении установки на экран будет выдано сообщение об успехе или информация о возникшей ошибке, если установку не удалось провести по какой-либо причине.
Подробная информация о ходе установки записывается в файл C:\Program Files\Golden Software\Gedemin\install.log. Файл может располагаться в другой папке, если вы изменяли путь для установки комплекса Гедымин, предложенный по умолчанию.
Установка клиентской части После установки серверной части необходимо установить клиентскую часть Гедымина на каждую рабочую станцию в вашей сети.
Запускаем тот же инсталлятор на рабочем месте. Снова на экране возникнет окно ввода путей назначения:
И окон выбора вида установки:
В этот раз отметим только флажок «Клиентская часть» и нажмем кнопку «Вперед».
Начнется процесс копирования файлов ход которого будет отражаться на экране. После того как необходимые файлы будут скопированы вам будет предложено установить подключение к базе данных.
Если вы выберете режим автоматического поиска9, то программа установки будет просматривать все компьютеры в вашей сети, пока не обнаружит тот, на котором выполняется сервер Interbase. Далее инсталлятор попытается установить соединение с базой данных. Если попытка прошла успешно, то на экране будет выведено сообщение следующего вида:
Не рекомендуется производить автоматический поиск в больших сетях, поскольку построение списка компьютеров может занять весьма продолжительное время. В любом случае, вы можете прервать уже запущенный процесс нажав клавишу ESC.
В случае, если сервер не найден или вас не удовлетворяет предложенная база данных или вы изначально выбрали вариант ручной установки — на экран будет выведено окно, где вы сможеет указать имя сервера в сети и путь к файлу базы данных на сервере:
Заполните предложенные поля и нажмите Ок. Если введенная информация корректна — установка завершится успешно, о чем вы получите соответствующее уведомление.
Как и в случае с установкой серверной части лог всех выполненных действий вы найдете в файле C:\Program Files\Golden Software\Gedemin\install.log.
Установка под Windows XP SP Операционная система Windows XP со вторым установленным сервис паком по умолчанию защищена брандмауэром, который блокирует пересылку TCP/IP пакетов в результате чего клиентская часть Гедымина не может осуществить подключение к серверу базы данных. Для решения данной проблемы необходимо либо выключить брандмауэр (не рекомендуется), либо настроить его таким образом, чтобы он пропускал пакеты, адресованные на 3050-й10 порт (рекомендуется).
Установка в ручном режиме Оставим использование автоматического установщика, рассмотренного нами выше, неискушенным новичкам. Грамотный настройщик, который считает себя настоящим профессионалом, просто обязан знать всю подноготную процесса установки платформы Гедымин и уметь устанавливать ее в «ручном»
режиме, имея только набор необходимых файлов.
Для того, чтобы развернуть Гедымин в сети необходимо:
1. На каждую рабочую станцию установить клиента Interbase;
2. На компьютер, выбранный в качестве сервера базы данных, установить серверную часть 3. На компьютер, выбранный в качестве сервера базы данных, уcтановить файл базы данных 4. На каждую рабочую станцию установить Гедымин.
Ниже, мы рассмотрим каждый шаг подробно, но сначала ответим на вопрос: где взять необходимые файлы? Их можно найти на установочном диске с сетевой версией платформы Гедымин в следующих подкаталогах:
Имя каталога Содержит файлы Database Архивы баз данных. Список баз данных и их наименования можно найти в файле Gedemin Файл gedemin.exe и динамическая библиотека midas.dll.
Gedemin\Help Файлы справочной системы.
GUDF Библиотека UDF функций компании Golden Software.
Microsoft Динамическая библиотека msvcr70.dll и файлы для установки скриптов на разные Порт номер 3050 используется сервером по-умолчанию и может быть изменен с помощью параметра командной строки –i. Более подробно, смотрите документацию по серверу Interbase.
Кроме этого можно воспользоваться интернетом. Последнюю версию сервера Interbase (Yaffil) можно найти по адресу http://yaffil.ibase.ru. Установочные пакеты подсистемы выполнения скриптов располагаются по адресу http://msdn.microsoft.com/scripting. И, конечно же, сайт http://gsbelarus.com содержит необходимые файлы для установки самой новейшей версии платформы Гедымин.
Установка клиента Interbase Клиентская часть Interbase состоит всего из двух файлов: gds32.dll и msvcr70.dll. Опытные специалисты могут заявить, что абсолютный минимум — это библиотека gds32.dll, которую следует положить в один каталог с файлом gedemin.exe. Однако для 100%-ной гарантии правильной установки клиента необходимо все же копировать оба файла.
Файл msvcr70.dll — это одна из самых банальных динамических библиотек, которая почти всегда имеется в системе Windows. Обычно этот файл устанавливается в системный каталог Windows. Если файл с таким именем в системном каталоге уже существует, проверьте его версию. Не стоит перезаписывать более новый файл старой версией. Это может привести к неработоспособности системы.
Самым важным является динамическая библиотека gds32.dll, в которой сосредоточена вся основная функциональность, называемая нами «клиентом Interbase». Поэтому установке gds32.dll следует уделить особое внимание.
Прежде чем установить gds32.dll на компьютер, необходимо убедиться, что на компьютере нет другой копии этой динамической библиотеки. Для этого необходимо осуществить поиск этого файла в следующих каталогах: системном каталоге Windows (это Windows\System для 9х ОС и Windows\System32 для NT\2000\XP); в установочных каталогах Interbase 4.x, 5.x, 6.x; в установочном каталоге BDE, а также во всех каталогах, которые включены в переменную среды PATH.
Если будет найдена копия gds32.dll в одном з перечисленных каталогов, то необходимо выяснить ее версию и сравнить с версией gds32.dll, которую вы устанавливаете. Если устанавливаемая библиотека имеет версию новее, чем у существующего файла, то можно произвести замену старой версии на новую.
Не рекомендуется заменять более новую версию старой, так как старая версия gds32.dll может неправильно взаимодействовать с более новой версией сервера.
Рекомендуется разместить билиотеку gds32.dll в системном каталоге Windows. Альтернативным решением может быть размещение билиотеки в одном каталоге с файлом gedemin.exe. В последнем случае можно вообще не искать существующие на компьютере файлы gds32.dll, так как при загрузке динамической библиотеки, операционная система в первую очередь просматривает каталог, где расположен выполняемый файл.
Установка протокола TCP/IP Клиент Interbase подключается к серверу по протоколу TCP/IP поэтому необходимо проверить его наличие и, в случае если протокол TCP/IP не установлен, установить его. Обратите внимание, что правильно установленный и сконфигурированный протокол TCP/IP необходим даже в том случае, если и клиентская часть и сервер Interbase распологаются на одной физической машине.
Установка сервера Interbase Для установки сервера Interbase необходимо создать каталог, где будут размещены файлы сервера. Как правило, такой каталог имеет имя c:\program files\yaffil, в дальнейшем мы будет ссылаться на этот каталог по имени. В каталоге необходимо создать два подкаталога: BIN и UDF. Далее следует скопировать следующие файлы:
Обратите внимание, что файл gds32.dll копируется в два каталога: системный каталог Windows и \Bin. Это служит дополнительной гарантией того, что ibserver.exe при запуске обнаружит gds32.dll той же самой версии, что и у него самого.
В случае установки поверх уже существующего сервера ни в коем случае нельзя затирать существующую базу данных пользователей isc4.gdb.
Ключи в реестре для сервера Interbase После копирования файлов необходимо создать следующие записи в реестре Windows:
HKEY_LOCAL_MACHINE\SOFTWARE\Yaffil\Version Номер версии сервера, например: WIYaffil SQL Server HKEY_LOCAL_MACHINE\SOFTWARE\Yaffil\RootDirectory Установочный каталог Interbase, HKEY_LOCAL_MACHINE\SOFTWARE\Yaffil\ServerDirectory Каталог, из которого запускается HKEY_LOCAL_MACHINE\SOFTWARE\Yaffil\DefaultMode -r Параметр «DefaultMode= -r» означает, что Interbase-сервер будет запускаться в режиме сервиса NT/2000/XP. Если нужно запускать Interbase в режиме приложения, то необходимо указать ключ «–а».
Можно воспользоваться утилитой instreg.exe из поставка Interbase для создания указанных выше ключей в реестре Windows. Синтаксис вызова следующий:
instreg.exe install “c:\program files\yaffil” Запуск Interbase-сервера Interbase-сервер, функционирующий под управлением NT/2000/XP, может выполняться в двух режимах — в виде службы (service) и в виде приложения. На Windows 9x Interbase может использоваться только в режиме приложения. Давайте рассмотрим, как настроить и запустить наш сервер после установки. Чтобы запустить Interbase в режиме приложения, необходимо выполнить команду «ibserver.exe –a». Чтобы установить Interbase в качестве сервиса на NT\2000\XP, следует воспользоваться утилитой instsvc.exe, которая зарегистрирует Interbase-сервер в качестве службы. Как известно, служба может либо запускаться автоматически при запуске Windows, либо запускаться вручную. Для запуска сервиса в автоматическом режиме необходимо выполнить команду:
instsvc.exe install “c:\program files\yaffil” -auto Установка базы данных Файл базы данных должен быть расположен на сервере. Как правило, он располагается в каталоге c:\program files\golden software\gedemin\database\ и имеет имя gdbase.gdb. Если у вас есть архив (backup) базы данных, его необходимо распаковать, либо средствами Гедымина, либо с помощью утилиты командной строки gbak.exe. В последнем случае архив необходимо скопировать на сервер, например, в каталог базы данных, и выполнить следующую команду:
gbak.exe –r “c:\program files\golden software\gedemin\database\gdbase.bk” “server:c:\program files\golden software\gedemin\database\gdbase.gdb” –user SYSDBA –pas masterkey Обратите внимание, что в приведенном примере использовано имя компьютера сервера «server», в вашем конкретном случае оно может отличаться, точно так же, как может отличаться имя файла архива базы данных и имя файла базы данных.
Установка платформы Гедымин Для установки Гедымина на каждом рабочем месте необходимо создать каталог, как правило, c:\program files\golden software\gedemin, и скопировать в него два файла gedemin.exe и midas.dll.
Библиотеку midas.dll следует зарегистрировать. Для этого необходимо выполнить команду:
regsvr32.exe midas.dll Утилита regsvr32.exe входит в стандартную поставку Windows.
Установка Microsoft Script Гедымин использует VBScript для выполнения макросов. Установочные файлы находятся в каталоге Microsoft инсталяционного диска системы Гедымин. Их несколько, в зависимости от версии и языковых настроек используемой операционной системы.
Версия и языковые настройки операционной Выполняемые команды системы Windows NT/2000/XP, язык английский 1. scripten.exe /q Подключение к базе данных Осталось сделать последний шаг перед началом эксплуатации Гедымина — указать путь к файлу базы данных. Сделать это можно тремя способами:
• Вручную прописать необходимые ключи в реестре Windows;
• Запустить Гедымин и ввести необходимую информацию в окне регистрации базы данных;
• Настроить ярлык для запуска Гедымина, прописав путь к базе данных в параметрах командной Рассмотрим каждый из трех предложенных способов подробнее:
Создание ключей в реестре HKEY_LOCAL_MACHINE\SOFTWARE\Golden Сетевой путь к файлу базы данных.
HKEY_LOCAL_MACHINE\SOFTWARE\Golden Сетевой путь к файлу базы данных.
Software\Gedemin\Client\CurrentVersion\ServerName Например, server:c:\program Software\Gedemin\Client\CurrentVersion\Access\DatabaseName Например, server:c:\program Software\Gedemin\Client\CurrentVersion\Access\ИмяБазы\Database Например, server:c:\program Обратите внимание, что в последнем ключе ИмяБазы — это имя базы данных, которое будет выводиться в выпадающем списке баз данных в окне ввода имени пользователя и пароля при запуске программы.
Использование окна «Регистрация базы данных»
Если просто переписать на компьютер файл gedemin.exe так, как было указано выше, и запустить его, не настраивая соответствующие ключи в реестре, то на экран будет выдано сообщение о том, что подключиться к базе данных невозможно:
После нажатия на кнопку Ок, на экране появится окно для регистрации базы данных:
Для регистрации базы данных необходимо нажать кнопку Добавить в левой части окна и ввести отображаемое имя базы данных (ее псевдоним) и полный сетевой путь к ней в двух полях внизу окна.
После чего следует нажать кнопку Сохранить. База данных будет зарегистрирована и появится в списке.
Для того, чтобы закрыть окно регистрации необходимо нажать кнопку Выбрать.
Настройка ярлыка для запуска Гедымина Указать путь к базе данных можно в параметрах командной строки. Для того, чтобы не вводить их каждый раз следует создать ярлык на рабочем столе Windows и заполнить соответствующие поля.
Например так:
Следующие параметры командной строки поддерживаются Гедымином:
Очевидно, что вместо настройки ярлыка можно создать BAT файл, содержащий единственную строку — вызов Гедымина с соответствующими параметрами командной строки.
Настройка параметров программы Основные параметры Гедымина можно просмотреть или изменить, если вызвать команду Опции из выпадающего меню Сервис, которое расположено в главном меню. Диалоговое окно Опции имеет четыре закладки:
• Политики;
• Архивное копирование;
Рис. 3 Диалоговое окно Опции В зависимости от того, входит ли текущий пользователь в группу Администраторы или нет некоторые закладки и опции системы могут быть недоступными для изменения.
Рассмотрим содержимое каждой закладки.
Общие Использовать Enter как Tab в диалогах Во многих старых ДОСовских программах клавиша Enter служила для перемещения к следующему полю при вводе данных в экранную форму. Поскольку, многие пользователи испытывают определенный дискомфорт при переходе со старого текстового интерфейса на графический интерфейс операционной системы Windows в Гедымине предусмотрен режим эмуляции ДОС, при котором курсор перемещается между полями ввода в диалоговых окнах не только с помощью клавиши табуляции, но и при нажатии на клавишу Enter.
Для того, чтобы подтвердить ввод и закрыть окно при включенном режиме эмуляции используя клавиатуру необходимо либо установить фокус на кнопку Готово (Ок) и нажать Enter, либо воспользоваться коомбинацией клавиш Ctrl+Enter. Обратите внимание, что если курсор находится в мемо поле, то нажатие клиавиши Enter приведет к переходу на новую строку, а не к перемещению на следующее поле в окне.
Опция устанавливается только для текущего пользователя системы.
Применять магическое перемещение окон Режим магического перемещения окон позволяет быстро и красиво расположить окна программы на рабочем столе. Если режим включен, то:
• При двойном щелчке на заголовке исследователя он занимает место слева под главным окном программы, причем его высота устанавливается во всю доступную выстоту экрана;
• При двойном щелчке на заголовке формы просмотра, она занимает все доступное место на экране, ограниченное с двух сторон главным окном программы и окном исследователя;
• При изменении размеров формы просмотра, они будут автоматически выравниваться по другим формам, присутствующим на экране;
• При перемещении формы просмотра, ее положение будет автоматически выравниваться по другим формам, присутствующим на экране;
Если надо временно отключить режим магического перемещения, например, для того, чтобы быстро раскрыть окно на весь экран или переместить его произвольным образом, достаточно нажать и удерживать клавишу Ctrl во время выполнения соответствующих действий.
Опция устанавливается только для текущего пользователя системы.
Выводить лог при загрузке/сохранении в поток При сохранении бизнес объекта на диске или загрузке его с диска в базу данных на экране отображается окно с информацией о ходе процесса. Если в нем нет особой нужды, просто снимите данную опцию.
Опция устанавливается только для текущего пользователя системы.
Отображать всплывающую подсказку в таблице Если поле содержит данных больше, чем можно отобразить в клетке таблицы, то для того, чтобы просмотреть все данные необходимо навести указатель мыши на такую клетку и подождать около секунды. На экране появится всплывающая подсказка. Если она создает неудобства в работе, то ее можно отключить с помощью данной опции программы.
Опция устанавливается только для текущего пользователя системы.
Сохранять рабочий стол при выходе Как следует из названия опции, если она установлена, то текущая конфигурация окон или, по другому, рабочий стол, будет запоминаться при выходе из программы и восстанавливаться при следующем входе в нее.
Опция устанавливается только для текущего пользователя системы.
Сохранять значения полей в диалоговых окнах Включение данной опции позволяет облегчить и упростить ввод большого объема однородных данных.
Значения, введенные пользователем при добавлении записи, будут запоминаться и подставляться в соответствующие поля при вводе следующей записи.
Опция устанавливается только для текущего пользователя системы.
Разрешать скрытие главной панели Данная опция влияет на то, как будет вести себя программа, если в окне, отображающем данные, связанные как мастер-дитэйл, скрыть главную панель. Если опция установлена, то Гедымин запомнит состояние панели и при следующей загрузке она будет скрыта. Если нет — то при следующей загрузке программы главная панель будет открыта. Напомним, что скрытие главной панели позволяет отобразить в детальном списке все имеющиеся в базе данных записи, а не только те, которые относятся к конкретной записи в главном списке.
Опция устанавливается только для текущего пользователя системы.
Показывать нули в таблице Если опция не установлена, то для числовых полей в таблицах не будут выводиться значения, если они равны нулю.
Опция устанавливается только для текущего пользователя системы.
При загрузке Гедымина переключать клавиатуру на Данная опция позволяет выбрать язык ввода, на который будет переключаться операционная система при загрузке Гедымина.
Опция устанавливается только для текущего пользователя системы.
При смене рабочей организации рабочий стол С помощью данной опции можно настроить поведение рабочего стола при смене активной рабочей организации: рабочий стол будет сохраняться, не сохраняться или пользователь будет запрашиваться о необходимом действии.
Опция устанавливается только для текущего пользователя системы.
Запрещать ввод дублирующихся организаций Серьезной проблемой при эксплуатации системы является появление двух и более записей в базе данных, представляющих один и тот же объект. Например, один пользователь может ввести организацию как ООО «Рога и Копыта», а второй — «Рога и Копыта» ООО. Гедымин позволяет избежать появления дублирующихся записей путем проверки информации при вводе.
Опция устанавливается для всех пользователей системы.
Проверять организацию по УНН (ИНН) Проверка будет осуществляться по коду УНН (ИНН, УНП) организации. Если в базе уже есть организация с кодом, как у вновь вводимой, то на экран будет выдано предупреждение. Пользователь может настоять на сохранении записи с дублирующимся кодом или вернуться в окно редактирования с тем, чтобы изменить код или вообще отказаться от ввода новой записи.
Опция устанавливается для всех пользователей системы.
Проверять организацию по наименованию Аналогично проверке по коду УНН, только проверка будет осуществляться по наименованию организации.
Опция устанавливается для всех пользователей системы.
Проверять корректность банковского счета Если проверка корректности номера банковского счета включена, то при попытке ввести некорректный номер счета пользователю будет выдано предупреждение.
В Беларуси применяются 13-ти значные банковские счета в номере которых первые 12 цифр содержат, собственно, номер счета, а последняя, тринадцатая, является контрольной, рассчитываемой особым образом на основании 12-ти предыдущих и трехзначного кода банка. Таким образом, вероятность того, что ошибочно введенный номер счета пройдет проверку на корректность не превышает 10%.
Очевидно, что данную проверку стоит отключить при эксплуатации программы за пределами Беларуси.
Опция устанавливается для всех пользователей системы.
Окно дат, при проверке на корректность Часто, пользователи допускают ошибки при вводе дат, набирая не тот год, например, 2094 вместо 2004.
Количество таких ошибок можно существенно снизить, если установить окно корректных дат.
Опция устанавливается для всех пользователей системы.
Предупреждать об отсутствии прав на изменение записи Запрашивать подтверждения На изменение нескольких записей Гедымин позволяет вносить изменения в несколько записей одновременно. Для этого необходимо выделить нужные строки в таблице удерживая клавишу Ctrl и щелкая по ним левой кнопкой мыши или используя Shift и перемещаясь с помощью стрелок на клавиатуре и выбрать команду Изменить. Если данная опция включена, то при попытке открыть для редактирования более одной записи на экран будет выдано соответствующее предупреждение.
Опция устанавливается только для текущего пользователя системы.
На изменение формы не под администратором В Гедымине можно изменить (настроить) любую экранную форму. Изменения, выполненные под учетной записью адмнистратора распространяются на всех пользователей, в то время, как изменения, сделанные под любой другой учетной записью будут действовать только для нее. Соответствующее предупреждение будет выведено на экран, при попытке изменить экранную форму не под администратором, если рассматриваемая опция включена.
Опция устанавливается только для текущего пользователя системы.
Прочие подтверждения Данная опция позволяет управлять выводом на экран всех прочих предупреждений.
Опция устанавливается только для текущего пользователя системы.
Связь по LB, RB мастера для интервальных деревьев Как известно, в интервальных деревьях связь между родительской и дочерними записями можно установить по полям LB и RB (левой и правой границе интервала родительской записи). В этом случае будут отобраны все дочерние записи (включая дочерние дочерних, дочерние дочерних дочерних и т.д.), относящиеся к данной родительской. С технической точки зрения отбор может быть выполнен двумя способами: в детальный запрос передаются непосредственно значения левой и правой границ родительской записи и в детальный запрос передается идентификатор родительской записи, которая через JOIN по условию вхождения в интервал объединяется с дочерними записями. Очевидно, что первый способ приведет к более быстрому запросу на извлечение дочерних записей (на один JOIN меньше), зато второй способ гарантирует всегда правильное извлечение дочерних записей, даже если границы родительской записи изменились, например вследствие добавления новой записи другим пользователем системы, а датасет не был обновлен.
Если опция включена, то будет использоваться связь по непосредственным значениям границ интервала родительской записи. В противном случае, связь будет устанавливаться по идентификатору родительской записи.
Опция устанавливается для всех пользователей системы.
Предупреждать о возможном несоответствии детальной записи главной записи Если опция активна и в детальный объект добавляется запись, которая несоответствует текущей записи в главном объекте, то на экран будет выдано предупреждение о том, что добавленная запись не будет видна в списке («исчезнет» из него) после обновления, перечитывания данных.
Опция устанавливается только для текущего пользователя системы.
Всегда запрашивать параметры для текущего фильтра и предупреждать о фильтрации данных Если данная опция установлена, то при открытии формы просмотра, данные которой отфильтрованы с помощью фильтра с параметрами, на экран будет выведено окно для ввода этих параметров. Если фильтр не параметризованный, то на экран будет выведено предупреждение о том, что список отфильтрован.
Если опция не активна, то пользователь не будет предупрежден о примененной фильтрации и параметрам, если они требуются, будут присвоены предыдущие, сохраненные значения.
Данная опция была введена в программу, когда разработчики столкнулись с большим количеством обращений от пользователей вроде: «куда пропали мои данные?» или «я вчера ввел документ, а сегодня не вижу его в списке».
Напомним, что если к данным применена фильтрация, то пиктограмка «воронка» на панели инструментов меняет свой цвет с серого на красный и название фильтра выводится в строке состояния окна. Более подробная информация о примененном фильтре выводится во всплывающей подсказе, если навести указатель мыши на кнопку фильтрации на панели инструментов или на строку состояния.
Опция устанавливается только для текущего пользователя системы.
Предупреждать, если часть полей ввода в диалоговом окне скрыта В сложных диалоговых окнах сверху может отображаться набор закладок с полями ввода, а под ними — таблица с данными. Размер верхней и нижней части можно изменять, перетягивая разделительную полосу вверх-вниз. Можно уменьшить размер верхней части так, что не все поля будут видны, что, в свою очередь, может привести к нежелательным ошибкам, при вводе данных пользователем. Если данная опция включена, то в таких случаях, при открытии диалогового окна, будет выдаваться предупреждение и предложение пользователю автоматически скорректировать размеры верхней и нижней частей окна с тем, чтобы все поля были видны на экране.
Опция устанавливается только для текущего пользователя системы.
Аудит Программная платформа, предназначенная для эксплуатации в промышленных условиях, просто обязана иметь функции аудита действий пользователя и регистрации изменений данных в базе. Сказанное выше в полной мере относится к Гедымину. Его возможности позволяют:
Регистрировать действия пользователя, такие как:
открытие диалогового окна для изменения записи, выход из диалогового окна по нажатию кнопки Ок или Отмена, Регистрировать изменения данных в таблицах. Для регистрации изменений на каждую таблицу создаются по три триггера для отслеживания, соответственно, операций редактирования, добавления и удаления записей;
Блокировать определенный период. Блокировка распространяется на следующие таблицы:
Настройка аудита, регистрации изменений данных и периода блокировки осуществляется на закладке Аудит, диалогового окна Опции.
Рис. 4. Диалоговое окно "Опции". Закладка "Аудит".
Обратите внимание, что для регистрации действий пользователя необходимо выполнить две операции:
1. Установить флаг «Регистрировать действия пользователя»;
2. С помощью кнопки «Пользователи…» перейти в окно со списком пользователей системы и установить флаг «Регистрировать операции пользователя» для тех учетных записей, действия которых необходимо заносить в журнал.
Для регистрации изменений в базе данных необходимо с помощью кнопки «Журнал…» перейти в журнал событий и создать необходимые триггеры, воспользовавшись соответствующей командой на панели инструментов.
Создавать триггеры для регистрации изменений в базе данных можно только под учетной записью Администратор.
Для активизации блокировки периода необходимо установить флаг «Включить блокировку» и указать дату окончания периода блокировки. Все хозяйственные операции, проводки, складское движение, произведенные до указанной даты будут заблокированы. Изменить или удалить их будет невозможно.
Включать или выключать режим блокировки периода можно только под учетной записью Администратор.
Дополнительно, можно указать список групп пользователей, на которых не будет распространяться блокировка периода.
Внизу закладки находится флаг «Разрешать более одного подключения под одним логином». Если его снять, то пользователь не сможет несколько раз одновременно подключиться к Гедымину под одним и тем же логином. Применение данной опции позволяет снизить риск несанкционированного доступа, а также избежать путаницы, которая может возникнуть, когда несколько лиц входят в программу и работают в ней под одной и той же учетной записью.
Политики Политики групповой безопасности позволяют разграничить доступ пользователей к тем или иным функциям системы.
Рис. 5. Диалоговое окно "Опции". Закладка "Политики" Для установки конкретной политики необходимо установить курсор на нее в списке и выбрать кнопку «Изменить…» внизу закладки. Откроется окно выбора со списком групп пользователей. Напротив наименований тех групп, которые мы хотим включить в данную политику необходимо установить галочки.
Кнопка «По умолчанию» позволяет вернуть выбранной политике значения, поставляемые в исходном состоянии системы.
Архивное копирование Выполнять регулярное архивное копирование базы данных необходимо по двум причинам: во-первых, насколько бы ни был надежен сервер Interbase все равно возможно повреждение файла базы данных и, как следствие, потеря всей или части информации. Основной причиной повреждения базы, как правило является сбой электропитания или принудительное несанкционирование выключение сервера в момент, когда происходила запись данных на диск. Во-вторых, наличие архивной копии, позволит восстановить данные, утерянные или поврежденные в следствие ошибочных или злонамеренных действий пользователей.
Гедымин обладает функцией автоматического архивного копирования, настроить которую можно в окне Опции на закладке Архивное копирование.
Рис. 6 Опции архивного копирования.
Для того, чтобы активизировать архивное копирование необходимо:
1. Установить флаг «Автоматическое архивное копирование включено»;
2. Указать путь к папке на сервере, где будут размещаться архивные файлы. Обратите внимание, что архивные файлы могут создаваться только на компьютере, где выполняется сервер Interbase, т.е. нельзя указать имя папки на другом сетевом компьютере. С помощью кнопки «Путь к базе»
можно быстро ввести в поле имя папки, где располагается файл текущей базы данных;
3. Автоматическое архивное копирование может создавать каждый раз отдельный архивный файл или всегда использовать один и тот же файл. Очевидно, что использование одного файла существенно повышает вероятность потери данных, особенно в случае логических сбоев в алгоритмах программы или злонамеренных действий пользователей. Использование одного файла оправдано только в случае, когда на диске, где размещается архив, мало свободного места или если системный администратор регулярно копирует архивный файл на съемный носитель информации. Если выбрана опция «Каждый раз создавать новый файл архивной копии», то архивные файлы будут иметь имена вида ГГГГММДД., где имя файла и его расширения задаются в поле «Имя файла», а ГГГГММДД — это дата создания данного архива. Если нажать кнопку «Имя базы», то в поле «Имя файла» будет записано имя файла текущей базы данных с расширением BK.
4. Ввести имя учетной записи при загрузке под которой будет стартовать архивное копирование, либо настроить архивное копирование так, чтобы оно запускалось при входе в систему под любой учетной записью.
5. Указать периодичность (в днях) с которой будут создаваться архивные копии.
6. Активизировать или нет опцию «Предлагать переписать файл на съемный носитель», в зависимости от того, хотите ли вы, чтобы каждый раз после создания архива на экран выдавалось напоминание с информацией о том, где расположен только что созданный файл.
После того, как все поля заполнены надлежащим образом необходимо нажать кнопку Готово. Архивное копирование будет выполнено при очередном входе пользователя в программу.
Получение информации о системе Получить информацию о версии используемого файла gedemin.exe, версии и расположении клиентской части Interbase, прочих параметрах платформы и системного окружения можно в окне «О системе», которое вызывается из пункта «Справка» главного меню. Данное диалоговое окно имеет следующие закладки:
• Переменные среды;
Если открыть окно «О системе», когда нет активного подключения к базе данных — часть закладок будет недоступна.
Рассмотрим подробнее содержимое каждой закладки:
О программе Данная закладка содержит общую информацию о платформе, сведения об авторских правах, контактные реквизиты компании Golden Software и список разработчиков, принимавших участие в создании Гедымина.
Внизу окна находится кнопка «О системе», которая вызывает стандартную утилиту Windows System Information. С ее помощью можно получить подробные сведения об аппаратной части компьютера, установленном программном обеспечении и параметрах операционной системы.
Файлы Закладка «Файлы» содержит сведения и клиенте и сервере Interbase, а также о версии и расположении файла gedemin.exe.
Библиотека GDS32.DLL Расположение Расположение клиента Interbase, который используется программой. Данная Описание файла Строка с описанием клиентской библиотеки. От сюда, в частности, можно Сервер Версия сервера Информация о версии сервера.
Имя файла БД Полное имя файла базы данных на сервере. Включает букву диска и полный ODS версия Версия дисковой структуры базы данных. ODS — On Disk Structure.
Размер страницы Размер страницы базы данных в байтах.
Принудительная запись Состояние режима принудительной записи (Forced Writes). 1 — включен, Режим принудительной записи снижает вероятность потери данных в случае аварийного выключения компьютера, где находится сервер базы данных. В случае, если режим включен, Interbase будет дожидаться подтверждения винчестер. Обратная сторона медали — это снижение производительности Количество буферов Количество страниц в кэше сервера для текущей базы данных.
Используемая память Используемая память под кэш сервера Interbase для текущей базы данных.
Размер выводится в байтах и рассчитывается как произведение размера Гедымин Имя файла Имя текущего файла. Как правило, gedemin.exe.
Расположение Расположение текущего выполняемого файла.
Версия файла Информация о версии файла.
Переменные среды На данной закладке находится информация о переменных среды (переменных окружения) Windows, которые могут влиять на работу Гедымина или клиента Interbase.
ISC_USER Имя пользователя Interbase, используемое по умолчанию при вызове утилит ISC_PASSWORD Пароль пользователя Interbase, используемый по умолчанию при вызове ISC_PATH Путь к базе данных на сервере, используемый по умолчанию утилитами TEMP Размещение каталога временных файлов. Гедымин использует временные TMP Размещение каталога временных файлов. Гедымин использует временные PATH Изучение содержимого перенной PATH может помочь в тех случаях, когда на компьютере присутствуют несколько версий библиотеки gds32.dll и необходимо разобраться какая из них загружается программой и почему?
Подключение На закладке Подключение раполагается информация о параметрах текущего подключения к базе данных и о параметрах командной строки (если они есть).
Учетная запись Имя учетной записи, используемое для текущего подключения.
Контакт Имя контакта, связанного с текущей учетной записью.
Пользователь ИБ Имя пользователя Interbase, под которым осуществлено текущее ИД учетной записи Идентификатор текущей учетной записи, т.е. идентификатор записи в ИД контакта Идентификатор контакта, связанного с текущей учетной записью, т.е.
Сессия Номер текущей сессии. Целое число, которое хранится в генераторе Дата и время Дата и время подключения к базе данных.
покдлючения:
Командная строка Полная командная строка, использованная для запуска gedemin.exe.
База данных На данной закладке находится информация о файле базы данных.
Версия файла БД Версия структуры текущего файла базы данных.
ИД файла БД Идентификатор базы данных. Целое положительное число, хранится в генераторе GD_G_DBID. Обратите внимание, что идентификатор базы Дата релиза БД Дата релиза текущей структуры базы данных.
Комментарий Строка комментария структуры текущей базы данных.
Параметры подключения Параметры подключения к базе данных. Как правило, это:
Lc_ctype=win1251 — кодовая таблица Windows для кирилических шрифтов;
sql_role_name=ADMINISTRATOR — подключение под ролью Administrator;
Организация пользовательского интерфейса Гедымин имеет многооконный пользовательский интерфейс. Однородная информация, такая как, например, список компаний, платежных документов или хозяйственных операций, располагается в отдельных окнах, называемых так же окнами (экранными формами) просмотра. Существует несколько базовых (абстрактных) типов окон просмотра, от которых наследуются окна для отображения объектов конкретного типа. Основными базовыми типами окон просмотра являются:
• простое окно с таблицей;
• окно с двумя таблицами для отображения данных, связанных с помощью связи мастер-дитэйл.
Такие окна бывают в вертикальном или горизонтальном исполнении;
• окно с деревом и таблицей для отображения связанных данных.
Базовые типы окон просмотра служат для облегчения труда разработчика и унификации интерфейса пользователя, однако при необходимости разработчик может всегда создать свое окно что называется «с нуля» в соответствии со своим вкусом и требованиями конкретной задачи.
Рис. 7 Иерархия базовых классов окон просмотра.
Пользовательский интерфейс Гедымина организован в стиле SDI (Single Document Interface). Его прообразом послужил пользовательский интерфейс Borland Delphi 5. Главное окно программы, как правило, располагается вверху экрана, занимает всю его ширину и имеет небольшую высоту. Окна просмотра располагаются обособленно от главного окна программы на рабочем столе Windows. Размер окон просмотра может быть изменен, при этом становится доступной часть рабочего стола Windows или окна других программ, располагающиеся под Гедымином. Такое устройство пользовательского интерфейса особенно удобно, если необходимо организовать одновременную работу с несколькими приложениями. Например, работать с Гедымином и иметь перед глазами данные, находящиеся в электронной таблице Excel.
Обычно, при работе с Гедымином, экран имеет следующий вид:
Рис. 8 Содержимое экрана при работе с Гедымином.
Обратимся к рисунку. На нем мы видим три открытых окна системы Гедымин:
• Главное окно программы;
• Окно Исследователя;
• Окно просмотра информации из адресной книги.
Опишем каждое из этих окон:
Главное окно программы Главное окно программы предназначено для вызова основных команд, отображения информации о текущей рабочей организации и текущем пользователе системы, выбора и управления рабочими столами, выбора или изменения текущей рабочей организации, а также для отображения списка загруженных в настоящий момент времени окон просмотра.
Рис. 9 Главное окно программы.
Опишем составляющие части главного окна программы:
Заголовок окна Заголовок главного окна содержит наименование программы, наименование текущей рабочей организации, а также наименование учетной записи пользователя программы.
Главное меню Главное меню программы содержит четыре выпадающих подменю:
• База данных;
Ниже приводится список команд с описанием для каждого из подменю.
База данных Подключенные пользователи Выводит на экран окно со списком подключенных к базе данных Подключиться к базе данных Команда позволяет выполнить подключение к другой базе данных Отключиться от базы данных Закрывает текущее соединение с базой данных.
Подключиться в Позволяет подключиться к базе данных в однопользовательском однопользовательском режиме режиме. Перед подключением необходимо отключиться от текущей Вернуть базу данных в Команда позволяет вернуть базу данных в многопользовательский нормальный режим режим после того, как она была переведена в однопользовательский.
Архивное копирование Открывает окно создания архивной копии базы данных.
Восстановление базы данных Открывает окно восстановления базы данных из архивной копии.
Обновление статистики индексов Сервис Редактор скрипт-объектов… Открывает окно редактора скрипт объектов.
Статистика индекса — это число в диапазоне от 0 до 1, которое показывает как распределены значения данных в колонке, по которой создан индекс. Статистика используется оптимизатором при создании плана выполнения запроса. Сервер Interbase не обновляет статистику индекса при изменении, добавлении или удалении данных, поэтому рекомендуется периодически выполнять команду Обновление статистики индексов или выполнять архивное копирование и последующее восстановление базы данных. Неверные значения статистики индексов могут привести к генерации неоптимальных планов и, соответственно, к снижению производительности работы системы.
Редактор форм… Открывает окно редактора экранных форм.
SQL редактор… Открывает окно редактора SQL запросов.
Просмотр шаблона документов… Открывает окно тестирования шаблонов импорта текстовых Установить пакеты настроек… Открывает окно установки пакетов настроек.
Окна Список окон… Открывает список загруженных в данный момент времени окон.
Очистить память Удаляет из памяти все окна просмотра, которые загружены в Сохранить стол… Команда позволяет сохранить текущий рабочий стол.
Удалить стол Команда позволяет выбрать из списка и удалить один из Справка Начинаем работать Справочная система по установке программы и началу работы с Руководство пользователя Справочная система по использованию программы.
Руководство разработчика Справочная система по разработке приложений на платформе Руководство программиста Справочная система, рассчитанная на программиста, который имеет Справка по VBScript Справочная система по языку программирования VBScipt.
Справка по FastReport Справочная система по системе построения отчетов FastReport.
www.gsbelarus.com Команда открывает Internet Explorer и переходит на сайт компании Регистрация Регистрация программы на данном компьютере.
Список рабочих столов Справа от главного меню располагается выпадающий список рабочих столов, а также кнопки для вызова команд сохранения текущего рабочего стола, удаления рабочего стола и очистки экрана. Последняя команда закрывает и удаляет из памяти все окна за исключением Исследователя системы.
Что такое рабочий стол?
Рабочим столом, в терминах платформы Гедымин, называется совокупность окон просмотра, расположенных определенным образом на экране. Рабочему столу можно дать имя и сохранить его в базе данных.
Разработчику в процессе работы могут понадобиться: редактор скрипт-объектов, редактор SQL и список таблиц в базе данных. Для того, чтобы не выполнять одни и те же действия каждый раз при входе в программу, можно один раз открыть три вышеупомянутых окна, расположить их на экране удобным образом и сохранить как рабочий стол под именем, например, «Разработка». При следующей загрузке Гедымина сохраненные окна будут открыты автоматически. Если разработчик, к тому же, работает и с бухгалтерскими функциями платформы, он может создать второй рабочий стол, назвав его «Бухгалтерия» и включив в него окна «Журнал-ордер», «Журнал хозяйственных операций» и «План счетов». В любой момент времени можно перейти от одного рабочего стола к другому, выбрав его из выпадающего списка на главном окне. Если, в последствии, необходимость в рабочем столе «Бухгалтерия» отпадет, то его можно удалить с помощью команды «Удаление рабочего стола».
По умолчанию, рабочий стол сохраняется только при вызове соответствующей команды, однако установив соответствующий параметр в опциях системы можно добиться автоматического сохранения текущего рабочего при выходе их программы. Там же можно определить, как будет вести себя рабочий стол при смене рабочей организации: сохраняться автоматически, не сохраняться или необходимое действие будет запрашиваться у пользователя.
Обратите внимание, что список рабочих столов свой не только для каждого пользователя, но и для каждого разрешения экрана.
Запрет на изменение рабочего стола В ряде случаев требуется запретить пользователю самостоятельно изменять рабочий стол. Сделать это можно. Применив соответствующую политику безопасности на закладке «Политики» в окне «Опции», которое вызывается из пункта «Сервис» главного меню.
Метаданные Список всех рабочих столов хранится в таблице GD_DESKTOP, которая имеет следующую структуру: