Файл: Проектирование реализации операций бизнес-процесса «Управление запасами» (Выбор комплекса задач автоматизации).pdf

ВУЗ: Не указан

Категория: Курсовая работа

Дисциплина: Не указана

Добавлен: 13.06.2023

Просмотров: 401

Скачиваний: 3

ВНИМАНИЕ! Если данный файл нарушает Ваши авторские права, то обязательно сообщите нам.

KategTable: TTable;

KategSr: TDataSource;

KategTableID_KATEG: TAutoIncField;

KategTableNAME_KATEG: TStringField;

TovarTableID_KATEG: TIntegerField;

SumRashQry: TQuery;

ReportQry: TQuery;

SumRashQryID_TOVAR: TIntegerField;

SumRashQryNAME_TOVAR: TStringField;

SumRashQrySUMOFKOLVO_TOVAR: TFloatField;

SumRashQrySUMOFKOLVO_PRIHOD: TFloatField;

SelectQry: TQuery;

SaleTableCOUNTRY: TStringField;

SaleTableN_DECLAR: TStringField;

SumRashQry2: TQuery;

SumRashQry2ID_TOVAR: TIntegerField;

SumRashQry2NAME_TOVAR: TStringField;

SumRashQry2KOLVO_TOVAR: TIntegerField;

SumRashQry2KOLVO_PRIHOD: TSmallintField;

DeclTable: TTable;

DeclSr: TDataSource;

SelectDeclQry: TQuery;

SelectDeclSr: TDataSource;

SelectDeclQryN_DECLAR: TStringField;

SelectDeclQryID_DECLAR: TIntegerField;

SelectDeclQryID_TOVAR: TIntegerField;

DocTableID_SALE: TAutoIncField;

DocTableDATA_SALE: TDateField;

DocTableN_FAKTURA: TStringField;

DocTableN_NAKLAD: TStringField;

DocTableN_ORDER: TStringField;

DocTableCLIENT: TStringField;

DocTableDOC_SUMMA: TCurrencyField;

DocTableDOC_NDS: TCurrencyField;

DocTableDOC_ALL_SUMMA: TCurrencyField;

DocTableSUMMA_STRING: TStringField;

DocTableID_CLIENT: TIntegerField;

DocTableDOC_NALOG: TCurrencyField;

InsPlusQry: TQuery;

FirmaTableSEL: TStringField;

KategTableSEL: TStringField;

Query2: TQuery;

IntegerField1: TIntegerField;

StringField1: TStringField;

IntegerField2: TIntegerField;

SmallintField1: TSmallintField;

IntegerField3: TIntegerField;

SaleTableOSTATOK: TIntegerField;

UpPrihodQry: TQuery;

SumRashQry2OSTATOK: TIntegerField;

InsPrihodQry: TQuery;

SkaldTable: TTable;

SkladSr: TDataSource;

SkaldTableID_SKLAD: TAutoIncField;

SkaldTableNAME_SKALD: TStringField;

KategTableID_SKLAD: TIntegerField;

RashodQryN_NAKLAD: TStringField;

RashodQryCLIENT: TStringField;

PrihodQry: TQuery;

PrihodQryN_NAKLAD_PRIHOD: TStringField;

PrihodQryDATE_PRIHOD: TDateField;

PrihodQryPOSTAVSHIK: TStringField;

PrihodQryKOLVO_TOVAR: TFloatField;

PrihodQryPRICE_TOVAR: TCurrencyField;

PrihodQrySUMMA: TCurrencyField;

RashodQryDOC_SUMMA: TCurrencyField;

TovarTableSHIFR: TStringField;

TovarTablePRICE_PRIH: TCurrencyField;

TovarTablePRICE_RASH: TCurrencyField;

PrMoneyTable: TTable;

RasMoneyTable: TTable;

PrMoneySr: TDataSource;

RasMoneySr: TDataSource;

PrMoneyTableID_MONEY_PRIH: TAutoIncField;

PrMoneyTableID_SKLAD: TIntegerField;

PrMoneyTableDATA_MONEY_PRIH: TDateField;

PrMoneyTablePRIH_MONEY_RUB: TCurrencyField;

PrMoneyTablePRIH_MONEY_USD: TCurrencyField;

PrMoneyTablePRIH_KURS: TCurrencyField;

PrMoneyTableZA_CHTO_MONEY_PRIH: TStringField;

PrMoneyTableCOMMENT_MONEY_PRIH: TStringField;

RasMoneyTableID_RASHOD_MONEY: TAutoIncField;

RasMoneyTableID_SKLAD: TIntegerField;

RasMoneyTableDATA_RASH_MONEY: TDateField;

RasMoneyTableRASH_MONEY_RUB: TCurrencyField;

RasMoneyTableRASH_MONEY_USD: TCurrencyField;

RasMoneyTableRASH_KURS: TCurrencyField;

RasMoneyTableZA_CHTO_MONEY_RASH: TStringField;

RasMoneyTableCOMMENT_MONEY_RASH: TStringField;

SkladTableSELECT: TStringField;

ClientTableSEL: TStringField;

TovarTableED_IZM: TStringField;

TovarTableCOMMENT: TBlobField;

SaleTableKOLVO_TOVAR: TFloatField;

TovarTableOSTATOK: TFloatField;

ReportQryCLIENT: TStringField;

ReportQryADRESS: TStringField;

ReportQryTELEPHONE: TStringField;

ReportQryMAN: TStringField;

ReportQryDOCUMENT: TStringField;

ReportQryDATA_SALE: TDateField;

ReportQryN_NAKLAD: TStringField;

ReportQryN_ORDER: TStringField;

ReportQryDOC_SUMMA: TCurrencyField;

ReportQryDOC_NDS: TCurrencyField;

ReportQryDOC_ALL_SUMMA: TCurrencyField;

ReportQryDOC_NALOG: TCurrencyField;

ReportQrySUMMA_STRING: TStringField;

ReportQryNAME_TOVAR: TStringField;

ReportQryKOLVO_TOVAR: TFloatField;

ReportQryPRICE: TCurrencyField;

ReportQrySUMMA: TCurrencyField;

ReportQryNDS: TFloatField;


ReportQrySUMMA_NDS: TCurrencyField;

ReportQryALL_SUMMA: TCurrencyField;

ReportQryNALOG: TFloatField;

ReportQrySUMMA_NALOG: TCurrencyField;

ReportQryFIRMA: TStringField;

ReportQryADRESS_1: TStringField;

ReportQryTELEPHON: TStringField;

RashodQrySUMMA: TCurrencyField;

procedure DataModuleCreate(Sender: TObject);

procedure PrihodTableAfterPost(DataSet: TDataSet);

procedure RashodTableAfterPost(DataSet: TDataSet);

procedure SaleTableBeforePost(DataSet: TDataSet);

procedure SaleTableAfterPost(DataSet: TDataSet);

procedure SaleTableAfterDelete(DataSet: TDataSet);

procedure SaleTableBeforeEdit(DataSet: TDataSet);

procedure SaleTableBeforeDelete(DataSet: TDataSet);

procedure PrihodTableBeforeEdit(DataSet: TDataSet);

procedure PrihodTableBeforeDelete(DataSet: TDataSet);

procedure PrihodTableAfterDelete(DataSet: TDataSet);

private

{ private declarations }

public

{ public declarations }

end;

var

DataModule2: TDataModule2;

Id_tovar: integer;

implementation

function SummaString(m: real): string;

Var

por : array[0..4,0..2] of string;

por1: array[0..0,0..2] of string;

a : array[0..19] of string;

a1 : array[0..19] of string;

b1 : array[0..9] of string;

c : array[0..9] of string;

s : string;

p : integer;

mul : real;

l1 : integer;

pos_rub: integer;

begin

por[0,0]:='рубль '; por[0,1]:='рубля '; por[0,2]:='рублей ';

por[1,0]:='тысяча '; por[1,1]:='тысячи '; por[1,2]:='тысяч ';

por[2,0]:='миллион '; por[2,1]:='миллиона '; por[2,2]:='миллионов ';

por[3,0]:='миллиард '; por[3,1]:='миллиарда '; por[3,2]:='миллиардов ';

por[4,0]:='триллион '; por[4,1]:='триллиона '; por[4,2]:='триллионов ';

por1[0,0]:='копейка '; por1[0,1]:='копейки '; por1[0,2]:='копеек ';

a[0]:=' '; a[1]:='один '; a[2]:='два '; a[3]:='три '; a[4]:='четыре ';

a[5]:='пять '; a[6]:='шесть '; a[7]:='семь '; a[8]:='восемь ';

a[9]:='девять '; a[10]:='десять '; a[11]:='одиннадцать ';

a[12]:='двенадцать '; a[13]:='тринадцать '; a[14]:='четырнадцать ';

a[15]:='пятнадцать '; a[16]:='шестнадцать '; a[17]:='семнадцать ';

a[18]:='восемнадцать '; a[19]:='девятнадцать ';

a1[0]:=' '; a1[1]:='одна '; a1[2]:='две '; a1[3]:='три ';

a1[4]:='четыре '; a1[5]:='пять '; a1[6]:='шесть '; a1[7]:='семь ';

a1[8]:='восемь '; a1[9]:='девять '; a1[10]:='десять ';

a1[11]:='одиннадцать '; a1[12]:='двенадцать ';a1[13]:='тринадцать ';

a1[14]:='четырнадцать '; a1[15]:='пятнадцать '; a1[16]:='шестнадцать ';

a1[17]:='семнадцать '; a1[18]:='восемнадцать '; a1[19]:='девятнадцать ';

b1[0]:=' '; b1[1]:='десять '; b1[2]:='двадцать '; b1[3]:='тридцать ';

b1[4]:='сорок '; b1[5]:='пятьдесят '; b1[6]:='шестьдесят ';

b1[7]:='семьдесят '; b1[8]:='восемьдесят '; b1[9]:='девяносто ';

c[0]:=' '; c[1]:='сто '; c[2]:='двести '; c[3]:='триста ';

c[4]:='четыреста '; c[5]:='пятьсот '; c[6]:='шестьсот ';

c[7]:='семьсот '; c[8]:='восемьсот '; c[9]:='девятьсот ';

s:=' ';

For p:=4 downto 0 do begin

mul:=power(10,p*3);

l1:=Round(Int(m/mul));

m:=m-l1*mul;

if (l1>0) then begin

if (Round(Int(l1/100))>0) then begin

s:=s+c[Round(Int(l1/100))];

l1:=l1-Round(Int(l1/100))*100;

end;

if (l1>=20) then begin

s:=s+b1[Round(Int(l1/10))];

l1:=l1-Round(Int(l1/10))*10;

end;

if(p<>1) then s:=s+a[l1]

else s:=s+a1[l1];

if (l1=1)then s:=s+por[p,0];

if (l1>1) and (l1<5) then

s:=s+por[p,1];

if (l1<1) or (l1>4) then

s:=s+por[p,2];

end;{if}

end;{for}

pos_rub:=pos('рублей',s);


if (l1=0) and (pos_rub=0)

then s:=s+por[0,2];

l1:=Round(m*100);

If (l1>0) then begin

if (l1>=20) then begin

s:=s+b1[Round(Int(l1/10))];

l1:=l1-Round(Int(l1/10))*10;

end;

s:=s+a1[l1];

if (l1=1) then s:=s+por1[0,0];

if (l1>1) and (l1<5) then s:=s+por1[0,1];

if (l1<1) or (l1>4) then s:=s+por1[0,2];

end;{if}

SummaString:=s;

end;

procedure TDataModule2.DataModuleCreate(Sender: TObject);

begin

{TovarTable.Open;

PrihodTable.Open;

RashodTable.Open;

DocTable.Open;

SaleTable.Open;}

end;

procedure TDataModule2.PrihodTableAfterPost(DataSet: TDataSet);

begin

{If TovarTable.State<>dsEdit then

TovarTable.Edit;

TovarTable.FieldByName('OSTATOK').Value:=

TovarTable.FieldByName('OSTATOK').Value+PrihodTable.FieldByName('KOLVO_PRIHOD').Value;

TovarTable.Post;

}

{UpTovQry1.ParamByName('KOLVO').AsInteger:=

PrihodTable.FieldByName('KOLVO_PRIHOD').AsInteger;

UpTovQry1.ParamByName('ID_TOVAR').AsInteger:=

PrihodTable.FieldByName('ID_TOVAR').AsInteger;

UpTovQry1.ExecSQL;

TovarTable.Active:=False;

TovarTable.Active:=True;;}

end;

procedure TDataModule2.RashodTableAfterPost(DataSet: TDataSet);

begin

{ If TovarTable.State<>dsEdit then

TovarTable.Edit;

TovarTable.FieldByName('OSTATOK').Value:=

TovarTable.FieldByName('OSTATOK').Value-RashodTable.FieldByName('KOLVO_RASHOD').Value;

TovarTable.Post;

}

end;

procedure TDataModule2.SaleTableBeforePost(DataSet: TDataSet);

begin

Id_tovar:=SaleTable.FieldByName('ID_TOVAR').Value;

With SaleTable do begin

FieldByName('SUMMA').Value:=

FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value;

FieldByName('SUMMA_NALOG').Value:=

((FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value)/

(100+FieldByName('NALOG').Value))*

FieldByName('NALOG').Value;

FieldByName('SUMMA_NDS').Value:=

(FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value-

FieldByName('SUMMA_NALOG').Value)/

(100+FieldByName('NDS').Value)*FieldByName('NDS').Value;

FieldByName('ALL_SUMMA').Value:=

FieldByName('SUMMA').Value-FieldByName('SUMMA_NALOG').Value-

FieldByName('SUMMA_NDS').Value;

end;

{ With SaleTable do begin

FieldByName('ALL_SUMMA').Value:=

FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value;

FieldByName('SUMMA_NDS').Value:=

(FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value)*

FieldByName('NDS').Value/100;

FieldByName('SUMMA_NALOG').Value:=

((FieldByName('KOLVO_TOVAR').Value*FieldByName('PRICE').Value)*

FieldByName('NDS').Value/100)*

FieldByName('NALOG').Value/100;

FieldByName('SUMMA').Value:=

FieldByName('ALL_SUMMA').Value+FieldByName('SUMMA_NALOG').Value+

FieldByName('SUMMA_NDS').Value;

end;

}

end;

procedure TDataModule2.SaleTableAfterPost(DataSet: TDataSet);

Var i:integer;

begin

If DocTable.State<>dsEdit then

DocTable.Edit;

SummaQry.Open;

DocTable.FieldByName('DOC_SUMMA').Value:=SummaQry.FieldByName('SUMMA').Value;

DocTable.FieldByName('DOC_NDS').Value:=SummaQry.FieldByName('SUMMA_NDS').Value;

DocTable.FieldByName('DOC_NALOG').Value:=SummaQry.FieldByName('SUMMA_NALOG').Value;

DocTable.FieldByName('DOC_ALL_SUMMA').Value:=SummaQry.FieldByName('ALL_SUMMA').Value;

DocTable.FieldByName('SUMMA_STRING').AsString:=

SummaString(SummaQry.FieldByName('SUMMA').AsFloat);

SummaQry.Close;

DocTable.Post;

UpdateTovQry1.ParamByName('KOLVO').AsInteger:=

SaleTable.FieldByName('KOLVO_TOVAR').AsInteger;

UpdateTovQry1.ParamByName('ID_TOVAR').AsInteger:=

SaleTable.FieldByName('ID_TOVAR').AsInteger;

UpdateTovQry1.ExecSQL;

TovarTable.Active:=False;

TovarTable.Active:=True;;

UpPrihodQry.ParamByName('ID_TOVAR').AsInteger:=ID_TOVAR;

{

UpPrihodQry.ParamByName('OSTATOK').AsInteger:=

TovarTable.FieldByName('OSTATOK').AsInteger;

UpPrihodQry.ParamByName('ID_TOVAR').AsInteger:=ID_TOVAR;

SaleTable.FieldByName('ID_TOVAR').AsInteger;

UpPrihodQry.ExecSQL;