Материал: Автоматизация учета обращений пользователей на предприятии Wilo

Внимание! Если размещение файла нарушает Ваши авторские права, то обязательно сообщите нам
93
dstShopDSDesigner: TWideStringField;
dstShopDSDesigner2: TWideStringField;
dstShopDSDesigner3: TWideStringField;
dstContrag: TADODataSet;
dsContrag: TDataSource;
dstOper: TADODataSet;
AutoIncField1: TAutoIncField;
DateTimeField1: TDateTimeField;
BooleanField1: TBooleanField;
IntegerField1: TIntegerField;
IntegerField2: TIntegerField;
IntegerField3: TIntegerField;
IntegerField4: TIntegerField;
dsOper: TDataSource;
dstContragID: TAutoIncField;
dstContragDSDesigner: TBooleanField;
dstContrag_: TWideStringField;
dstContragDSDesigner2: TWideStringField;
dstContragDSDesigner3: TWideStringField;
dstContragDSDesigner4: TWideStringField;
dstContragDSDesigner5: TWideStringField;
dstContragDSDesigner6: TWideStringField;
dstContragDSDesigner7: TWideStringField;
dstOperField: TStringField;
dstOperField2: TStringField;
dstOperField3: TStringField;
dstOperField4: TStringField;
dstOperComp: TADODataSet;
dsOperComp: TDataSource;
dstOperCompDSDesigner: TFloatField;
dstOperCompDSDesigner2: TBCDField;
dstOperCompField: TStringField;
dstAllGoods: TADODataSet;
AutoIncField2: TAutoIncField;
IntegerField5: TIntegerField;
WideStringField1: TWideStringField;
WideStringField2: TWideStringField;
BlobField1: TBlobField;
dsAllGoods: TDataSource;
dstPrice: TADODataSet;
dsPrice: TDataSource;
dstPriceID: TIntegerField;
dstPriceDSDesigner: TDateTimeField;
dstPriceDSDesigner2: TBCDField;
dstPriceDSDesigner3: TBCDField;
dstStoreInfo: TADODataSet;
dsStoreInfo: TDataSource;
dstStore: TADODataSet;
dsStore: TDataSource;
dstStoreID: TIntegerField;
dstStoreID2: TIntegerField;
dstStoreDSDesigner: TFloatField;
94
dstStoreInfoDSDesigner: TWideStringField;
dstStoreInfoDSDesigner2: TWideStringField;
dstStoreInfoDSDesigner1: TBCDField;
dstStoreInfoDSDesigner12: TBCDField;
dstStoreInfoDSDesigner3: TFloatField;
dstStoreInfoDSDesigner4: TFloatField;
dstStoreInfoDSDesigner5: TFloatField;
dstStoreInfoID: TIntegerField;
dstStoreInfoID2: TIntegerField;
dstStoreInfoDSDesigner6: TWideStringField;
dstStoreInfoDSDesigner7: TWideStringField;
dstStaffDSDesigner4: TFloatField;
dstContragDSDesigner8: TWideStringField;
dstMove: TADODataSet;
dsMove: TDataSource;
dstMoveID: TAutoIncField;
dstMoveID2: TIntegerField;
dstMoveID1: TIntegerField;
dstMoveID22: TIntegerField;
dstMoveDSDesigner: TDateTimeField;
dstMoveDSDesigner2: TFloatField;
dstMoveField: TStringField;
dstMoveField2: TStringField;
dstMoveStringField1: TStringField;
dstStoreInfoID3: TIntegerField;
dstMoveField3: TStringField;
dstGetPrice: TADODataSet;
dstRequisiteDSDesigner: TWideStringField;
dstRequisiteDSDesigner2: TWideStringField;
dstRequisiteDSDesigner3: TWideStringField;
dstRequisiteDSDesigner4: TWideStringField;
dstRequisiteDSDesigner5: TWideStringField;
dstRequisiteDSDesigner6: TWideStringField;
dstRequisiteDSDesigner7: TWideStringField;
dstGetPriceDSDesigner: TBCDField;
dstManager: TADODataSet;
AutoIncField3: TAutoIncField;
WideStringField3: TWideStringField;
IntegerField6: TIntegerField;
WideStringField4: TWideStringField;
WideStringField5: TWideStringField;
StringField1: TStringField;
FloatField1: TFloatField;
dsManager: TDataSource;
dstCashier: TADODataSet;
AutoIncField4: TAutoIncField;
WideStringField6: TWideStringField;
IntegerField7: TIntegerField;
WideStringField7: TWideStringField;
WideStringField8: TWideStringField;
StringField2: TStringField;
FloatField2: TFloatField;
95
dsCashier: TDataSource;
dstOperCompField2: TCurrencyField;
dstGetPriceDSDesigner2: TBCDField;
dstGetSum: TADODataSet;
dstGetSumDSDesigner: TFloatField;
dstOperField5: TFloatField;
dstOperCompN: TIntegerField;
dstOperCompID: TIntegerField;
dstOperCompID2: TIntegerField;
dstGetQuantity: TADODataSet;
dstGetQuantityDSDesigner: TFloatField;
dstOperStringField: TStringField;
dstOperStringField2: TStringField;
dstGetPhoto: TADODataSet;
dstGetPhotoDSDesigner: TBlobField;
dsGetPhoto: TDataSource;
dstOperField6: TStringField;
dstOperStringField3: TStringField;
dstOperCompField3: TStringField;
dstGroupID: TAutoIncField;
dstGroupDSDesigner: TWideStringField;
dstStatSell: TADODataSet;
dstStatSellDSDesigner2: TFloatField;
dstStatSellField: TStringField;
dstStatSellByShop: TADODataSet;
FloatField3: TFloatField;
StringField3: TStringField;
dstStatSellByManager: TADODataSet;
FloatField4: TFloatField;
dstStatSellByManagerField: TStringField;
dstStatByContr: TADODataSet;
FloatField5: TFloatField;
dstStatByContr_: TStringField;
dstStatTOP: TADODataSet;
dstStatTOPDSDesigner2: TFloatField;
dstStatTOPField: TStringField;
dstOperCompDSDesigner3: TBCDField;
dstSellRep: TADODataSet;
dsSellRep: TDataSource;
dstSellRepDSDesigner: TDateTimeField;
dstSellRepDSDesigner2: TWideStringField;
dstSellRepDSDesigner3: TFloatField;
dstSellRepDSDesigner4: TFloatField;
dstSellRepID: TIntegerField;
dstManagerRep: TADODataSet;
DateTimeField2: TDateTimeField;
FloatField6: TFloatField;
dsManagerRep: TDataSource;
dstManagerRepDSDesigner: TWideStringField;
dstManagerRepDSDesigner2: TFloatField;
dstManagerRepDSDesigner3: TFloatField;
dstManagerRepID: TIntegerField;
96
procedure DataModuleDestroy(Sender: TObject);
procedure dstOperCompCalcFields(DataSet: TDataSet);
procedure dstOperCompBeforePost(DataSet: TDataSet);
procedure dstOperCompAfterPost(DataSet: TDataSet);
procedure dstOperCalcFields(DataSet: TDataSet);
procedure dstStoreInfoAfterScroll(DataSet: TDataSet);
private
{ Private declarations }
public
{ Public declarations }
end;
var
DM: TDM;
implementation
uses Forms, Windows, uOper, uStore;
{$R *.dfm}
procedure TDM.DataModuleDestroy(Sender: TObject);
begin
ADOConnection1.Close;
end;
procedure TDM.dstOperCompCalcFields(DataSet: TDataSet);
begin
//Порядковый номер строки в продаже или закупке:
DataSet.FieldByName('N').AsInteger := DataSet.RecNo;
//Подсчет суммы по каждому товару в продаже или закупке:
DataSet.FieldByName('Сумма').AsCurrency :=
DataSet.FieldByName('Цена').AsCurrency *
DataSet.FieldByName('Количество').AsFloat;
end;
procedure TDM.dstOperCompBeforePost(DataSet: TDataSet);
begin
//Если в приходе или расходе не введено количество товара
или оно некорректно,
//выводится сообщение:
if DataSet.FieldByName('Количество').IsNull or
(DataSet.FieldByName('Количество').AsInteger <= 0) then
begin
Application.MessageBox('Укажите корректное количество
товара!', 'Ошибка', MB_OK+MB_ICONERROR);
Abort;
end
else
//Проверка остатка на складе для расходной операции:
if not DM.dstOper.FieldByName('Закупка').AsBoolean then
begin
97
//Определение количества товара на складе выбранной
точки продаж:
dstGetQuantity.Parameters.ParamByName('pShopID').Value
:= dstOper.FieldByName('ТочкаID').AsInteger;
dstGetQuantity.Parameters.ParamByName('pGoodID').Value
:= DataSet.FieldByName('ТоварID').AsInteger;
dstGetQuantity.Open;
if dstGetQuantity.FieldByName('Количество').AsFloat <
DataSet.FieldByName('Количество').AsInteger then
begin
Application.MessageBox('Заданное количество товара
превышает остаток на складе!',
'Ошибка', MB_OK+MB_ICONERROR);
dstGetQuantity.Close;
Abort;
end;
dstGetQuantity.Close;
end;
end;
//Подсчет суммы по приходу или расходу на форме покупки /
продажи:
procedure TDM.dstOperCompAfterPost(DataSet: TDataSet);
begin
dstGetSum.Parameters.ParamByName('pOperID').Value :=
dstOper.FieldByName('ID').Value;
dstGetSum.Open;
fmOper.edSum.Text := FormatFloat(',0.00',
dstGetSum.FieldByName('Сумма').AsFloat);
dstGetSum.Close;
end;
//Подсчет суммы по приходу или расходу на форме книги
покупок / продаж:
procedure TDM.dstOperCalcFields(DataSet: TDataSet);
begin
dstGetSum.Parameters.ParamByName('pOperID').Value :=
DataSet.FieldByName('ID').Value;
dstGetSum.Open;
DataSet.FieldByName('Сумма').Value :=
dstGetSum.FieldByName('Сумма').Value;
dstGetSum.Close;
end;
//При просмотре товара на складе отображается изображение
товара в отдельной форме:
procedure TDM.dstStoreInfoAfterScroll(DataSet: TDataSet);
begin
if fmStore.Showing and fmStore.chbShowPhoto.Checked then
begin
//Запрос изображения товара:
dstGetPhoto.Close;
Источник: https://baza.diplomsite.ru/previewfile/415