Разработка информационной системы для учета материалов на складах (на примере ОАО "Химмашбор")

Описание операционной системы, аппаратных и программных средств. Анализ входной и выходной информации. Структура таблиц базы данных. Построение информационно-логической модели. Блок-схема работы программы. Расчет трудоемкости на обработку информации.

Рубрика Программирование, компьютеры и кибернетика
Вид курсовая работа
Язык русский
Дата добавления 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


Подобные документы

Работы в архивах красиво оформлены согласно требованиям ВУЗов и содержат рисунки, диаграммы, формулы и т.д.
PPT, PPTX и PDF-файлы представлены только в архивах.
Рекомендуем скачать работу.