Программа управления работы коммерческой компании позволяет автоматически вычислять прибыль, задолженности, контролирует количество товара на складе. Бухгалтер или коммерческий деректор может изменять пароль и курс валюты в менюустановки.Коммерческий директор имеет возможность контролировать работу бухгалтера, просматривать список сделок и приходы не покидая рабочего места. Программа автоматически формирует приходные кассовые ордера , накладные, накладные по себестоимости и приходные накладные с возможностью вывода на принтер. Также можно формировать прайс-лист и отчет о наличии товаров, имеющихся на складе. После этого в любой момент он может формировать произвольные отчеты для внутреннего использования и налоговых органов. Программа ведет учет в количест-венном и суммовом выражениях.
Однако полностью возможности программы раскрываются при ведении аналитического учета. В коммерческих торговых фирмах это в основном учет наличия и движения товаров, расчеты с покупателями и поставщиками, учет валюты, учет договоров.
2.5.2 ОСВОЕНИЕ ПРОГРАММЫ .
Если у пользователя есть опыт работы с диалоговыми программами то эта система не требует предварительного освоения. Начать работать с ней можно в первый же день - вводить наименование товара, смотреть итоги, печатать документы. Более сложные функции программы можно осваивать постепенно по мере необходимости.
2.5.3. ТРЕБОВАНИЯ К АППАРАТУРЕ
1. IBM PC XT/AT совместимый компьютер;
2. Печатающее устройство совместимое с EPSON;
3. MS-DOS 3.31 и выше;
4. 700Kb свободного пространства на диске;
5. Наличие в файле CONFIG.SYS строки FILES=NN, где NN - число не более 50.
2.5.4. УСТАНОВКА ПРОГРАММЫ
Для установки системы следует убедиться в наличие свободного места на жестком диске. Запустите с установочной дискеты программу INSTALL.EXE и укажите пути для установки программ бухгалтера и коммерческого директора. Для корректной работы программы должна быть установлена ЛВС со стандартным IPX протоколом, однако если у Вас имеется только один компьютер, то возможна установка двух частей программы (для бухгалтера и коммерческого директора) в разные директории.
2.5.5. РАБОТА С ДАННЫМИ
1. МЕНЮУСТАНОВКИ
Включает следующие подменю :
пароль- служит для защиты системы от лиц, не имеющих разрешения для работы с программой.
реквизиты- изменения реквизитов коммерческой компании.
курс доллара- ввод курса валюты.
2. ПОСТУПЛЕНИЕ НОВОГО ТОВАРА НА СКЛАД .
Ввод данных осуществляется из программы коммерческого директора из менюпоставщик-новый приход.Вводятся следующие данные : дата прихода, курс доллара, реквизиты фирмы поставщика, наименования товаров, их расфасовки, кол-во штук в упаковке, себестоимости, стоимости и общее количество поставляемого товара. После ввода можно распечатать приходную накладную.
3. ВЫПИСКА НАКЛАДНЫХ
Продажа товара производится бухгалтером из менюклиент-продажа. Перед вами разворачивается диалоговое окно со списком имеющегося в данный момент товара. В нем Вы можете выбрать интересующий клиента товар и соответственное количество, после чего необходимо выбрать пункт оплата, после чего вам предоставиться возможность сделать корректировки накладной (изменить количество товара, его стоимость ) . Еще раз выбрав пункт оплата появиться последнее окно в котором вводятся данные о клиенте и форме сделки. После ввода всех данных печатается накладная и приходный кассовый ордер. Очевидно, что если товар предоставлен на реализацию, то приходный кассовый ордер печататься не будет, накладная помещается в долги.
4. ПРОСМОТР ДАННЫХ.
Все вводимая информация автоматически заносится в базу данных, которую в любое время имеют возможность просмотреть бухгалтер и коммерческий директор. Для ее просмотра предназначено менюданные, включающее следующие подменю :
склад- служит для просмотра имеющегося товара на складе.
сделки- содержит информацию о накладных.
приходы- информация о приходах товара.
долги- служит для просмотра списка неоплаченных накладных (реализация товара).
выручка- подсчет кассы по заданной дате.
5. РАБОТА С АРХИВОМ.
Бухгалтеру предоставляется возможность убрать часть данных о накладных за неинтересующие его периоды в архив.
2.6. СРЕДСТВА РАЗРАБОТКИ
2.6.1 КОМПИЛЯТОР BORLAND PASCAL 7.0
КомпиляторBorland Pascal 7.0позволяет создавать программы, которые могут выполнятся в реальном и защищенном режимах DOS и в среде WINDOWS. Таким образом, эту версию компилятора могут использовать программисты, на любом типе ЭВМ, включая IBM PC/XT. Нопомню, что с шестой версии комилятора BP введена такая новинка, как объектно-ориентированная библиотека Turbo Vision 2.0, постовляемая вместе с компилятором, для создания DOS приложений.
2.6.2. ОБЪЕКТНО-ОРИЕНТИРОВАННАЯ БИБЛИОТЕКА TURBO VISION
Новая версия объекно-ориентированной библиотеки для создания DOS-приложений TURBO VISION 2.0 содержит ряд новых объектов и изменений : объект TValidator и объекты построенные на его основе, испольэуются совместно со строками ввода для проверки введенных Новая версия объекно-ориентированной библиотеки для создания DOS-приложений TURBO VISION 2.0 содержит ряд новых объектов и изменений : объект TValidator и объекты построенные на его основе, испольэуются совместно со строками ввода для проверки введенных данных. Реализованы объекты для проверки вхождения данных в указанный диапозон, ограничения вводимых данных, но самое ценное - это объекты, позволяющие вводить информацию на основе шаблонов, задаваемых в формате Paradox и dBASE. И все же, что такое Turbo Visoin 2.0 ? TV - это мощная объектно-ориентированная оболочка для оконных программ. Borland International создала Turbo Vision, чтобы убереч программистов от бесконечного создания оболочек для построения прикладных программ. Turbo Vision - это объектно-ориентированная библиотека, включающая : многократные перекрывающиеся окна с изменяемыми размерами; выпадающие меню; поддержку мыши; диалоговые окна; кнопки, полосы скроллинга, окна ввода, зависимые и независимые кнопки;
Используя TV можно разрабатывать программы с незначительными усилиями.
2.6.3. ЭЛЕМЕНТЫ TURBO VISION
Turbo Vision - это объединение видимых элементов, событий и невидимых объектов.
Видимый элемент - это любой элемент программы, который виден на экране, и все эти элементы являются объектами. Поля, рамки окон, полосы скроллинга, полосы меню, диалоговые окна - это все видимые элементы. Видимые элементы могут объединяться для формирования более сложных элементов, таких как окна и диалоговые окна. Эти наборы видимых элементов называются группами, и они работают вместе так, как если бы это был один видимый элемент. Основными видимыми элементами являются следующие :
Панель экрана- это объект TDesktop, создающий фоновое изображение рабочей панели экрана. Заполнение панели экрана осуществляется другими видимыми элементами, такими как TWindow, TDialog и т.п. Обычно владельцем группы TDesktop является объект TApplication или его потомки.
Окна.Для создания и использования окон в Turbo Vision предусмотрен объект TWindow. Обычно этот объект владеет объектом TFrame и поэтому очерчивается прямоугольной рамкой со стандартными кнопками изменения размера и закрытия. Если окно имеет несколько видимых элементов, его обработчик событий интерпре-тирует нажатие на клавиши Tab и Shift-Tab как команду активизации следующего (предыдущего) видимого элемента.
Диалоговые окна. Объект TDialog порожден от TWindow и предназначен для реализации взаимодействия с пользователем. В отличие от TWindow диалоговое окно не может изменять свой размер, но может перемещаться по экрану. Его обработчик событий генерирует команду cmCancel в ответ на нажатие клавиши Esc (или воздействие мыши на кнопку закрытия) и команду cmDefault в ответ на нажатие Enter.
Кнопки.Объект TButton - это прямогугольник с надписью, имитирующий кнопку панели управления. Обычно TButton является элементом группы TDialog и нажатие на кнопку иницирует событие, связанное с какой-либо стандартной коммандой или командой пользователя.
Строки ввода. Для ввода различных текстовых строк с клавиатуры используется объект TInputLine. Использование этого объекта дает в распоряжение пользователя мощные возможности встроенного редактора, обрабатывающего алфавитно-цифровые клавиши, клавиши перемещения курсора влево/вСтроки ввода. Для ввода различных текстовых строк с клавиатуры используется объект TInputLine. Использование этого объекта дает в распоряжение пользователя мощные возможности встроенного редактора, обрабатывающего алфавитно-цифровые клавиши, клавиши перемещения курсора влево/вправо, а также клавиши Backspace, Delete,Insert, Home, End.
Просмотр списков. Абстрактный объект TListViewer предоставляет в распоряжение программиста средства просмотра списка строк и выбора из этого списка нужной строки.
Статический текст. Объект TStaticText - это видимый объект, используемый для вывода текстовых сообщений. В отличие от строк, созданных непосредственным выводом с использованием стандартной процедуры Writeln, текстовая строка объекта TStaticText может входить в группу видимых элементов (например диалоговое окно) и управляться этой группой. Статический текс игнорирует любые события, посланные к нему.
Событие - это что-то, на что программа должна отреагировать. События могут приходить от клавиатуры, от мышки или от других частей TV. Например, нажата клавиша - это событие такое же, как и нажатие кнопки мыши. События поступают в очередь внутри TV по мере их появления и затем обрабатываются обработчиком событий. Объект Tapplication, который является ядром каждой программы на TV содержит обработчик событий.
Например, клавиша F1 вызывает диалоговое окно, содержащее подсказку о создании программы.
Невидимые объекты - это любые другие объекты программы, отличные от видимых элементов. Они невидимы, поскольку сами ничего не выводят на экран.
Они производят вычисления, связь с переферией и выполняют другую работу прикладной программы. Когда невидемому объекту необходимо вывести что-либо на экран, он должен связаться с видимым элементом.
Для создания системы управления работой коммерческой компании (СУРКК) ипользовалась стандартнаю объектно-ориентированную библиотека TURBO VISION. Именно она, поскольку без особых усилий была создана диалоговая программа с пользовательским интерфейсом высокого уровня, облегчившая взаимодеуствие пользователя с данными.
2.6.4 ОПИСАНИЕ ПРОЦЕССА РАЗРАБОТКИ.
2.6.4.1 НАЧАЛО СОЗДАНИЯ.
Работа большинства прикладных программ проходит в три этапа : подготовка к работе, собственно работа и, наконец, ее завершение. В случае с СУРКК к подготовительному этапу можно отнести такие действия, как анализ существования файлов данных и его подготовка к работе, проверка легальности копии и т.п.. На этапе завершения, необходимо произвести действия по сохранению файлов данных. Все остальные действия относятся к среднему этапу. С учетом этого можно написать простейшую программу :
BEGIN
{Подготовка к работе}
{Работа}
{Завершить работу}
END.
Если попытаться выполнить эту программу, ничего не произойдет. Так обстоит дело с Borland Pascal’ем, но не так в Turbo Vision ! Для любой прикладной программы Turbo Vision создает минимальную программную реализацию, которую затем можно постепенно наращивать в ходе детализации программы. Вот начальный вариант программы с использованием Turbo Vision.
Uses App;
Var
SklVks : TSklVks;
Begin
SklVks.Init;
SklVks.Run;
SklVks.Done;
End.
В этой программе объявлено использование стандартного для Turbo Vision модуля APP (от Application - прикладная программа). Такое объявление открыло доступ к мощным возможностям Tur В этой программе объявлено использование стандартного для Turbo Vision модуля APP (от Application - прикладная программа). Такое объявление открыло доступ к мощным возможностям Turbo Vision. Затем объявили экземпляр объекта TApplication, т.е. объединение данных и методов обработки этик данных (процедур, функций, конструкторов, деструкторов). В объекте TApplication предусмотрены методы INIT, RUN и DONE. Вызов этих методов и составляет исполняемую часть программы. Если запустить эту программу, то на экран появится изображение (см. рис 1) :
(рис 1)
Как видно, даже простейшая программа “знает”, как создать экран, распознать команду ALT-X и может работать с мышью. Совсем не плохо для трех исполняемых операторов, не так ли ? Такие возможности доступны потому, что в объекте TApplication предусмотрены соответствующие методы.
Простейшая программа не может выполнять никаких других действий, кроме уже перечисленных, так как именно эти действия запрограммированы в методах Init и Run объекта TApplication. В ходе их выполнения на экране создается изображение, имеющее три зоны : верхняя строка (строка меню), нижняя строка (строка статуса) и вся остальная часть (рабочая область).
2.6.4.2 ФОРМИРОВАНИЕ МЕНЮ И СТРОКИ СТАТУСА.
Теперь нужно создать основные элементы программы - строку меню и строку состояния. Для этого я модифицировал стандартное поведение объекта SKLVKS. Я перекрыл (переопределил) унаследованные от TApplication методы InitStatusLine и InitMenuBar. Метод InitStatusLine я перекрыл так, чтобы программа в строке состояния вывела подсказки : выхода из программы, справка и меню. При нажатии мышкой или при нажатии горячей клавишу на соответствующую надпись ваполнится связанная с ней процедура. Например при нажатии на F1 на экране появится сообщение о создании СУРКК или при нажатии на F10 активизируется строка меню. Метод InitMenuBar перекрал так, чтобы организовать меню для работы с данными. (см. рис 2)
NewSubMenu('Пе~ч~ать',hcNoContext,NewMenu(
NewItem('~О~тчет о наличии товара',' ',kbNoKey,cmPrnSklad,hcNoContext,
NewItem('Прайс ~л~ист',' ',KbNoKey,cmPriceList,hcNoContext,
nil))),
NewSubMenu('~А~рхив',hcNoContext,NewMenu(NewItem('~Р~абота с архивом',
' ',kbNokey,cmArchive,hcNoContext,nil)),
BEGIN { Основная программа }
SklVks.Init;
SklVks.Run;
SklVks.Done;
END. { Конец основной программы }
(рис 2)
2.6.4.3 ОБРАБОТКА КОМАНД
Теперь нужно сделать так, чтобы при выборе какого-либо пункта меню выполнялась соответсвующая процедура. При выборе пунктов меню генерирует событие, которое обрабатывается подпрограммой - обработчиком событий. Для этого ч перекрыл стандартный обработчик событий HandleEvent объекта TApplication. Для этого в описании объекта TSklVks добавил еще одну строку ...
Type
TSklVks = Object(TApplication)
......
Procedure HandleEvent(var Event : Tevent); virtual;
End;
и поместил в раздел объявлений текс новой подпрограммы :
Procedure TSklVks.HandleEvent(var Event : TEvent);
Begin
TApplication.HandleEvent(Event);
if Event.What = evCommand then
case Event.Command of
cmPrnSklad : Begin
PrintSklad;
End;
cmSklad : begin
Sklad;
end;
cmZak : Begin
Zak;
End;
cmHelp_About : Begin
Help_About;
End;
cmPrihod : Begin
Prihod;
End;
cmPrih : Begin
Prih;
End;
cmDostup : begin
Dostup;
end;
cmRekviz : begin;
rekviz;
end;
cmKurs : Begin
Kurs;
end;
cmPriceList : Begin
GetDate(yyyy,mm,dd,ww);
PriceList(dd,mm,yyyy);
ClearEvent(Event);
end;
cmSdelka : Begin
Sdelki;
End;
cmVozvrat : Begin
Vozvrat;
End;
cmKorPrihod : Begin
KorPrihod;
End;
cmDolgi : Begin
Dolgi;
End;