- реестры покупки/продажи валюты;
- справка об остатках на конец рабочего дня;
- - справки строгой отчетности и др.
Инструкцией разрешаются некоторые изменения формы и содержания документов. Однако мытищинский филиал Уникомбанка использует все документы без изменений.
Имея уже установленное представление входной и выходной информации, главной задачей при разработке внутримашинной информационной базы является создание структуры БД, обеспечивающей:
-простоту и удобство работы;
-соответствующие условия доступа к подбазам с учетом санкционированного доступа к данным;
-достаточную производительность для работы в режиме реального времени.
Для реализации указанных требований была использована программа ’Report Smith’, являющейся в рамках системы Delphi автономным генератором отчетов.
С помощью данной программы были разработаны наглядные формы представления входных и выходных документов, быстрый и надежный способ получения промежуточных и окончательных расчетов, обеспечена эффективная работа валютного кассира с БД в реальном масштабе времени.
Разработанные формы представления входных и выходных документов сведены в приложение 1
2.4 ТЕХНОЛОГИЯ ПРОГРАММИРОВАНИЯ В СРЕДЕ DELPHI ПРИМЕНИТЕЛЬНО К ПРОГРАММНОМУ ОБЕСПЕЧЕНИЮ АРМ ’ВАЛЮТНЫЙ КАССИР’
Программное обеспечение АРМ ’Валютный кассир’ состоит из:
-общего (системного) обеспечения, включающего ОС Windows95;
-функционального (прикладного) обеспечения, включающего набор программных модулей,. обеспечивающих автоматизированное выполнение основных операций, производимых валютным кассиром в процессе работы;
-интегрированной среды программирования Delphi, обеспечивающей с помощью своих средств интерфейс между пользовательскими программами и ОС, с одной стороны, и работу с БД, с другой.
Среда программирования Delphi позволяет формировать программу, использую стандартные объекты с установкой их свойств или записывая соответствующий текст. При этом, сама Delphi предоставляет разработчику заготовки соответствующих фрагментов программы. Полученные результаты сразу отображаются на экране монитора.
Важной задачей при разработке программного обеспечения является создание и поддержка в среде Delphi БД, которая является информационной основой для работы автоматизированной системы в целом. Специфика работы обменного пункта состоит в том, что надо при настройке системы на текущий день, а зачастую и в течение рабочего дня, регулярно обновлять входные данные. Поэтому простота доступа к таблицам БД и широкие возможности их редактирования являются непременным условием при разработке программного обеспечения
Delphi содержит ряд компонентов, имеющих отношение к БД. Страница Data Access палитры Components содержит компоненты, необходимые для взаимодействия с БД. В страницах Data Controls представлены визуальные компоненты, используемые для построения и редактирования данных в форме. Их называют компонентами обработки данных.
Для доступа к БД в Delphi необходим источник данных, описанный компонентом Data Source. Однако, этот компонент не указывает данные на прямую, он ссылается либо на таблицу, либо на результат запроса, либо на хранимую процедуру. Соответственно в форме необходимо иметь компоненты Table, Query или StoredProc.
Если в форме размещен компонент Table или Query, то для связи с ним можно использовать свойство DataSet компонента DataSource. Для данного свойства Object Inspector перечисляет доступные наборы данных текущей формы или других форм, соединенных с текущей ( с помощью команды File Uses Form).
Наиболее простой способ доступа к данным в Delphi заключается в использование компонента Table. Объект Table просто ссылается на таблицу БД. При этом необходимо указать имя БД в его свойстве Database Name. Можно ввести само имя, псевдоним или путь к каталогу с файлами таблицы Object Inspector перечисляет допустимые имена, которые зависят от псевдонимов, установленных в DBF. Необходимо также имя файла, содержащего таблицу, в составе Table Name. Object Inspector перечисляет таблицы текущей БД (или каталога).
Работа с набором данных (таблица или запрос) может выполняться при разных состояниях, определяемых свойством State, которое может принимать несколько различных значений:
-dsBrowse обеспечивает обычный просмотр, используемый для поиска данных и предварительного просмотра записей;
-dsEdit используется для режима редактирования. Вход в это состояние происходит при вызове метода Еdit или свойства AvtoEdit компонента DataSource;
-dsInsert применяется, если в набор данных нужно добавить новую запись. Это происходит при вызове метода Insert, перемещение к последней строке компонента DB Navigator;
-dsInactive является состоянием закрытого набора данных;
-SetKey указывает на поиск в наборе данных. Это состояние имеет место между вызовом метода SetKey;
-dsCals Fieds является состоянием набора данных во времени вычисления поля (вызов обработки события On Cals Fields).
В большинстве случаев переходы между этими состояниями выполняются автоматически, однако следует иметь ввиду , сто существует много событий, относящихся к переходам между состояниями.
Отображение данных в среде Delphi осуществляется с помощью компонентов, которые похожи на обычные управляющие элементы Windows, но знают, как обращаться с данными. Все эти компоненты находятся на странице Data Controlsпалитры Delphi Components:
-DBGrid представляют собой сетку, способную отразить таблицу как одно целое. Он обеспечивает прокрутку и навигацию, а также редактирование содержимого сетки;
-DB Navigator представляет собой набор кнопок, и используется для навигации и выполнения действий над БД;
-DBLabel используется для отображения содержимого поля, которое нельзя модифицировать;
-DBEdit позволяет редактировать поле (изменять текущие значения);
-DBMemo используется для просмотра и модификации большого текстового поля, которое будет сохранено в памяти, или на BLOB (Binak Legre Object – большой двойной объект);
-DBImage используется для показа картинки, хранимой в поле BLOB;
-DBListBox и DBComboBox используется для выбора единственного значения из указанного множества;
-DBCheckBox используется для показа и переключения параметра, соответствующего выполнению некоторой функции;
-DBCtrlGrid представляет собой сетку для нескольких записей и может владеть набором других компонентов обработки данных. Такие компоненты дублируются для каждой записи набора данных.
Все указанные компоненты связываются с источником данных с помощью соответствующего свойства Data Source. Многие из них ссылаются на определенное поле данных источника с помощью свойства DataFiled. Допустимые значения этого свойства представляются в виде выпадающего комбинированного списка. Другие свойства компонентов страницы DataControls подобны свойствам соответствующих стандартных управляющих элементов.
Языком программирования в среде Delphi является Object Pascal.
Структура программы, использующая объектное программирование, существенно отличается от традиционной структуры программ с жестким, заранее заданным алгоритмом. Здесь программа выглядит как совокупность, в некотором смысле, самостоятельных, обособленных блоков, выполняющих те или иные операции, а связь между ними определяется результатами предыдущих этапов и взаимодействием программы через внешние устройства с пользователем. После выполнения очередного блока программа приостанавливается и дожидается сообщения от оператора, которое через ОС Windows 95 передаётся программе.
Структурно программа формируется из модулей, выполняющих отдельные операции, входящие в состав функционального набора АРМ.
Учет налога 0.5% на покупку валюты, а также комиссионного вознаграждения производится в рамках модуля ’справка’, то есть при заполнение экранной формы справки строгой отчетности.
В соответствии с вышеизложенным структуру программного обеспечения АРМ ’Валютный кассир’ можно представить в виде, изображенном на рис. 2.2.
2.5 БАЗА ДАННЫХ АРМ ’ВАЛЮТНЫЙ КАССИР’
БД, входящая в состав АРМ ’Валютный кассир’ написана как Delphi приложение с использованием языка программирования Object Pascal для работы под ОС Windows 95. БД состоит из двух основных частей:
-управляющего модуля;
-модулей экранных форм.
Рассмотрим процесс создания и заполнения таблиц данных. В составе БД имеется три основные таблицы:
1 таблицасодержит в себе данные, характеризующие каждый обменный пункт филиала, а именно: название Банка, текущую дату, режим работы, адрес обменного пункта, его регистрационный номер, фамилия кассира, выданный аванс ‑ денежной массы и документов;
2 таблицасодержит данные об иностранной валюте, с которой обменный пункт проводит операции, а именно – название каждой валюты и ее код, текущая дата, курс ЦБ, внутренние курсы покупки / продажи валют, а также остаток денежной массы на текущий момент;
3 òàáëèöà здесь содержатся такие данные о справках строгой отчетности, как: серия и номер справки, информация о том, была ли забракована справка или нет, текущая дата, режим работы (Утро / Вечер) и регистрационный номер обменного пункта.
Создание таблиц происходило следующим образом. Прежде всего, с помощью диспетчера файлов Windows (Windows File Manager), делается новый каталог C: \BOXLIGHT\TEMP. Это то место, где будут размещаться таблицы и индексы. Позднее они будут скопированы в каталог, специально предназначенный для приложения.
Далее, следует перейти к Delphi, из меню Tools (Инструментальные средства) запустить Database Desktop (Рабочий стол БД). Из меню File (Файл) в DBD нужно выбрать New/Table (Новая Таблица) и выбрать dBase для Windows из предложенного набора типов файлов. Открывшийся после этого диалог Create Table(Создать таблицу) помогает определить таблицу с помощью специфики полей.
Для создания индекса по полю таблицы следует щелкнуть кнопкой на Define (Определить), в результате чего на экране появляется диалог Define Index (Определить индекс). Из списка полей выбирается индексируемое поле, на нем надо дважды щелкнуть, затем отметить индикатор Unique (Уникальный), т.к. индекс по этому полю должен иметь характеристику ’уникальный’. Полностью специфицировав все поля и индексы следует нажать кнопку Save as (Сохранить как) в диалог Create Table и записать файл в каталог C: \ BOXLOGHT \ TEMP.