Диплом: Разработка информационной системы расчета материальных затрат на изделие ОАО "Счетмаш"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
48
end
else
begin
Label8.Caption:='Накладная на отпуск № _________ от __________';
Label5.Caption:='Цех';
DBLookupComboBox2.Visible:=True;
DBLookupComboBox4.Visible:=False;
end;
end;
Для навигации по перечню товаров предназначена кнопочная панель, при
наведении на кнопку указателя «мыши» будет выдаваться подсказка о назначении
кнопки. На этой же панели будут расположены кнопки для добавления, удаления и
правки записей о поступающих материалах.
Общая сумма по накладной вычисляется по событию Enter, Exit и Change
поля «Цена»:
procedure TfrWNakl.DBEdit4Enter(Sender: TObject);
begin
Sum:=DBEdit4.Field.AsFloat;
end;
procedure TfrWNakl.DBEdit4Exit(Sender: TObject);
begin
if Sum<>DBEdit4.Field.AsFloat then
begin
Sum:=DBEdit1.Field.AsFloat;
DBEdit1.Field.AsFloat:=DBEdit2.Field.AsFloat*DBEdit4.Field.AsFloat;
end;
end;
procedure TfrWNakl.DBEdit1Change(Sender: TObject);
begin
if DM3.Table5.State in [dsInsert] then
if Sum<>DBEdit1.Field.AsFloat then
49
DBEdit6.Field.AsFloat:=DBEdit6.Field.AsFloat
-Sum+DBEdit1.Field.AsFloat;
//}
end;
Запись данных в базу данных будет производиться по нажатию кнопки
«Запись». Контроль ввода осуществляется по событию Enter кнопки «Запись»:
procedure TfrWNakl.Button1Enter(Sender: TObject);
begin
if DBEdit6.Field.AsFloat=0 then
begin
ShowMessage('Не определена сумма накладной');
DBEdit2.SetFocus;
end
else
if TipNakl=0 then
begin
if DBLookupComboBox4.Field.IsNull then
begin
ShowMessage('Не определен поставщик');
DBLookupComboBox4.SetFocus;
end
end
else
if DBLookupComboBox2.Field.IsNull then
begin
ShowMessage('Не определено подразделение');
DBLookupComboBox2.SetFocus;
end;
end;
По нажатию кнопки запись будет запущена подпрограмма регистрации
прихода/расхода каждого товара, отраженного в накладной затем, если будет
определена дата отсрочки платежа, будет запущена подпрограмма для регистрации
договора об отсрочке платежа.
50
По нажатию кнопки отмена будет обеспечение удаление информации
связанной с данной накладной.
Работа модуля завершается нажатием кнопки «Отмена» или «Запись», или
средствами Windows для закрытия окна, например Alt+F4.
2.7.7 Модуль «Перечень накладных»
Входные данные
Входными данными модуля будет признак типа накладных, которые должны
выводиться для просмотра (0- приход; 1 – расход) и таблицы базы данных
содержащие информацию о зарегистрированных в программе накладных и перечне
товаров оприходованных на склад или проданных в зависимости от типа накладной.
Выходные данные
Выходными данными будут являться, данные о зарегистрированных в
программе накладных и перечне товаров оприходованных на склад или проданных
в зависимости от типа накладной.
Методы решения
Модуль «Перечень накладных» (рис 14). запускается выбором пункта меню
«Учет запасов | Поступление» (тип=0) или «Учет запасов | Расход»(тип=1):
51
Рисунок 14- Форма модуля «Перечень накладных»
procedure TfrNakl.FormShow(Sender: TObject);
begin
if TipNakl=0 then
begin
caption:='Перечень приходных накладных';
BitBtn1.Caption:='Переход к переченю накладных на отпуск';
DM3.Table5.Filter:='Tip=0';
DBGrid1.Columns[2].Title.Caption:='Поставщик';
DBGrid1.Columns[2].FieldName:='NamFirm';
end
else
begin
caption:='Перечень накладных на отпуск';
BitBtn1.Caption:='Переход к переченю приходных накладных';
DM3.Table5.Filter:='Tip=1';
DBGrid1.Columns[2].Title.Caption:='Получатель';
DBGrid1.Columns[2].FieldName:='NamPodr';
end;
DM3.Table5.FindFirst;
end;
В данном модуле обеспечен просмотр накладных в зависимости от
выбранного пункта меню.
52
Если установлен флажок расшифровка, то отображается перечень товаров
включенных в данную накладную (рис.15).
Рисунок 15- Отображение ТМЦ включенных в накладную
procedure TfrNakl.CheckBox1Click(Sender: TObject);
begin
Panel2.Visible:=CheckBox1.Checked;
end;
По нажатию кнопки «Добавить» вызывается модуль «Накладная» для ввода
данных соответствующих выбранному типу накладной.
Работа модуля завершается нажатием кнопки «Выход» или средствами
Windows для закрытия окна, например Alt+F4.
2.7.8 Модуль «Наличие»
Входные данные
Входными данными модуля являются данные, введенные в базу данных в
результате работы модулей «Перечень накладных» и «Накладная».
Выходные данные
Выходными данными являются данные о наличии и движении товаров.
53
Методы решения
Модуль «Наличие» запускается выбором пункта меню «Товары | Наличие».
В данном модуле обеспечен просмотр наличия товаров.
Работа модуля завершается нажатием кнопки «Выход» или средствами
Windows для закрытия окна, например Alt+F4.
2.7.9 Модуль «Затраты»
Входные данные
Входными данными модуля являются данные о нормах расхода сырья и
материалов на изделие, план выпуска на следующий год, сведения о наличии
компонентов. Необходимые данные будут выбираться из соответствующих таблиц
(«Состав изделия», «Затраты», «Остатки», «Компоненты», «Изделия» и «План
выпуска») базы данных по кодам изделий, входящих в план выпуска.
Выходные данные
Выходными данными будет являться, таблица для хранения результатов
расчета производственных затрат:
- год
- код подразделения ;
- код компонента;
- дата расчета;
- норма расхода;
- потребность компонента для изготовления необходимого количества изделий, в
соответствии с планом выпуска;
- наличие компонента;
- потребность в приобретении компонента.
Методы решения
Модуль «Затраты» будет запускаться выбором пункта меню «Материальные
затраты».
54
Рисунок 16- Форма модуля «Затраты»
В данном модуле будет обеспечен расчет и вывод на экран
производственных затрат, необходимых для изготовления необходимого количества
изделий, определенных в плане выпуска на соответствующий год. Расчет начинается
по запуску модуля, по завершению расчета результаты расчета отображаются на
форме. По выбору пункта меню «Печать» результаты расчета могут быть
распечатаны.
55
Рисунок 17- Отчетная форма
Работа модуля завершается выбором пункта меню «Выход», или нажатием
кнопки «Выход», или средствами Windows для закрытия окна, например Alt+F4.
2.7.10 Модуль «План выпуска»
Входные данные
Входными данными модуля являются данные о подразделениях, о
номенклатуре выпускаемой продукции и заполненное поле плана выпуска об объеме
заказа на данное изделие.
Выходные данные
Выходными данными будет являться, таблица для хранения плана выпуска:
- год
- код подразделения ;
56
- код изделия;
- объем выпуска по плану;
- объем заказа;
- объем фактического выпуска.
Процессы обработки
Модуль «План выпуска» будет запускаться выбором пункта меню
«Планирование | План выпуска».
В данном модуле будет обеспечен ввод плана выпуска, вывод обеспечения
плана заказами, вывод фактического выполнения плана на экран на
соответствующий год. Год плана выпуска можно задать прямо в модуле. По выбору
пункта меню «Печать» план выпуска может быть распечатан.
Работа модуля завершается выбором пункта меню «Выход», или нажатием
кнопки «Выход», или средствами Windows для закрытия окна, например Alt+F4.
2.7.11 Анализ системы
Для анализа работоспособности программы была применена следующая
программа тестирования. Тесты разработаны по стратегии черного ящика методом
эквивалентных разбиений: для каждого значения определяются классы
эквивалентности один правильный и несколько не правильных, например, для кода
вида продукции будут следующие классы эквивалентности: правильный – целое
число, не правильные: не число, действительное число, отсутствие значения.[3]
Тест №1. Исходные данные: Код изделия формируется СУБД в виде
автоинкремента. В качестве наименования изделия в поле «Наименование» (рис. 18)
ввести пустое значение, затем нажать кнопку «Сохранить».
57
Рисунок 18- Ввод записи «Изделия»
Результат: Запись «Изделия» сохраняется.
Результат не правильный. Необходимо предусмотреть контроль ввода
пустого значения. Для этого необходимо добавить следующую обработку:
procedure TDM1.tbIzdelAfterPost(DataSet: TDataSet);
begin
if (dm1.tbIzdelName.AsString ='') then
begin
showmessage('Ввод наименования изделия обязателен!');
dm1.tbIzdel.Delete;
end;
end;
Повторный тест №1. Исходные данные: Код изделия формируется СУБД в
виде автоинкремента. В качестве наименования изделия в поле «Наименование»
(рис. 18) ввести пустое значение, затем нажать кнопку «Сохранить».
Результат: Выдается сообщение об обязательности ввода рис.19 и запись
«Изделия» не сохраняется.

Смотрите также:

"Автоматизация обработки заявок ООО "Проектно-Строительная Компания"
"Автоматизация процесса аттестации персонала для ООО "Нэт Бай Нэт Холдинг"
"Анализ интернет-активности конкурентов ( на примере конкурентов "Газпром нефть")
"Бухгалтерский учёт и аудит расчётов с подотчётними лицами в организации на примере ООО "ЛОЦ 10""
«Психологическое сопровождение персонала в организации на примере ООО «Крокус»
Cовершенствование деловой оценки персонала в организации (на примере ООО "Даймонд кейтеринг развитие")
PR как средство продвижения организации (на примере ПАО "Тамбовский завод "Комсомолец им. Н.С. Артемова")
PR-коммуникации в сфере общественного питания (на примере кафе-кондитерской «Cream Cheese»)
SMM как средство повышения эффективности работы учреждений социокультурной сферы (на примере Малого театра)
Value-based education: ценности в системе образования и способы их реализации на уроке английского языка. Опыт Европейских стран