Диплом: Автоматизация процесса приема и идентификации поступившей продукции в АО "Кодекс"

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
144
При обнаружении несоответствия фактического количества учетному,
активируется кнопка «Корректировка», открывающая форму «Корректировка».
Рисунок П2.3. Форма ввода «Инвентаризация»
В диалоговом окне «Корректировка» указывается новое значение
учетного количества (рисунок П2.4). По умолчанию в поле ввода подставляется
значение фактического количества по результатам инвентаризации.
Рисунок П2.4 Форма ввода «Инвентаризация»
Добавление из
справочника
«Сотрудники»
Добавление из
справочника
«Номенклатура»
Данные из
таблицы
«Остатки»
Ручной
ввод
Вызов диалогового
окна
«Корректировка»
Печать отчета
145
Приложение 3. Исходный текст программного модуля «Приемка
товаров»
unit Priemka;
interface
uses
SysUtils, Windows, Classes, Graphics, Controls,
Forms, Dialogs, DB, DBTables,Math;
type
TDataModule2 = class(TDataModule)
TovarTableID_TOVAR: TAutoIncField;
TovarTableNAME_TOVAR: TStringField;
TovarSr: TDataSource;
TovarTable: TTable;
PrihodSr: TDataSource;
DocTable: TTable;
SaleTable: TTable;
DocSr: TDataSource;
SaleSr: TDataSource;
SaleTableID_TOVAR_SALE: TAutoIncField;
SaleTableNAME_TOVAR: TStringField;
SaleTableID_TOVAR: TIntegerField;
SaleTablePRICE: TCurrencyField;
SaleTableID_SALE: TIntegerField;
SaleTableSUMMA: TCurrencyField;
SaleTableNDS: TFloatField;
SaleTableSUMMA_NDS: TCurrencyField;
SaleTableALL_SUMMA: TCurrencyField;
SummaQry: TQuery;
SummaQrySUMMA: TCurrencyField;
SummaQrySUMMA_NDS: TCurrencyField;
SummaQryALL_SUMMA: TCurrencyField;
ClientSr: TDataSource;
ClientTable: TTable;
ClientTableID_CLIENT: TAutoIncField;
ClientTableCLIENT: TStringField;
ClientTableADRESS: TStringField;
ClientTableTELEPHONE: TStringField;
ClientTableFAX: TStringField;
ClientTableREKVEZIT: TStringField;
ClientTableBIK: TStringField;
ClientTableINN: TStringField;
ClientTableKOD_OKPO: TStringField;
ClientTableKOD_OKONH: TStringField;
ClientTableMAN: TStringField;
ClientTableDOCUMENT: TStringField;
FirmaTable: TTable;
FirmaSr: TDataSource;
FirmaTableFIRMA: TStringField;
FirmaTableADRESS: TStringField;
FirmaTableTELEPHON: TStringField;
FirmaTableFAX: TStringField;
146
FirmaTableREKVEZIT: TStringField;
FirmaTableBIK: TStringField;
FirmaTableINN: TStringField;
FirmaTableKOD_OKPO: TStringField;
FirmaTableKOD_OKONH: TStringField;
FirmaTableDIREKTOR: TStringField;
FirmaTableBUHGALTER: TStringField;
UpdateTovQry1: TQuery;
UpdateTovQry2: TQuery;
RashodQry: TQuery;
RashodSr: TDataSource;
RashodQryDATA_SALE: TDateField;
RashodQryID_TOVAR: TIntegerField;
RashodQryPRICE: TCurrencyField;
UpTovQry1: TQuery;
UpTovQry2: TQuery;
SaleTableNALOG: TFloatField;
SaleTableSUMMA_NALOG: TCurrencyField;
SummaQrySUMMA_NALOG: TCurrencyField;
TovarTableSELECT: TStringField;
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;
147
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;
148
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;
149
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]:='десять ';
150
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;
151
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.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.Post;
}
end;
procedure TDataModule2.SaleTableBeforePost(DataSet:
TDataSet);
begin
152
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;
153
procedure TDataModule2.SaleTableAfterPost(DataSet:
TDataSet);
Var i:integer;
begin
If DocTable.State<>dsEdit then
DocTable.Edit;
SummaQry.Open;
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;
}
{If PrihodTable.State<>dsEdit then
PrihodTable.Edit;
PrihodTable.FieldByName('OSTATOK').Value:=
TovarTable.FieldByName('OSTATOK').Value;
PrihodTable.Post;}
end;
procedure TDataModule2.SaleTableAfterDelete(DataSet:
TDataSet);
begin
If DocTable.State<>dsEdit then
DocTable.Edit;
SummaQry.Open;
DocTable.FieldByName('SUMMA_STRING').AsString:=
SummaString(SummaQry.FieldByName('SUMMA').AsFloat);

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

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