MSI GeForce
GTX650 1024MB
<#"607365.files/image012.gif">
Рисунок 2.11 - Диаграмма Ганта
Таким образом, общая трудоёмкость разработки ЭИС составляет
31 человеко-дней, а её продолжительность - 49 календарных дней.
1.4.2 Расчет себестоимости разработки и внедрения
ЭИС
Расчет затрат на разработку необходим для обоснования
экономической эффективности системы. Плановые затраты на разработку включают
все расходы, связанные с ее выполнением, независимо от источника их
финансирования. Определение затрат на разработку производится путем составления
калькуляции плановой себестоимости. Она является основным документом, на
основании которого осуществляется планирование и учет затрат на выполнение [5].
Чтобы оценить экономический эффект от внедрения системы,
следует учесть косвенный и рассчитать прямой эффект, который характеризуется
снижением трудовых затрат.
Сумма расходов на разработку и внедрение включает в себя
следующие затраты:
― Заработная плата разработчиков (программиста,
консультанта, руководителя);
― Стоимость расходных материалов;
― Стоимость лицензионного программного
обеспечения, используемого при разработке;
― Стоимость одного рабочего места;
― Стоимость лицензионного программного
обеспечения, которое необходимо приобрести для внедрения и успешного
функционирования системы.
В стоимость разработки программного средства включаются
следующие затраты:
В разработке данного проекта участвовал программист,
консультант и руководитель. Заработная плата по разработчикам представлена в
таблице 2.8.
Таблица 2.8
Заработная плата разработчиков ЭИС
Разработчики
|
Ставка (руб./ч)
|
Ставка
(руб./д.)
|
Кол-во раб. дн.
|
Сумма (руб.)
|
Отчисления в
ПФР, ФССР, ФМС (34%)
|
Итого (руб.)
|
Программист
|
150
|
1200
|
31
|
37200
|
12648,00
|
48848,00
|
Консультант
|
110
|
880
|
6
|
6160
|
2094,4
|
8254,4
|
Руководитель
|
200
|
1600
|
4
|
6400
|
2176,00
|
8576,00
|
Итого
заработная плата разработчиков ЭИС (руб.)
|
66678,4
|
Стоимость расходных материалов (Таблица 2.9).
Таблица 2.9
Стоимость расходных материалов
Наименование
статьи расходов
|
Стоимость ед-цы
(руб.)
|
Кол-во
|
Сумма (руб.)
|
Бумага формата
А4
|
45
|
1
|
45
|
Записная книжка
|
40
|
1
|
40
|
Шариковая ручка
|
25
|
1
|
25
|
110
|
Стоимость лицензионного программного обеспечения,
используемого при разработке (Таблица 2.10).
Таблица 2.10
Стоимость лицензионного программного обеспечения
Наименование
статьи расходов
|
Стоимость ед-цы
(руб.)
|
Срок лицензии
(мес.)
|
Сумма (руб.)
|
MS SQL Server
|
64030,00
|
1
|
64030,00
|
Delphi 10
|
32740,00
|
1
|
32740,00
|
Итого стоимость
программного обеспечения (руб.)
|
96770,00
|
На оснащение рабочего места необходимыми техническими
средствами не потребуется дополнительных затрат, так как на предприятии уже
имеется в наличии необходимое оборудование. К тому же, для внедрения и
успешного функционирования системы не требуется приобретение дополнительного
программного обеспечения. Система будет функционировать на основе программного
обеспечения используемого при разработке. На рисунке 2.12 представлена
диаграмма затрат, входящих в стоимость программного продукта.
Рисунок 2.12 - Затраты на разработку и внедрение ИС.
Рассчитаем общую сумму денежных средств, которую необходимо
вложить в проект: рублей.
1.4.3 Обоснование целесообразности разработки и
внедрения ЭИС
Разработанная информационная система автоматизирует функции
логистов, кладовщиков и заведующих складом РЦ ЗАО «Дикси» и сокращает время на
расчет сумм товарных чеков, а также автоматизирует формирование
сопроводительной документации. Час работы логиста компании «Дикси» стоит 80
рублей (). Час работы кладовщика компании «Дикси» стоит 60 рублей (). Час работы заведующего складом компании «Дикси» стоит 110
рублей ().
Экономия во времени (), которая достигнута благодаря внедрению системы, рассчитывается
по формуле:
(2.5)
где, - время, необходимое на выполнение функций логиста до внедрения
системы;
- время, необходимое на выполнение функций логиста после
внедрения системы;
Суммарная экономия в рублях за год будет равна:
(2.6)
Расчеты потенциальной экономии времени логиста компании «Дикси» от
внедрения системы представлены в таблице 2.13.
Таблица 2.13
Потенциальная экономия времени логиста от внедрения системы
№ п/п
|
Наименование
операции
|
Количество
операций за год
|
Время до
(часов)
|
Время после
(часов)
|
1
|
Ввод данных в
систему
|
6230
|
1600
|
135
|
2
|
Поиск данных в
системе
|
35000
|
3560
|
580
|
3
|
Формирование
сопроводительной документации
|
3740
|
1750
|
38
|
4
|
Формирование
результатных отчетов
|
24
|
72
|
2
|
Итого
количество времени (часов)
|
6982
|
755
|
Расчеты потенциальной экономии времени кладовщика компании
«Дикси» от внедрения системы представлены в таблице 2.14.
Таблица 2.14
Потенциальная экономия времени кладовщика от внедрения
системы
№ п/п
|
Наименование
операции
|
Количество
операций за год
|
Время до
(часов)
|
Время после
(часов)
|
1
|
Ввод данных в
систему
|
350
|
350
|
48
|
2
|
Поиск данных в
системе
|
12600
|
3600
|
285
|
3
|
Формирование
сопроводительной документации
|
350
|
175
|
53
|
Итого количество
времени (часов)
|
4125
|
386
|
Расчеты потенциальной экономии времени заведующего складом
компании «Дикси» от внедрения системы представлены в таблице 2.15.
Таблица 2.15
Потенциальная экономия времени кладовщика от внедрения
системы
№ п/п
|
Наименование
операции
|
Количество
операций за год
|
Время до
(часов)
|
Время после
(часов)
|
1
|
Поиск данных в
системе
|
9800
|
2450
|
307
|
2
|
Формирование
результатных отчетов
|
18
|
54
|
18
|
Итого
количество времени (часов)
|
2504
|
325
|
Таким образом затраты до внедрения системы составляли:
Затраты после внедрения системы:
Рассчитываем суммарную экономию в рублях за год:
1.4.4
Экономический эффект от внедрения ЭИС
В результате деления суммы расходов на разработку и внедрение
системы на сумму экономии за год получим срок окупаемости проекта в месяцах:
(2.7)
где, R - сумма расходов.
Срок окупаемости рассчитываем по формуле (2.7):
Таким образом, наибольшие расходы при разработке
информационной системы управления обусловлены расходами на стоимость
лицензионного программного обеспечения, используемого при разработке ИС. В
результате анализа полученных показателей экономической эффективности, было
установлено, что разработанная информационная система уже через два месяца
окупит себя и будет приносить прямой экономический эффект компании.
Список использованных источников
1. Экономика
и управление. Организационное обеспечение ИС. [Электронный ресурс]. - Электрон.
текстовые данные. - Режим доступа:
<http://www.economica-upravlenie.ru/content/view/445/9/>.
. Диго
С.М. Базы данных: проектирование и использование: Учебник - М.: «Финансы и
статистика», 2005.
. Вендров
А.М. CASE-технологии. Современные методы и средства
. проектирования
информационных систем. // М.: «Финансы и статистика», 1998г.
. Сибилёв
В.Д. Проектирование баз данных: Учеб. пособие. - Томск: Томский межвузовский
центр дистанционного образования, 2007. - 201 с.
. Скрипкин
К.Г. Экономическая эффективность информационных систем. М.: ДМК Пресс, 2002.
. Система
Microsoft SQL Server. [Электронный ресурс]. - Электрон. текстовые данные. -
Режим доступа: <http://www.intuit.ru/department/database/basedbw/8/basedbw_8.html>.
. Галисеев
Г.В. Программирование в среде Delphi 7: самоучитель - М.: «Диалектика», 2003.
. В.
Понамарев. Базы данных в Delphi 7: Самоучитель - С.-Пб.: «Питер», 2003.
ПРИЛОЖЕНИЕ А. Листинг программного кода
информационная система товарный материальный
unit UnitMain;: TRashod;
{$R *.dfm}UnitDM, UnitSKlient, UnitREPORT, UnitPost,
UnitSotr, UnitGRUP,UnitTovar, UnitAvtor;
//Заказ поставщикуTRashod.BitBtn1Click(Sender: TObject);:
integer;.ADOQuery1.Close;.ADOQuery1.Open;DM.ADOQuery1.RecordCount = 0 then('На
данный момент нет невыполненных заказов с торговых
точек');;;.ADOQuery2.Close;.ADOQuery2.Open;DM.ADOQuery2
do.ADOQuery2.First;.ADOTable8.Last;:=DM.ADOTable8Номер.Value;not EOF
do(n);.ADOTable10.Insert;.ADOTable10Номер.Value:=n;.ADOTable10Дата.Value:=Date();.ADOTable10Поставщик.Value:=DM.ADOQuery2Поставщик.Value;.ADOTable10.Post;.ADOQuery1.Close;.ADOQuery1.Filter:='Поставщик='+IntToStr(DM.ADOQuery2Поставщик.Value);.ADOQuery1.Filtered:=True;.ADOQuery1.Open;DM.ADOQuery1
do.ADOQuery1.First;not EOF
do.ADOTable11.Insert;.ADOTable11Артикул.Value:=DM.ADOQuery1Артикул.Value;.ADOTable11Общийзаказ.Value:=n;.ADOTable11Количество.Value:=DM.ADOQuery1SumКоличество.Value;.ADOTable11.Post;.ADOQuery1.Next;;;.ADOQuery2.Next;;;.ADOTable8.Close;.ADOTable8.Open;.Click;;
//Поиск расходной накладнойTRashod.BitBtnPoiskClick(Sender:
TObject);.Enabled:=True;EditPoiskRN.Text = '' then('Введите номер
заказа/накладной!');.SetFocus.ADOTable6.Close;.ADOTable6.Filter:='Номер='+Chr(39)+EditPoiskRN.Text+Chr(39);.ADOTable6.Filtered:=True;.ADOTable6.Open;;;
//Поиск приходной накладнойTRashod.BitBtnPoiskPNClick(Sender:
TObject);.Enabled:=True;EditPoiskPN.Text = '' then('Введите номер
прихода!');.SetFocus.ADOTable8.Close;.ADOTable8.Filter:='Номер='+Chr(39)+EditPoiskPN.Text+Chr(39);.ADOTable8.Filtered:=True;.ADOTable8.Open;;;
//Отмена поиска расходной
накладнойTRashod.BitBtnSbrosClick(Sender:
TObject);.Clear;.ADOTable6.Close;.ADOTable6.Filtered:=False;.ADOTable6.Open;.Enabled:=False;;
//Отмена поиска приходной
накладнойTRashod.BitBtnSbrosPNClick(Sender:
TObject);.Clear;.ADOTable8.Close;.ADOTable8.Filtered:=False;.ADOTable8.Open;.Enabled:=False;;
//Определение марок товара выбранной
группыTRashod.ComboBox1Change(Sender: TObject);ComboBox1.Text = '[Все]'
Then.ADOTable8.Close;.ADOTable8.Filtered:=False;.ADOTable8.Open;ComboBox1.Text
= 'Выполненные' Then.ADOTable8.Close;.ADOTable8.Filter:='Статус <>
Null';.ADOTable8.Filtered:=True;.ADOTable8.Open;;ComboBox1.Text =
'Невыполненные' Then.ADOTable8.Close;.ADOTable8.Filter:='Статус =
Null';.ADOTable8.Filtered:=True;.ADOTable8.Open;;;;
//Определение марок товара выбранной
группыTRashod.ComboBoxGRChange(Sender: TObject);ComboBoxGR.Text = '[Все]'
Then.ADOTable6.Close;.ADOTable6.Filtered:=False;.ADOTable6.Open;ComboBoxGR.Text
= 'Выполненные' Then.ADOTable6.Close;.ADOTable6.Filter:='Статус <>
Null';.ADOTable6.Filtered:=True;.ADOTable6.Open;;ComboBoxGR.Text =
'Невыполненные' Then.ADOTable6.Close;.ADOTable6.Filter:='Статус =
Null';.ADOTable6.Filtered:=True;.ADOTable6.Open;;;;
//Активация формыTRashod.FormActivate(Sender: TObject);flag
<>1 then:=1;.AlphaBlend:=True;.FAvtor.ShowModal;;;
//Отображение ОтчетовTRashod.N10Click(Sender:
TObject);.FormREPORT.ShowModal;;
//Отображение РАСХОДTRashod.N11Click(Sender: TObject);.Visible:=False;.Visible:=True;.TabIndex:=0;;
//Открыть справочник ПОСТАВЩИКИTRashod.N12Click(Sender:
TObject);.FormPost.ShowModal;;
//Открыть справочник СОТРУДНИКИTRashod.N13Click(Sender:
TObject);.FormSotr.ShowModal;;
//Печать приходной накладнойTRashod.N14Click(Sender:
TObject);, NameS: OleVariant;, SumM: single;, SL: integer;:
string;Name:=ExtractFilePath(Application.ExeName)+/Шаблоны/Приход.doc';:=DM.DataSource8.DataSet.FieldValues['Номер'];:=ExtractFilePath(Application.ExeName)+'/Документы/Приход
№ '+S+'.doc';.WordApplication1.Connect;.Minimize;.WordApplication1.Documents.Open(Name,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
DM.WordDocument1.ConnectTo(DM.WordApplication1.ActiveDocument);.WordDocument1.SaveAs(NameS);
DM.WordDocument1.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);:=DM.DataSource8.DataSet.FieldValues['Статус'];
DM.WordDocument1.Tables.Item(2).Cell(2,3).Range.InsertBefore(S);:=DM.ADOTable8Поставщик2.Value;
DM.WordDocument1.Tables.Item(3).Cell(3,2).Range.InsertBefore(S);:=1; Sum:=0;
SumM:=0;
//Отбор продукции по накладнойDM.ADOTable9 do;not EOF
doDM.WordDocument1.Tables.Item(4).Cell(n+3,1).Range.InsertBefore(IntToStr(n));:=DM.ADOTable9Артикул2.Value;
DM.WordDocument1.Tables.Item(4).Cell(N+3,2).Range.InsertBefore(S);:=DM.ADOTable9Группа.Value;
DM.WordDocument1.Tables.Item(4).Cell(N+3,3).Range.InsertBefore(S);:=DM.ADOTable9Единица.Value;
DM.WordDocument1.Tables.Item(4).Cell(N+3,4).Range.InsertBefore(S);:=Format('%m',[DM.ADOTable9Цена.Value]);
DM.WordDocument1.Tables.Item(4).Cell(N+3,5).Range.InsertBefore(S);:=IntToStr(DM.ADOTable9Количество.Value);
DM.WordDocument1.Tables.Item(4).Cell(N+3,6).Range.InsertBefore(S);:=Format('%m',[DM.ADOTable9Цена2.Value]);
DM.WordDocument1.Tables.Item(4).Cell(N+3,7).Range.InsertBefore(S);.WordDocument1.Tables.Item(4).Cell(N+3,8).Range.InsertBefore(S);:=SumM+DM.ADOTable9Цена2.Value;.WordDocument1.Tables.Item(4).Rows.Add(EmptyParam);(N);;;;:=Format('%m',[SumM]);.WordDocument1.Tables.Item(5).Cell(1,2).Range.InsertBefore(S);.WordApplication1.Visible:=True;('Бланк
документа с именем "Приходная накладная" не
найден!!!');.WordApplication1.Disconnect;.Restore;;;;.WordApplication1.Disconnect;.Restore;;TRashod.N16Click(Sender:
TObject);, S1: string;: OleVariant;: Variant;, n:
integer;:=ExtractFilePath(Application.ExeName)+'Заказы\';.InitialDir:=S;OpenDialog1.Execute
then:=OpenDialog1.FileName;:=
CreateOleObject('Excel.Application');.Workbooks.Open[temp];:=Excel.Range['b3'];.ADOTable14.Last;:=DM.ADOTable14Номер.Value;(n);.ADOTable14.Insert;.ADOTable14Номер.Value:=n;.ADOTable14Дата.Value:=Date();.ADOTable14Точка.Value:=StrToInt(S);.ADOTable14.Post;:=9;:='a'+IntToStr(t);:=Excel.Range[S];S1
<> '' then.ADOTable15.Insert;.ADOTable15Заказ.Value:=n;:=Excel.Range[S];.ADOTable15Артикул.Value:=StrToInt(S1);:='d'+IntToStr(t);:=Excel.Range[S];.ADOTable15Количество.Value:=StrToInt(S1);.ADOTable15.Post;;(t);S1
= '';('Заказ успешно
загружен!!!');.ActiveWorkbook.Close;.Application.Quit;.Restore;('Шаблон
документа "Заказ" заполнен с
ошибками!');.ActiveWorkbook.Close;.Application.Quit;.Restore;;;;.ADOTable6.Close;.ADOTable6.Open;;TRashod.N17Click(Sender:
TObject);.Close;;
//Открыть справочник КЛИЕНТЫTRashod.N2Click(Sender:
TObject);.Show;;
//Печать расходной накладнойTRashod.N3Click(Sender:
TObject);, NameS: OleVariant;: single;: integer;:
string;Name:=ExtractFilePath(Application.ExeName)+'/Шаблоны/Расход.doc';:=DM.DataSource6.DataSet.FieldValues['Номер'];:=ExtractFilePath(Application.ExeName)+'/Документы/Расход
№ '+S+'.doc';.WordApplication1.Connect;.Minimize;.WordApplication1.Documents.Open(Name,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,EmptyParam,EmptyParam);
DM.WordDocument1.ConnectTo(DM.WordApplication1.ActiveDocument);.WordDocument1.SaveAs(NameS);
DM.WordDocument1.Tables.Item(2).Cell(2,2).Range.InsertBefore(S);:=DM.DataSource6.DataSet.FieldValues['Статус'];
DM.WordDocument1.Tables.Item(2).Cell(2,3).Range.InsertBefore(S);:=DM.ADOTable6Точка2.Value+'
'+DM.ADOTable6Адрес.Value; DM.WordDocument1.Tables.Item(3).Cell(1,2).Range.InsertBefore(S);:=1;
Sum:=0;
//Отбор продукции по накладнойDM.ADOTable7 do;not EOF
doDM.WordDocument1.Tables.Item(4).Cell(n+3,1).Range.InsertBefore(IntToStr(n));:=DM.ADOTable7Артикул2.Value;.WordDocument1.Tables.Item(4).Cell(N+3,2).Range.InsertBefore(S);:=DM.ADOTable7Группа.Value;.WordDocument1.Tables.Item(4).Cell(N+3,3).Range.InsertBefore(S);:=DM.ADOTable7Единица.Value;.WordDocument1.Tables.Item(4).Cell(N+3,4).Range.InsertBefore(S);:=Format('%m',[DM.ADOTable7Цена.Value]);.WordDocument1.Tables.Item(4).Cell(N+3,5).Range.InsertBefore(S);:=IntToStr(DM.ADOTable7Количество.Value);.WordDocument1.Tables.Item(4).Cell(N+3,6).Range.InsertBefore(S);:=Format('%m',[DM.ADOTable7Цена2.Value]);.WordDocument1.Tables.Item(4).Cell(N+3,7).Range.InsertBefore(S);.WordDocument1.Tables.Item(4).Cell(N+3,8).Range.InsertBefore(S);:=Sum+DM.ADOTable7Цена2.Value;.WordDocument1.Tables.Item(4).Rows.Add(EmptyParam);(N);;;;:=Format('%m',[Sum]);.WordDocument1.Tables.Item(5).Cell(1,2).Range.InsertBefore(S);.WordApplication1.Visible:=True;('Бланк
документа с именем "Расход" не
найден!!!');.WordApplication1.Disconnect;.Restore;;;;.WordApplication1.Disconnect;.Restore;;
//Формирование инвентаризационной
ведомостиTRashod.N4Click(Sender: TObject);, FileNameSave: OleVariant;:
string;,p,r,o:
integer;:=3;:=ExtractFilePath(Application.ExeName)+'/Шаблоны/Ведомость.doc';:=DateToStr(Date);:=ExtractFilePath(Application.ExeName)+'/Документы/Ведомость
от '+S+'.doc';.WordApplication1.Connect;.Minimize;.WordApplication1.Documents.Open(FileName,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,EmptyParam,EmptyParam);.WordDocument1.ConnectTo(DM.WordApplication1.ActiveDocument);.WordDocument1.SaveAs(FileNameSave);.WordDocument1.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);.ADOTable5.Close;.ADOTable5.Open;
//Отбор товаровDM.ADOTable5 do;not EOF
do:=DM.ADOTable5Группа2.Value;.WordDocument1.Tables.Item(2).Cell(N,1).Range.InsertBefore(S);:=DM.ADOTable5Номенклатура.Value;.WordDocument1.Tables.Item(2).Cell(N,2).Range.InsertBefore(S);:=DM.ADOTable5Единица.Value;.WordDocument1.Tables.Item(2).Cell(N,4).Range.InsertBefore(S);:=IntToStr(DM.ADOTable5Артикул.Value);.WordDocument1.Tables.Item(2).Cell(N,3).Range.InsertBefore(S);.ADOQuery3.Close;.ADOQuery3.Filter:='Артикул='+S;.ADOQuery3.Filtered:=True;.ADOQuery3.Open;.ADOQuery4.Close;.ADOQuery4.Filter:='Артикул='+S;.ADOQuery4.Filtered:=True;.ADOQuery4.Open;DM.ADOQuery3SumКоличество.Value
= Null then p:=0:=DM.ADOQuery3SumКоличество.Value;DM.ADOQuery4SumКоличество.Value
= Null then
r:=0:=DM.ADOQuery4SumКоличество.Value;:=p-r;:=IntToStr(p);.WordDocument1.Tables.Item(2).Cell(N,5).Range.InsertBefore(S);:=IntToStr(r);.WordDocument1.Tables.Item(2).Cell(N,6).Range.InsertBefore(S);:=IntToStr(o);.WordDocument1.Tables.Item(2).Cell(N,7).Range.InsertBefore(S);.WordDocument1.Tables.Item(2).Rows.Add(EmptyParam);(N);;;;.WordApplication1.Visible:=True;('Бланк
документа "Ведомость" не
найден!');.Restore;;;;.WordApplication1.Disconnect;.Restore;;
//Справочник группы товаровTRashod.N6Click(Sender:
TObject);.FormGRUP.ShowModal;;
//Отобразить вкладку приходTRashod.N7Click(Sender:
TObject);.Visible:=True;.Visible:=False;.TabIndex:=1;;
//Справочник продукцияTRashod.N8Click(Sender:
TObject);.FormTovar.ShowModal;;
//Заказ на производствоTRashod.N9Click(Sender: TObject);,
FileNameSave: OleVariant;: string;:
integer;:=3;:=ExtractFilePath(Application.ExeName)+'/Шаблоны/Заказ.doc';:=DateToStr(Date);:=ExtractFilePath(Application.ExeName)+'/Документы/Заказ
от '+S+'.doc';.WordApplication1.Connect;.Minimize;.WordApplication1.Documents.Open(FileName,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,,EmptyParam,EmptyParam,EmptyParam,EmptyParam);.WordDocument1.ConnectTo(DM.WordApplication1.ActiveDocument);.WordDocument1.SaveAs(FileNameSave);.WordDocument1.Tables.Item(1).Cell(1,2).Range.InsertBefore(S);:=DM.ADOTable8Поставщик2.Value;.WordDocument1.Tables.Item(1).Cell(2,2).Range.InsertBefore(S);
//Отбор товаровDM.ADOTable9 do;not EOF
do:=DM.ADOTable9Группа.Value;.WordDocument1.Tables.Item(2).Cell(N,1).Range.InsertBefore(S);:=DM.ADOTable9Артикул2.Value;.WordDocument1.Tables.Item(2).Cell(N,2).Range.InsertBefore(S);:=IntToStr(DM.ADOTable9Артикул.Value);.WordDocument1.Tables.Item(2).Cell(N,3).Range.InsertBefore(S);:=DM.ADOTable9Единица.Value;.WordDocument1.Tables.Item(2).Cell(N,4).Range.InsertBefore(S);:=IntToStr(DM.ADOTable9Количество.Value);.WordDocument1.Tables.Item(2).Cell(N,5).Range.InsertBefore(S);.WordDocument1.Tables.Item(2).Rows.Add(EmptyParam);(N);;;;.WordApplication1.Visible:=True;('Бланк
документа "Заказ" не
найден!');.Restore;;;;.WordApplication1.Disconnect;.Restore;;
//Отображение ПРИХОД_РАСХОДTRashod.TabSet1Click(Sender:
TObject);TabSet1.TabIndex=1
Then.Visible:=True;.Visible:=False;;TabSet1.TabIndex=0 Then.Visible:=False;.Visible:=True;;;.UnitDM;:
TDM;
{$R *.dfm}UnitMain, UnitSKlient;
//Добавить позицию в приходную
накладнуюTDM.ADOQuery5CalcFields(DataSet: TDataSet);:
single;.Close;.Filter:='Имя='+Chr(39)+ADOQuery5Имя.Value+Chr(39);.Filtered:=True;.Open;:=0;DM.ADOQuery6
do;not EOF do:=Sum+ADOQuery6Сумма.Value;;;;Сумма.Value:=Sum;.Filtered:=False;;
//Сумма приходаTDM.ADOQuery6CalcFields(DataSet:
TDataSet);Сумма.Value:=ADOQuery6Цена.Value*ADOQuery6SumКоличество.Value;;
//Сумма расходаTDM.ADOQuery7CalcFields(DataSet:
TDataSet);Сумма.Value:=ADOQuery7Цена.Value*ADOQuery7SumКоличество.Value;;TDM.ADOQuery8CalcFields(DataSet:
TDataSet);:
single;.Close;.Filter:='Код='+IntToStr(ADOQuery8Код.Value);.Filtered:=True;.Open;:=0;DM.ADOQuery7
do;not EOF do:=Sum+ADOQuery7Сумма.Value;;;;Сумма.Value:=Sum;.Filtered:=False;;TDM.ADOTable12CalcFields(DataSet:
TDataSet);,
r:integer;.Close;.Filter:='Артикул='+IntToStr(ADOTable12Артикул.Value);.Filtered:=True;.Open;.Close;.Filter:='Артикул='+IntToStr(ADOTable12Артикул.Value);.Filtered:=True;.Open;ADOQuery9SumКоличество.Value
= Null then p:=0:=ADOQuery9SumКоличество.Value;DM.ADOQuery10SumКоличество.Value
= Null then
r:=0:=DM.ADOQuery10SumКоличество.Value;Остаток.Value:=p-r;Сумма.Value:=ADOTable12Остаток.Value*ADOTable12Цена.Value;;TDM.ADOTable13CalcFields(DataSet:
TDataSet);:
single;.Close;.Filter:='Группа='+IntToStr(ADOTable13Код.Value);.Filtered:=True;.Open;:=0;DM.ADOTable12
do;not EOF
do:=Sum+ADOTable12Сумма.Value;;;;Сумма.Value:=Sum;.Filtered:=False;;TDM.ADOTable1AfterInsert(DataSet:
TDataSet);(k);Код.Value:=k;;TDM.ADOTable1BeforeInsert(DataSet:
TDataSet);.Last;:=ADOTable1Код.Value;;TDM.ADOTable2AfterInsert(DataSet:
TDataSet);(k);Код.Value:=k;;TDM.ADOTable2BeforeInsert(DataSet:
TDataSet);.Last;:=ADOTable2Код.Value;;TDM.ADOTable3AfterInsert(DataSet:
TDataSet);(k);Код.Value:=k;;TDM.ADOTable3BeforeInsert(DataSet:
TDataSet);.Last;:=ADOTable3Код.Value;;TDM.ADOTable5AfterInsert(DataSet:
TDataSet);(k);Артикул.Value:=k;;TDM.ADOTable5BeforeInsert(DataSet:
TDataSet);.Last;:=ADOTable5Артикул.Value;;TDM.ADOTable7CalcFields(DataSet:
TDataSet);(ADOTable7Количество.Value <> null) and (ADOTable7Цена.Value
<> null)
thenЦена2.Value:=ADOTable7Количество.Value*ADOTable7Цена.Value;;TDM.ADOTable9CalcFields(DataSet:
TDataSet);(ADOTable9Количество.Value <> null) and (ADOTable9Цена.Value
<> null) then
ADOTable9Цена2.Value:=ADOTable9Количество.Value*ADOTable9Цена.Value;;
//Определение позиций приходной
накладнойTDM.DataSource6DataChange(Sender: TObject; Field: TField);: single;
//Выводим на экран номер и дату расходаDataSource6.DataSet.FieldValues['Номер']
= Null then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ №
00000';.LabelD.Caption:= 'от
00.00.00';.Close;.Filtered:=False;.Open;.LabelSum.Caption:= 'Итого сумма
накладной: 0,00 руб.';.LabelD.Caption:= 'от '
+DateToStr(DataSource6.DataSet.FieldValues['Дата']);Length(IntToStr(DataSource6.DataSet.FieldValues['Номер']))
= 1 Then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ № 0000'
+IntToStr(DataSource6.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource6.DataSet.FieldValues['Номер']))
= 2 Then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ № 000'
+IntToStr(DataSource6.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource6.DataSet.FieldValues['Номер']))
= 3 Then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ № 00'
+IntToStr(DataSource6.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource6.DataSet.FieldValues['Номер']))
= 4 Then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ № 0'
+IntToStr(DataSource6.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource6.DataSet.FieldValues['Номер']))
> 4 Then.LabelN.Caption:= 'ТОВАРНО-ТРАНСПОРТНАЯ НАКЛАДНАЯ № '
+IntToStr(DataSource6.DataSet.FieldValues['Номер']);;
//Выводим на экран позиции
накладной.Close;.Filter:='Заказ='+Chr(39)+IntToStr(ADOTable6Номер.Value)+Chr(39);.Filtered:=True;.Open;
//Выводим на экран cумму накладной:=0;ADOTable7 do;not EOF
do:=S+ADOTable7Цена2.Value;;;;.LabelSum.Caption:= 'Итого сумма накладной: '
+Format('%f',[S])+' руб.';;;
//Определение позиций расходной накладнойTDM.DataSource8DataChange(Sender:
TObject; Field: TField);: single;
//Выводим на экран номер и дату
расходаDataSource8.DataSet.FieldValues['Номер'] = Null then.LabelNP.Caption:=
'ПРИХОДНАЯ НАКЛАДНАЯ № 00000';.LabelDP.Caption:= 'от
00.00.00';.Close;.Filtered:=False;.Open;.LabelSumP.Caption:= 'Итого сумма
приходной накладной: 0,00 руб.';.LabelDP.Caption:= 'от '
+DateToStr(DataSource8.DataSet.FieldValues['Дата']);Length(IntToStr(DataSource8.DataSet.FieldValues['Номер']))
= 1 Then.LabelNP.Caption:= 'ПРИХОДНАЯ НАКЛАДНАЯ № 0000'
+IntToStr(DataSource8.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource8.DataSet.FieldValues['Номер']))
= 2 Then.LabelNP.Caption:= 'ПРИХОДНАЯ НАКЛАДНАЯ № 000'
+IntToStr(DataSource8.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource8.DataSet.FieldValues['Номер']))
= 3 Then.LabelNP.Caption:= 'ПРИХОДНАЯ НАКЛАДНАЯ № 00'
+IntToStr(DataSource8.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource8.DataSet.FieldValues['Номер']))
= 4 Then.LabelNP.Caption:= 'ПРИХОДНАЯ НАКЛАДНАЯ № 0'
+IntToStr(DataSource8.DataSet.FieldValues['Номер']);;Length(IntToStr(DataSource8.DataSet.FieldValues['Номер']))
> 4 Then.LabelNP.Caption:= 'ПРИХОДНАЯ НАКЛАДНАЯ № '
+IntToStr(DataSource8.DataSet.FieldValues['Номер']);;
//Выводим на экран позиции накладной.Close;.Filter:='[Общий
заказ]='+Chr(39)+IntToStr(ADOTable8Номер.Value)+Chr(39);.Filtered:=True;.Open;
//Выводим на экран cумму товарного чека:=0;ADOTable9 do;not
EOF do:=S+ADOTable9Цена2.Value;;;;.LabelSumP.Caption:= 'Итого сумма приходной
накладной: '
+Format('%f',[S])+' руб.';;;.UnitREPORT;: TFormREPORT;UnitDM;
{$R *.dfm}
//Сформировать отчетTFormREPORT.BitBtn1Click(Sender:
TObject);, DT2: TDateTime;, Sum2, Sum3: single;:
string;.ADOTable12.Close;.ADOQuery6.Close;
DM.ADOQuery6.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);
DM.ADOQuery6.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery6.Open;.ADOQuery5.Close;
DM.ADOQuery5.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);
DM.ADOQuery5.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery5.Open;.ADOTable12.Close;.ADOQuery9.Close;
DM.ADOQuery9.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);
DM.ADOQuery9.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery9.Open;.ADOQuery10.Close;.ADOQuery10.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);.ADOQuery10.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery10.Open;:=0;DM.ADOQuery5
do;not EOF do:=DM.ADOQuery5Сумма.Value+Sum1;;;;.Caption:=Format('%m',[Sum1]);.ADOQuery7.Close;.ADOQuery7.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);.ADOQuery7.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery7.Open;.ADOQuery8.Close;.ADOQuery8.Parameters.ParamValues['N']:=DateToStr(DateTimePicker2.Date);.ADOQuery8.Parameters.ParamValues['K']:=DateToStr(DateTimePicker1.Date);.ADOQuery8.Open;:=0;DM.ADOQuery8
do;not EOF
do:=DM.ADOQuery8Сумма.Value+Sum2;;;;.Caption:=Format('%m',[Sum2]);:=0;DM.ADOTable13
do;not EOF do:=DM.ADOTable13Сумма.Value+Sum3;;;;.Caption:=Format('%m',[Sum3]);.ADOTable12.Open;;TFormREPORT.TabSet1Click(Sender:
TObject);TabSet1.TabIndex=0
Then.Visible:=True;.Visible:=False;.Visible:=False;;TabSet1.TabIndex=1
Then.Visible:=False;.Visible:=True;.Visible:=False;;TabSet1.TabIndex=2
Then.Visible:=False;.Visible:=False;.Visible:=True;;;.UnitTovar;:
TFormTovar;UnitDM;
{$R *.dfm}
//Поиск товаровTFormTovar.EditPoiskKChange(Sender:
TObject);EditPoiskK.Text = ''
then.ADOTable5.Close;.ADOTable5.Filtered:=False;.ADOTable5.Open;.ADOTable5.Close;.ADOTable5.Filter:='Номенклатура
Like
'+Chr(39)+EditPoiskK.Text+'*'+Chr(39);.ADOTable5.Filtered:=True;.ADOTable5.Open;;;.UnitSotr;:
TFormSotr;UnitDM;
{$R *.dfm}
//Поиск сотрудникаTFormSotr.EditPoiskKChange(Sender:
TObject);EditPoiskK.Text = '' then.ADOTable4.Close;.ADOTable4.Filtered:=False;.ADOTable4.Open;.ADOTable4.Close;.ADOTable4.Filter:='Имя
Like
'+Chr(39)+EditPoiskK.Text+'*'+Chr(39);.ADOTable4.Filtered:=True;.ADOTable4.Open;;;.UnitPost;:
TFormPost;UnitDM;
{$R *.dfm}
//Поиск поставщиковTFormPost.EditPoiskKChange(Sender:
TObject);EditPoiskK.Text = ''
then.ADOTable3.Close;.ADOTable3.Filtered:=False;.ADOTable3.Open;.ADOTable3.Close;.ADOTable3.Filter:='Имя
Like
'+Chr(39)+EditPoiskK.Text+'*'+Chr(39);.ADOTable3.Filtered:=True;.ADOTable3.Open;;;.UnitAvtor;:
TFAvtor;UnitDM, UnitMain;
{$R *.dfm}
//Проверка пароля при входеTFAvtor.BBInputClick(Sender:
TObject);(ComboBox1.Text='Заведующий складом') and (EPasw.Text='1111') or
(ComboBox1.Text='Кладовщик') and (EPasw.Text='2222') or
(ComboBox1.Text='Логист') and (EPasw.Text='3333') then:=1;;
//Отображение поля для ввода
пароляTFAvtor.ComboBox1Click(Sender: TObject);ComboBox1.Text=''
then.Enabled:=False.Enabled:=True;.SetFocus;;;
//Отображение кнопки входаTFAvtor.EPaswChange(Sender:
TObject);EPasw.Text='' then.Enabled:=False.Enabled:=True;;
//Обнуляем флаг входаTFAvtor.FormActivate(Sender:
TObject);:=0;;
//Закрыть авторизациюTFAvtor.FormClose(Sender: TObject; var
Action: TCloseAction);F=0 then.Rashod.Close;F=1
then.Rashod.AlphaBlend:=False;;.UnitGRUP;: TFormGRUP;UnitDM;
{$R *.dfm}
//Поиск группы товаровTFormGRUP.EditPoiskKChange(Sender:
TObject);EditPoiskK.Text = ''
then.ADOTable1.Close;.ADOTable1.Filtered:=False;.ADOTable1.Open;.ADOTable1.Close;.ADOTable1.Filter:='Имя
Like '+Chr(39)+EditPoiskK.Text+'*'+Chr(39);.ADOTable1.Filtered:=True;.ADOTable1.Open;;;.UnitSKlient;:
TFormKlient;
{$R *.dfm}UnitMain, UnitDM;
//Поиск клиентовTFormKlient.EditPoiskKChange(Sender:
TObject);EditPoiskK.Text = ''
then.ADOTable2.Close;.ADOTable2.Filtered:=False;.ADOTable2.Open;.ADOTable2.Close;.ADOTable2.Filter:='Имя
Like
'+Chr(39)+EditPoiskK.Text+'*'+Chr(39);.ADOTable2.Filtered:=True;.ADOTable2.Open;;;.
Похожие работы на - Информационная система учета товарно-материальных ценностей на примере ЗАО 'Дикси'
|