|
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;;;.
Похожие работы на - Информационная система учета товарно-материальных ценностей на примере ЗАО 'Дикси'
|