Разработка информационной системы для учета материалов на складах (на примере ОАО "Химмашбор")
Описание операционной системы, аппаратных и программных средств. Анализ входной и выходной информации. Структура таблиц базы данных. Построение информационно-логической модели. Блок-схема работы программы. Расчет трудоемкости на обработку информации.
Рубрика | Программирование, компьютеры и кибернетика |
Вид | курсовая работа |
Язык | русский |
Дата добавления | 05.07.2015 |
Размер файла | 1,2 M |
Отправить свою хорошую работу в базу знаний просто. Используйте форму, расположенную ниже
Студенты, аспиранты, молодые ученые, использующие базу знаний в своей учебе и работе, будут вам очень благодарны.
Тип
Размер
Ключ
Дата
D
Документ
A
15
Код материала
S
i
Код склада
S
i
Код поставщика
S
i
Количество
S
Расходная цена
$
Сумма расхода
$
Таблица 8Перемещение
Наименование |
Тип |
Размер |
Ключ |
|
Код материала |
S |
I |
||
Код склада (откуда) |
S |
I |
||
Код подразделения (куда) |
S |
I |
||
Код склада (куда) |
S |
I |
||
Дата |
D |
|||
Номер документа |
S |
|||
Затребовано |
S |
|||
Отпущено |
S |
Таблица 9 Итоги и остатки:
Наименование |
Тип |
Размер |
Ключ |
|
Код материала |
S |
I |
||
Количество прихода |
S |
|||
Количество расхода |
S |
|||
Остаток начальный |
S |
|||
Остаток текущий |
S |
2.3 Выходная информация
Выходные документы - это документы (отчеты), которые пользователь получает в результате работы программного комплекса. Они формируются на основании информации, которая содержится во входных документах, обработанной в процессе функционирования ИС.
Итогом выполнения данного программного комплекса (см. приложение) является формирование таких ведомостей как «Ведомость прихода», «Ведомость расхода », «Ведомость по остаткам на складах», «Оборотно-сальдовая ведомость».
В документе «Ведомость прихода» отражается следующая информация: Код материала, код склада, наименование, дата, количество, цена, итоговая сумма.
Таблица 10
Код материала |
Наименование |
Дата |
№ документа |
Количество |
Цена |
Сумма |
|
Код контрагента |
|||||||
Общая сумма по контрагенту |
|||||||
Общая сумма |
В документе «Ведомость расхода» отражается следующая информация: Код материала, код склада, наименование, дата, количество, цена, итоговая сумма.
Таблица 11
Код материала |
Наименование |
Дата |
№ документа |
Количество |
Цена |
Сумма |
|
Код контрагента |
|||||||
Общая сумма по контрагенту |
|||||||
Общая сумма |
В документе «Ведомость по остаткам на складах» отражается следующая информация: Код материала, наименование, дата, количество прихода, количество расхода.
Таблица 12
Код материала |
Наименование |
Единица измерения |
Остаток начальный |
Остаток конечный |
|
В документе «Оборотно-сальдовая ведомость» - показывает количество поступления, реализации, остатков материалов на складе.
Таблица 13
Код материала |
Наименование |
Поступление |
Реализация |
Остаток начальный |
Остаток конечный |
|||
Количество |
Цена |
Количество |
Цена |
|||||
2.4 Алгоритм расчетов
При разработке программы «Учет материалов на складах» использовались следующие расчеты:
- Расчет суммы прихода производится по формуле:
Table1.FieldByName('Sum_prih').value:=
((Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Zena').value,
где: Sum_prih-сумма прихода,
Kol_vo-количество,
Zena-цена.
- Расчет суммы расхода производится по формуле:
Table1.FieldByName('Sum_rash').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value+n,
где: Sum_rash-сумма расхода,
Kol_vo-количество,
Rash_zena-расходная цена,
n-сумма НДС, которая рассчитывается по формуле:
n:=(Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value)*(Table1.FieldByName('NDS').value/100).
- Расчет текущего остатка производится по формуле:
Table1.FieldByName('Ost_tek').Value:=Table1.FieldByName('Ost_nach').Value+Table1.FieldByName('Kol_prih').Value-Table1.FieldByName('Kol_rash').Value,
где: Ost_nach-остаток начальный,
Kol_prih-количество прихода,
Kol_rash-количество расхода.
Рис. 1 Информационно-логическая модель
Рис. 2 Схема взаимодействия входной и выходной информации
Рис. 3 Блок-схема работы системы или решения задачи.
Описание блок-схемы:
Блок 1. Вывод главного меню с пунктами:
1. Ввод данных
2. Формирование остатков
3. Выходные документы
4. Справка
5. Выход
Блок 2. Проверка выбора пункта 1.Ввод данных, если да переход на блок 3, если нет - блок 10.
Блок 3. Вывод подменю с пунктами:
1.1. Справочники
1.2. Оформление прихода
1.3. Оформление расхода
1.4. Перемещение
Блок 4. Проверка выбора пунктов 1.1. Справочники и 1.4. Перемещение, если да переход на блок 5, если нет - блок 7.
Блок 5. Заполнение данных на основании первичных документов.
Блок 6. Работа со справочниками: Материалы, Склады, Контрагенты, Подразделения, их просмотр и сохранение таблиц.
Блок 7. Проверка выбора пункта 1.2. оформление прихода и 1.3. оприходование, если да переход на блок 8, если нет - блок 3.
Блок 8. Работа со справочными таблицами: Материалы, Контрагенты, склады и Подразделения.
Блок 9. Заполнение данных в таблицы Расход и Приход, их просмотр и сохранение.
Блок 10. Проверка выбора пункта 2. Формирование остатков, если да переход на блок 11, если нет - блок 13.
Блок 11. Ввод параметра для вывода остатков.
Блок 12. Формирование остатков на основании таблиц Расход и Приход, сохранение итоговой таблицы Остатки, и просмотр и переход на блок 10.
Блок 13. Проверка выбора пункта 3. Выходнве документы, если да переход на блок 14, если нет - блок 23.
Блок 14. Вывод подменю:
4.1. Ведомость по приходу
4.2. Ведомость по расходу
4.3. Оборотно-сальдовая ведомость
4.4. Ведомосмть итогов и остатков
Блок 15. Проверка выбора пунктов: 4.1. Ведомость по приходу; 4.2. Ведомость по расходу; 4.3. Оборотно-сальдовая ведомость, если да переход на блок 15, если нет - блок 19.
Блок 16. Формирование запроса для получения отчета.
Блок 17. Формирование отчета на основании запроса.
Блок 18. Группировка данных по коду контрагента/подразделения/склада, просмотр полученных данных и вывод на печать.
Блок 19. Проверка выбора пункта 4.4. ведомость итогов и остатков, если да переход на блок 20, иначе - блок 14.
Блок 20. Формирование запроса на основании таблиц: Материалы и Остатки.
Блок 21. Формирование отчета.
Блок 22. Формирование остатков, обновление таблицы Остатки, просмотр ведомости и вывод ее на печать.
Блок 23. Проверка выбора пункта 4. Справка, переход на ее просмотр.
Блок 24. Проверка выбора пункта 5. Выход, если да переход на блок 25, если нет - блок 1.
Блок 25. Завершение работы с программой.
3. Инструкция по работе системы обработки информации
На основании рассмотренных входных и выходных документов составляется схема данных для ИС (см. приложение), отражающая взаимодейтсвие входной и выходной информации.
При проектировании системы обработки данных особое внимание уделяется организации данных, понять которую помогает информационно-логическая модель. Информационно - логической моделью (ИЛМ) данных называют модель данных, которая отображает предметную область в виде совокупности информационных объектов и структурных связей между ними и обеспечивает представление объектов предметной области. Информационно-логическая модель данных, отображающая структуру БД для решения поставленной задачи, приведена в приложении.
Программа, написанная с помощью среды Delphi, в основе которой лежит концепция быстрого создания приложений - RAD (Rapid Application Development), базирующаяся на объектно-ориентированной и визуальной технологии программирования, представляет собой набор программных единиц - модулей. Один из модулей, главный модуль, содержит инструкции, с которых начинается выполнение программы. Главный модуль приложения формируется средой Delphi.
Начинается главный модуль словом PROGRAM, за которым следует имя программы, которое совпадает с именем проекта. Имя программы задается программистом в момент сохранения проекта, и оно определяет имя создаваемого компилятором исполняемого файла программы. Далее, за словом USES, следуют имена используемых модулей: библиотечного модуля Forms и модуля формы Root_u.
Исполняемая часть главного модуля находится между BEGIN и END. Инструкции выполняемой части обеспечивают инициализацию приложения и вывод на экран стартового окна. Помимо главного модуля каждая программа включает в себя как минимум один модуль формы, который содержит описание стартовой формы приложения и поддерживающих ее работу процедур. В Delphi каждой форме соответствует свой модуль. Начиняется модуль словом UNIT, за которым следует имя модуля. Именно это имя упоминается в списке используемых модулей в инструкции USES главного модуля приложения.
Состоит модуль следующих частей:
Раздел интерфейса (начинается словом INTERFACE) сообщает компилятору, какая часть модуля является доступной для других модулей программы. Здесь перечислены используемые модулем другие библиотечные модули, описание сформированного Delphi типа TFormI, описание доступных другим модулям переменных.
Раздел реализации (начинается словом IMPLEMENTATION) содержит локальные объявления и реализацию процедур и функций, поддерживающих работу формы. Начинается раздел директивой {$R *.DFM}, указывающей компилятору, что в раздел реализации надо вставить инструкции установки значений свойств формы, которые находятся в файле с расширением dfm, имя которого совпадает с именем модуля. Файл *.dfm на основе внешнего вида формы генерируется средой Delphi. Просмотреть файл DFM можно при помощи редактора текста. За директивой {$R *.DFM} следует описание обработчиков событий формы. Сюда же программист может поместить описание своих процедур и функций, которые могут вызываться из обработчиков событий обычным образом.
Создание проекта начинаетс с создания псевдонима Sakol (BDE Administrator). После создания псевдонима необходимо указать путь к проекту.
В Database Desktop создается структура таблиц. Здесь необходимо указать наименование полей входящих в таблицу, тип, размер, а также ключевые и индексированные поля.
После того, как создана структура таблиц, открываем программу, и на первой форме создаем меню. При дальнейшей разработке к этой форме мы будем привязывать все остальные. После создания главной формы посредством различных компонентов и их свойств создаются формы для заполнения таблиц. Далее происходит непосредственное заполнение таблиц и потом на их основе создаютс я различные запросы, поиск и фильтрация. В завершение создаются отчеты которые являются выходными документами.
Рис.4
Рис.5
Рис.6
Рис.7
Рис.8
Форма содержащая справочники:Материалы, Контрагенты, Склады, Подразделения.Все справочники для удобчтва расположены на одной форме.
Рис.9
Форма содержащая таблицу Приход. Используется для оформления поступления материалов, содержит поиск, а также на ней можно производить редактирование данных.
Рис.10
Форма содержащая таблицу Расход. Используется для оформления реализации материалов, содержит поиск и на ней можно редактировать данные.
Рис. 11
Форма содеращая таблицу Остатки. Используется для фомирования начального и текущего остатка.
Рис. 12
4. Расчет трудоемкости и затрат на обработку информации
Трудоёмкость решения задачи на компьютере складывается из трех составляющих:
- трудоёмкость ввода оперативной информации в ПК.
- трудоёмкость непосредственной обработки данных компьютером.
- трудоёмкость печати выходных документов.
Для определения трудоёмкости необходимо знать объём работы и нормативы. При выборе нормативов учитываются все факторы, влияющие на качество выполнения операций. При вводе информации с клавиатуры, учитывается вид контроля, а т.к. в процессе ввода используется в основном программный и визуальный контроль, скорость ввода довольно низкая.
Vвв. = 2 симв/сек (где Vвв. - скорость ввода);
Для операции внутренняя работа используется норматив t, норматив вычисления работ для перевода символов в машинные операции.
t = 500 опер/симв;
Kконтроля = 2 - коэффициент контроля);
Kнеравномерности = 1.3 (- коэффициент неравномерности);
Vвнутр. раб. = 1000000 опер/сек (где Vвнутр. раб. - скорость внутренней работы ПК);
При выводе информации на печать используется скорость вывода, которая зависит от типа принтера. Скорость вывода используемого мной принтера:
Vвыв. = 12 лист/мин.
Определение объёма работы и трудоёмкости по операции технологического процесса.
Для определения объема работ по операции ввод, заполним таблицу:
Таблица 14
№ п/п |
Наименование документа |
Количество |
Всего вводимых символов |
|||
Заполнений документа |
Строк в документе |
Вводимых символов |
||||
1. |
Приходный ордер |
30 |
9 |
80 |
21600 |
|
2. |
Товарно-транспортная накладная |
30 |
15 |
200 |
90000 |
|
3. |
Требование |
20 |
18 |
150 |
54000 |
|
4. |
Акт приемки материалов |
30 |
49 |
400 |
588000 |
|
5. |
Накладная на отпуск на сторону |
30 |
30 |
350 |
315000 |
|
6. |
Каточка складского учета |
5 |
25 |
90 |
11250 |
|
ИТОГО |
1079850 |
Qвв. = 1079850
Определяем трудоёмкость по операции ввода.
Зная объём работы и скорость ввода, определим трудоёмкость по операции ввод:
tвв. = Qвв. / Vвв. = 1079850симв. / (2симв/сек * 3600сек/час) = 149,9час;
Определяем объём работы для обработки данных непосредственно в ПК.
Он определяется количеством всех обрабатываемых символов, которые были введены с клавиатуры и которые определяются путем умножения количества символов в записи на количество записей в файле.
Qвнутр. = (Qвв. + Qспр1 + Qспр2 + … + Qспрn) * t * Kконтр * Kнеравн;
Qспр = длина записи * количество записей;
Qвнутр. = (1079850 + 771) * 500 опер/симв * 2 * 1.3 = 1404807300опер.
Определяем трудоемкость внутренних операций:
tвнутр. = Qвнутр. / Vвнутр. раб. =
= 1404807300опер. / (1000000опер/сек * 3600сек/час) = 0,39час;
Определяем объем работы по операции печать выходных документов.
Для определения объема работ по операции вывод, заполним таблицу:
Таблица 15
№ п/п |
Наименование документа |
Количество печатных листов |
Периодичность получения |
Всего печатных листов |
|
1. |
Ведомость поступления |
1 |
30 |
30 |
|
2. |
Ведомость реализации |
1 |
30 |
30 |
|
3. |
Оборотная ведомость |
2 |
1 |
2 |
|
4. |
Ведомость остатков |
2 |
3 |
6 |
|
ИТОГО |
68 |
Qвыв. = 68листов
Определяем трудоёмкость по операции вывод:
tвыв. = Qвыв. / Vвыв. =68 / (10листов/мин * 60мин/час) = 0,11час;
Определение общей трудоёмкости:
tобщ. = tвв. + tвнутр. + tвыв. = 149,9час + 0,39час + 0,11час = 150,4час;
Определяем стоимость решения задачи на ПК:
C = P * tобщ. (где P - стоимость 1часа работы ПК ? 250руб/час)
C = 250руб/час * 150,4час = 37600руб.
Заключение
Разрабатываемая ИС должна обладать следующими важнейшими потребительскими свойствами:
функциональная полнота - свойство, означающее наиболее полный состав списка задач, поддающихся решению с помощью компьютерной техники. Таким образом, это понятие выражает уровень автоматизации управленческих процессов на предприятии с использованием данной ИС.
своевременность характеризует временные свойства автоматизируемой системы и имеет количественное выражение в виде суммарного времени задержки информации, необходимой пользователю в текущий момент в реальных условиях для принятия решения. Чем меньше величина временной задержки поступления информации, тем лучше ИС отвечает данному требованию.
общий показатель надежности ИС концентрирует в себе ряд важных характеристик: частоту возникновения сбоев в техническом обеспечении; степень адекватности математических моделей; верификационную чистоту программ; относительный уровень достоверности информации; интегрированный показатель надежности эргономического обеспечения ИС.
В данной системе все справочники расположены на одной форме. Переход к каждому осуществляется по вкладкам с необходимыми наименованиями таблиц. Также в данной системе есть Таблицы Приход, Перемещение и Расход которые обеспечивают поступление и реализацию материалов. На основе таблиц Прихода и Расхода была создана таблица Итоги и остаки, которая формирует начальные и текущие остаки. Система содержит удобные подсказки и предупреждения.
Приложения
unit Unit1;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, jpeg, ExtCtrls, ComCtrls, StdCtrls ;
type
TForm1 = class(TForm)
MainMenu1: TMainMenu;
N1: TMenuItem;
N2: TMenuItem;
N5: TMenuItem;
N16: TMenuItem;
Image1: TImage;
N17: TMenuItem;
N18: TMenuItem;
N3: TMenuItem;
procedure N16Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure N17Click(Sender: TObject);
procedure N18Click(Sender: TObject);
procedure N4Click(Sender: TObject);
procedure N5Click(Sender: TObject);
procedure N6Click(Sender: TObject);
procedure N7Click(Sender: TObject);
procedure N3Click(Sender: TObject);
procedure Image1Click(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form1: TForm1;
implementation
uses Unit2, Unit3, Unit4, Unit5, Unit6, Unit7, Unit10, Unit11, Unit12,
Unit16;
{$R *.DFM}
procedure TForm1.N16Click(Sender: TObject);
begin
If MessageDlg('Вы хотите выйти?',mtConfirmation, [mbYes, mbNo],0)=mrYes then
Close;
end;
procedure TForm1.N2Click(Sender: TObject);
begin
Form2.Showmodal;
end;
procedure TForm1.N17Click(Sender: TObject);
begin
Form3.Showmodal;
end;
procedure TForm1.N18Click(Sender: TObject);
begin
Form4.Showmodal;
end;
procedure TForm1.N4Click(Sender: TObject);
begin
Form5.Showmodal;
end;
procedure TForm1.N5Click(Sender: TObject);
begin
Form7.Showmodal;
end;
procedure TForm1.N6Click(Sender: TObject);
begin
Form5.ShowModal;
end;
procedure TForm1.N7Click(Sender: TObject);
begin
Form16.showmodal;
end;
end.
unit Unit2;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Grids, DBGrids, Db, DBTables, ComCtrls, Buttons, Mask, DBCtrls;
type
TForm2 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
PageControl1: TPageControl;
Label1: TLabel;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
TabSheet3: TTabSheet;
DBGrid1: TDBGrid;
DataSource2: TDataSource;
Table2: TTable;
DataSource3: TDataSource;
Table3: TTable;
DBGrid2: TDBGrid;
DBGrid3: TDBGrid;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button6: TButton;
Button7: TButton;
Button8: TButton;
Button9: TButton;
Button10: TButton;
Button11: TButton;
Button12: TButton;
Button13: TButton;
Label2: TLabel;
BitBtn1: TBitBtn;
TabSheet4: TTabSheet;
DBGrid4: TDBGrid;
Button5: TButton;
Button14: TButton;
Button15: TButton;
Button16: TButton;
DataSource4: TDataSource;
Table4: TTable;
CheckBox1: TCheckBox;
Edit1: TEdit;
Button17: TButton;
CheckBox2: TCheckBox;
Edit2: TEdit;
Button18: TButton;
CheckBox3: TCheckBox;
Edit3: TEdit;
Button19: TButton;
CheckBox4: TCheckBox;
Edit4: TEdit;
Button20: TButton;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
DBEdit1: TDBEdit;
DBEdit2: TDBEdit;
DBEdit3: TDBEdit;
Button21: TButton;
Label6: TLabel;
Label7: TLabel;
Label8: TLabel;
DBEdit4: TDBEdit;
DBEdit5: TDBEdit;
DBEdit6: TDBEdit;
DBEdit7: TDBEdit;
DBEdit8: TDBEdit;
DBEdit9: TDBEdit;
DBEdit10: TDBEdit;
Label9: TLabel;
Label10: TLabel;
Label11: TLabel;
Label12: TLabel;
Label13: TLabel;
DBEdit11: TDBEdit;
Button22: TButton;
Label14: TLabel;
Label15: TLabel;
Label16: TLabel;
DBEdit12: TDBEdit;
DBEdit13: TDBEdit;
DBEdit14: TDBEdit;
Button23: TButton;
Label17: TLabel;
Label18: TLabel;
DBEdit15: TDBEdit;
DBEdit16: TDBEdit;
Button24: TButton;
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure Button7Click(Sender: TObject);
procedure Button8Click(Sender: TObject);
procedure Button9Click(Sender: TObject);
procedure Button10Click(Sender: TObject);
procedure Button11Click(Sender: TObject);
procedure Button12Click(Sender: TObject);
procedure Button13Click(Sender: TObject);
procedure BitBtn1Click(Sender: TObject);
procedure Button17Click(Sender: TObject);
procedure Button18Click(Sender: TObject);
procedure Button19Click(Sender: TObject);
procedure Button20Click(Sender: TObject);
procedure Button21Click(Sender: TObject);
procedure Button22Click(Sender: TObject);
procedure Button23Click(Sender: TObject);
procedure Button24Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form2: TForm2;
implementation
{$R *.DFM}
procedure TForm2.Button5Click(Sender: TObject);
begin
Close;
end;
procedure TForm2.Button1Click(Sender: TObject);
begin
Table1.Append;
end;
procedure TForm2.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
procedure TForm2.Button3Click(Sender: TObject);
begin
Table1.Post;
end;
procedure TForm2.Button4Click(Sender: TObject);
begin
Table1.Refresh;
end;
procedure TForm2.Button6Click(Sender: TObject);
begin
Table2.Append;
end;
procedure TForm2.Button7Click(Sender: TObject);
begin
Table2.Delete;
end;
procedure TForm2.Button8Click(Sender: TObject);
begin
Table2.Post;
end;
procedure TForm2.Button9Click(Sender: TObject);
begin
Table2.Refresh;end;
procedure TForm2.Button10Click(Sender: TObject);
begin
Table4.Append;
end;
procedure TForm2.Button11Click(Sender: TObject);
begin
Table4.Delete;
end;
procedure TForm2.Button12Click(Sender: TObject);
begin
Table4.Post;
end;
procedure TForm2.Button13Click(Sender: TObject);
begin
Table4.Refresh;
end;
procedure TForm2.BitBtn1Click(Sender: TObject);
begin
Close;
end;
procedure TForm2.Button17Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);
end;
procedure TForm2.Button18Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod',Edit1.Text,[]);
end;
procedure TForm2.Button19Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod_sklada',Edit1.Text,[]);
end;
procedure TForm2.Button20Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod_podrazdel',Edit1.Text,[]);
end;
procedure TForm2.Button21Click(Sender: TObject);
begin
Table1.Edit;
end;
procedure TForm2.Button22Click(Sender: TObject);
begin
Table2.Edit;
end;
procedure TForm2.Button23Click(Sender: TObject);
begin
Table3.Edit;
end;
procedure TForm2.Button24Click(Sender: TObject);
begin
Table4.Edit;
end;
procedure TForm2.FormCreate(Sender: TObject);
begin
end;
end.
unit Unit3;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
DBCtrls, ComCtrls, StdCtrls, Db, DBTables, Mask, Grids, DBGrids, Buttons;
type
TForm3 = class(TForm)
DataSource1: TDataSource;
DBEdit6: TDBEdit;
Table1: TTable;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
DBLookupComboBox4: TDBLookupComboBox;
DataSource2: TDataSource;
Table2: TTable;
Label7: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
DBGrid1: TDBGrid;
DBLookupComboBox5: TDBLookupComboBox;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
DataSource3: TDataSource;
Table3: TTable;
Label8: TLabel;
DBEdit1: TDBEdit;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
SpeedButton4: TSpeedButton;
CheckBox1: TCheckBox;
Edit1: TEdit;
Button6: TButton;
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form3: TForm3;
implementation
uses Unit2, Unit14;
{$R *.DFM}
procedure TForm3.Button5Click(Sender: TObject);begin
Close;
end;
procedure TForm3.Button1Click(Sender: TObject);
begin
Table1.Append;
end;
procedure TForm3.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
procedure TForm3.Button3Click(Sender: TObject);
begin
Table1.Edit;
Table1.FieldByName('Data').value:=DateTimePicker1.Date;
Table1.FieldByName('Zena').value:=DBEdit1.Text;
Table1.Post;
DBLookupComboBox3.Enabled:=False;
DBLookupComboBox5.Enabled:=False;
end;
procedure TForm3.Button4Click(Sender: TObject);
Var i,s:integer;
begin
s:=Table1.RecordCount;
Table1.First;
For i:=1 to s do
begin
Table1.Edit;
Table1.FieldByName('Sum_prih').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Zena').value;
Table1.Post;
Table1.Next;
end;
Table1.Refresh;
end;
procedure TForm3.RadioButton1Click(Sender: TObject);
begin
If RadioButton1.Checked then DBLookupComboBox3.Enabled:=True;end;
procedure TForm3.RadioButton2Click(Sender: TObject);
begin
If RadioButton2.Checked then DBLookupComboBox5.Enabled:=True;
end;
procedure TForm3.SpeedButton1Click(Sender: TObject);
begin
Form14.ShowModal;
end;
procedure TForm3.Button6Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);
end;
procedure TForm3.FormCreate(Sender: TObject);
begin
end;
end.
unit Unit4;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, Mask, DBCtrls, ComCtrls, Db, DBTables, Grids, DBGrids, Buttons;
type
TForm4 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DataSource2: TDataSource;
Table2: TTable;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
DateTimePicker1: TDateTimePicker;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
DBLookupComboBox3: TDBLookupComboBox;
DBLookupComboBox4: TDBLookupComboBox;
DBEdit1: TDBEdit;
Label7: TLabel;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
DBGrid1: TDBGrid;
DBLookupComboBox5: TDBLookupComboBox;
DataSource3: TDataSource;
Table3: TTable;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
DataSource4: TDataSource;
Table4: TTable;
SpeedButton1: TSpeedButton;
SpeedButton2: TSpeedButton;
SpeedButton3: TSpeedButton;
CheckBox1: TCheckBox;
Edit1: TEdit;
Button6: TButton;
procedure Button2Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button4Click(Sender: TObject);
procedure RadioButton1Click(Sender: TObject);
procedure RadioButton2Click(Sender: TObject);
procedure SpeedButton1Click(Sender: TObject);
procedure SpeedButton2Click(Sender: TObject);
procedure SpeedButton3Click(Sender: TObject);
procedure Button6Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form4: TForm4;
implementation
uses Unit2, Unit8, Unit9, Unit13;
{$R *.DFM}
procedure TForm4.Button2Click(Sender: TObject);
begin
Table1.Delete;
end;
procedure TForm4.Button5Click(Sender: TObject);
begin
Close;
end;
procedure TForm4.Button1Click(Sender: TObject);
begin
Table1.Append;
end;
procedure TForm4.Button3Click(Sender: TObject);
begin
Table1.Edit;
Table1.FieldByName('Data').value:=DateTimePicker1.Date;
Table1.Post;
DBLookupComboBox3.Enabled:=False;
DBLookupComboBox5.Enabled:=False;
end;
procedure TForm4.Button4Click(Sender: TObject);
Var i,s:integer;
begin
s:=Table1.RecordCount;
Table1.First;
For i:=1 to s do
begin
Table1.Edit;
Table1.FieldByName('Sum_rash').value:=Table1.FieldByName('Kol_vo').value*Table1.FieldByName('Rash_zena').value;
Table1.Post;
Table1.Next;
end;
Table1.Refresh;
end;
procedure TForm4.RadioButton1Click(Sender: TObject);
begin
If RadioButton1.Checked then DBLookupComboBox3.Enabled:=True;
end;
procedure TForm4.RadioButton2Click(Sender: TObject);
begin
If RadioButton2.Checked then DBLookupComboBox5.Enabled:=True;
end;
procedure TForm4.SpeedButton1Click(Sender: TObject);
begin
Form8.Showmodal;
end;
procedure TForm4.SpeedButton2Click(Sender: TObject);
begin
Form9.ShowModal;
end;
procedure TForm4.SpeedButton3Click(Sender: TObject);
begin
Form13.ShowModal;
end;
procedure TForm4.Button6Click(Sender: TObject);
begin
If CheckBox1.Checked then Table1.Locate('Kod_mat',Edit1.Text,[]);
end;
procedure TForm4.FormCreate(Sender: TObject);
begin
end;
end.
unit Unit5;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Db, DBTables, ComCtrls, DBCtrls, StdCtrls, Grids, DBGrids;
type
TForm5 = class(TForm)
PageControl1: TPageControl;
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
DBGrid2: TDBGrid;
GroupBox1: TGroupBox;
DBLookupComboBox1: TDBLookupComboBox;
DBLookupComboBox2: TDBLookupComboBox;
GroupBox2: TGroupBox;
DataSource2: TDataSource;
Table2: TTable;
Edit1: TEdit;
Edit2: TEdit;
Button1: TButton;
Edit3: TEdit;
Edit4: TEdit;
Button3: TButton;
Button4: TButton;
RadioButton1: TRadioButton;
RadioButton2: TRadioButton;
RadioButton3: TRadioButton;
RadioButton4: TRadioButton;
RadioButton5: TRadioButton;
RadioButton6: TRadioButton;
RadioButton7: TRadioButton;
RadioButton8: TRadioButton;
Label1: TLabel;
DateTimePicker3: TDateTimePicker;
DateTimePicker4: TDateTimePicker;
procedure Button4Click(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
Form5: TForm5;
implementation
uses Unit2;
{$R *.DFM}
procedure TForm5.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TForm5.Button2Click(Sender: TObject);
begin
Close;
end;
procedure TForm5.Button1Click(Sender: TObject);
begin
Table1.Filtered:=True;
If RadioButton1.Checked then
Table1.Filter:='Data>'+''''+datetostr(DateTimePicker3.Date)+''''+'and Data<'+''''+datetostr(DateTimePicker4.Date)+'''';
If RadioButton2.Checked then Table1.Filter:='Kod_mat='+DBLookupCombobox2.Text;
If RadioButton3.Checked then Table1.Filter:='Kol_vo>'+Edit1.Text+'And Kol_vo<'+Edit2.Text;
If RadioButton4.Checked then Table1.Filtered:=False;
end;
procedure TForm5.Button3Click(Sender: TObject);
begin
Table2.Filtered:=True;
If RadioButton5.Checked then
Table2.Filter:='Data>'+''''+datetostr(DateTimePicker3.Date)+''''+'and Data<'+''''+datetostr(DateTimePicker4.Date)+'''';
If RadioButton6.Checked then Table2.Filter:='Kod_mat='+DBLookupCombobox1.Text;
If RadioButton7.Checked then Table2.Filter:='Kol_vo>'+Edit3.Text+'And Kol_vo<'+Edit4.Text;
If RadioButton8.Checked then Table2.Filtered:=False;
end;
procedure TForm5.FormCreate(Sender: TObject);
begin
end;
end.
unit Unit7;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
StdCtrls, ComCtrls, ExtCtrls, DBCtrls, Grids, DBGrids, Db, DBTables;
type
TForm7 = class(TForm)
DataSource1: TDataSource;
Table1: TTable;
DBGrid1: TDBGrid;
Label1: TLabel;
DBNavigator1: TDBNavigator;
Button1: TButton;
Button2: TButton;
Button3: TButton;
Button4: TButton;
Button5: TButton;
DataSource2: TDataSource;
Query1: TQuery;
DataSource3: TDataSource;
Query2: TQuery;
DateTimePicker1: TDateTimePicker;
procedure Button4Click(Sender: TObject);
procedure DateTimePicker1CloseUp(Sender: TObject);
procedure Button2Click(Sender: TObject);
procedure Button3Click(Sender: TObject);
procedure Button5Click(Sender: TObject);
procedure Button1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form7: TForm7;
implementation
uses Unit8, Unit9, Unit3, Unit4;
{$R *.DFM}
procedure TForm7.Button4Click(Sender: TObject);
begin
Close;
end;
procedure TForm7.DateTimePicker1CloseUp(Sender: TObject);
Var z,t:integer;
begin
z:=Table1.RecordCount;
Table1.First;
For t:=1 to z do
begin
Table1.Edit;
Table1.FieldByName('Mesyac').value:=DateTimePicker1.Date;
Table1.Post;
Table1.Next;
end;
end;
procedure TForm7.Button2Click(Sender: TObject);
begin
Table1.Edit;
end;
procedure TForm7.Button3Click(Sender: TObject);
Var s,m,i:integer;
begin
s:=Table1.RecordCount;
Table1.First;
For i:=1 to s do
begin
Table1.Edit;
Table1.FieldByName('Ost_nach').asFloat:=
Table1.FieldByName('Ost_tek').asFloat;
m:=Table1.FieldByName('Ost_nach').value+
Table1.FieldByName('Kol_prih').value-
Table1.FieldByName('Kol_rash').value;
Table1.FieldByName('Ost_tek').asFloat:=m;
Table1.Post;
Table1.Next;
end;
end;
procedure TForm7.Button5Click(Sender: TObject);
begin
Table1.ClearFields;
end;
procedure TForm7.Button1Click(Sender: TObject);
Var n,s,d,i:integer;
m:real;
begin
Table1.FieldByName('Mesyac').value:=DateTimePicker1.Date;
n:=Table1.RecordCount;
For i:=1 to n do
Table1.Delete;
Query1.First;
Query2.First;
s:=Query1.RecordCount;
For i:=1 to s do
begin
Table1.Append;
Table1.FieldByName('Kod_mat').value:=
Query1.FieldByName('Kod_mat').value;
Table1.FieldByName('Kol_prih').value:=
Query1.FieldByName('Kol_vo').value;
Table1.Post;
Query1.Next;
end;
s:=Query2.RecordCount;
For i:=1 to s do
begin
d:=Query2.FieldByName('Kod_mat').value;
If Table1.Locate('Kod_mat',d,[])then
begin
Table1.Edit;
Table1.FieldByName('Kol_rash').value:=
Query2.FieldByName('Kol_vo').value;
Table1.Post;
end
else begin
Table1.Append;
Table1.FieldByName('Kol_rash').value:=
Query2.FieldByName('Kol_vo').value;
Table1.FieldByName('Kod_mat').value:=
Query2.FieldByName('Kod_mat').value;
Table1.Post;
end;
Query2.Next;
end;
s:=Table1.RecordCount;
Table1.First;
For i:=1 to s do
begin
Table1.Edit;
m:=Form7.Table1.FieldByName('Ost_nach').AsFloat+
Table1.FieldByName('Kol_prih').AsFloat-
Table1.FieldByName('Kol_rash').AsFloat;
Table1.FieldByName('Ost_tek').AsFloat:=m;
Table1.Post;
Table1.Next;
end;
end;
procedure TForm7.FormCreate(Sender: TObject);
begin
end;
end.
Размещено на Allbest.ru
Подобные документы
Описание аппаратных и программных средств, операционной системы. Описание входной и выходной информации. Информационно-логическая модель данных. Схема взаимодействия входной и выходной информации. Расчет трудоемкости и стоимости обработки информации.
курсовая работа [2,4 M], добавлен 05.07.2015Разработка информационно-логической модели проектируемой информационной системы. Алгоритм функционирования информационной системы. Описание базы данных. Описание входной, промежуточной и выходной информации. Техническое и программное обеспечение.
реферат [28,1 K], добавлен 09.01.2009Разработка информационной системы для отдела учета приема пациентов и медицинского секретариата. Описание исходной (входной) информации и пользовательского интерфейса, логической структуры и технических средств. Построение реляционной базы данных.
дипломная работа [1,9 M], добавлен 16.04.2012Структура учреждения, выявление его основных задач и функций. Анализ входной информации и процессов. Разработка структуры базы данных и клиентского приложения для учета оборудования. Описание атрибутов таблиц. Расчет надежности информационной системы.
дипломная работа [2,3 M], добавлен 12.10.2015Назначение программного модуля (базы данных). Разработка информационной базы данных для колледжа. Поиск пользователями информации о преподавателях и дисциплинах. Анализ входной и выходной информации. Разработка алгоритма работы программы-приложения.
реферат [513,1 K], добавлен 22.10.2012Описание входной и выходной информации. Определение связей информационных объектов и построение информационно-логической модели. Обобщенный алгоритм решения задачи и его декомпозиция на подзадачи. Описание реквизитов данной информационной системы.
курсовая работа [1,7 M], добавлен 03.05.2013Базы данных - важнейшая составная часть информационных систем. Проектирование базы данных на примере предметной области "Оргтехника". Сбор информации о предметной области. Построение информационно-логической модели данных. Разработка логической структуры.
курсовая работа [318,6 K], добавлен 24.12.2014Характеристика входной и выходной информации. Построение модели информационной системы. Спецификация варианта использования "Выдача информации по конкретному номеру" для системы "Отель". Диаграммы деятельности и состояния. Построение диаграммы классов.
курсовая работа [895,7 K], добавлен 30.07.2009Офисные программы, необходимые для автоматизации работы турфирмы. Описание входной и выходной информации, структуры базы данных. Аппаратное и программное средства для функционирования автоматизированной информационной системы, ее работоспособность.
курсовая работа [902,2 K], добавлен 02.05.2017Анализ входной и выходной информации на предприятии. Осуществление функционального и информационного моделирования базы данных, создание ее структуры. Программная реализация системы автоматизации учета работы автотранспорта. Оценка трудоемкости проекта.
дипломная работа [1,2 M], добавлен 09.07.2012