📄 inv510_01.pas.svn-base
字号:
unit Inv510_01;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas200_10, dxExEdtr, ActnList, DB, ADODB, Menus, dxCntner, dxTL,
dxDBCtrl, dxDBGrid, ExtCtrls, ComCtrls, ToolWin, dxDBTLCl, dxGrClms,
Buttons, StdCtrls, wwdbdatetimepicker;
type
TInv510_01Form = class(TBas200_10Form)
lblDate: TLabel;
edtFromDate: TwwDBDateTimePicker;
edtToDate: TwwDBDateTimePicker;
sbSearch: TSpeedButton;
ADOQuery1I510A_001: TWideStringField;
ADOQuery1I510A_002: TIntegerField;
ADOQuery1I550_002: TWideStringField;
ADOQuery1I550_003: TWideStringField;
ADOQuery1I510A_003: TWideStringField;
ADOQuery1I510A_004: TDateTimeField;
ADOQuery1I510A_005: TIntegerField;
ADOQuery1I510A_006: TIntegerField;
ADOQuery1I510A_007: TIntegerField;
ADOQuery1I510A_008: TIntegerField;
ADOQuery1FOutWhsID: TWideStringField;
ADOQuery1FOutWhsName: TWideStringField;
ADOQuery1FInWhsID: TWideStringField;
ADOQuery1FInWhsName: TWideStringField;
ADOQuery1I510A_009: TMemoField;
ADOQuery1I510A_010: TDateTimeField;
ADOQuery1I510A_011: TWideStringField;
ADOQuery1I510A_012: TDateTimeField;
ADOQuery1I510A_013: TWideStringField;
ADOQuery1I510A_014: TBooleanField;
ADOQuery1I550_001: TAutoIncField;
ADOQuery1I550_004: TSmallintField;
ADOQuery1I550_005: TSmallintField;
ADOQuery1I550_006: TBooleanField;
ADOQuery1I550_007: TSmallintField;
ADOQuery1I550_008: TWideStringField;
ADOQuery1I550_009: TIntegerField;
ADOQuery1I550_010: TSmallintField;
ADOQuery1I550_011: TWideStringField;
ADOQuery1FOutWhsNo: TAutoIncField;
ADOQuery1FInWhsNo: TAutoIncField;
dxDBGrid1I510A_001: TdxDBGridColumn;
dxDBGrid1I550_002: TdxDBGridColumn;
dxDBGrid1I550_003: TdxDBGridColumn;
dxDBGrid1I510A_003: TdxDBGridColumn;
dxDBGrid1I510A_004: TdxDBGridDateColumn;
dxDBGrid1FOutWhsID: TdxDBGridColumn;
dxDBGrid1FOutWhsName: TdxDBGridColumn;
dxDBGrid1FInWhsID: TdxDBGridColumn;
dxDBGrid1FInWhsName: TdxDBGridColumn;
dxDBGrid1I510A_010: TdxDBGridDateColumn;
dxDBGrid1I510A_011: TdxDBGridColumn;
dxDBGrid1I510A_012: TdxDBGridDateColumn;
dxDBGrid1I510A_013: TdxDBGridColumn;
dxDBGrid1I510A_014: TdxDBGridCheckColumn;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure sbSearchClick(Sender: TObject);
private
{ Private declarations }
public
procedure SetInterface; override;
procedure InsertEvent; override;
procedure UpdateEvent; override;
procedure DeleteEvent; override;
procedure BrowseEvent; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Inv510_01Form: TInv510_01Form;
implementation
uses CommFun, SYSDATA, Inv510_02, InvComm;
{$R *.dfm}
procedure TInv510_01Form.SetInterface;
begin
inherited;
Caption:=GetDBString('INV51001001'); //料品转仓处理
lblDate.Caption:=GetDBString('INV51001003'); //日期
sbSearch.Caption:=GetDBString('INV51001004'); //查询
ADOQuery1I510A_001.DisplayLabel:=GetDBString('INV51001005'); //转仓单号
// ADOQuery1I510A_002.DisplayLabel:=GetDBString('INV51001006'); //
ADOQuery1I550_002.DisplayLabel:=GetDBString('INV51001006'); //类型编号
ADOQuery1I550_003.DisplayLabel:=GetDBString('INV51001007'); //类型名称
ADOQuery1I510A_003.DisplayLabel:=GetDBString('INV51001008'); //摘要说明
ADOQuery1I510A_004.DisplayLabel:=GetDBString('INV51001009'); //转仓日期
ADOQuery1FOutWhsID.DisplayLabel:=GetDBString('INV51001010'); //转出仓号
ADOQuery1FOutWhsName.DisplayLabel:=GetDBString('INV51001011'); //转出仓名
ADOQuery1FInWhsID.DisplayLabel:=GetDBString('INV51001012'); //转入仓号
ADOQuery1FInWhsName.DisplayLabel:=GetDBString('INV51001013'); //转入仓名
ADOQuery1I510A_009.DisplayLabel:=GetDBString('INV51001014'); //备注说明
ADOQuery1I510A_010.DisplayLabel:=GetDBString('INV51001015'); //制单日期
ADOQuery1I510A_011.DisplayLabel:=GetDBString('INV51001016'); //制单人员
ADOQuery1I510A_012.DisplayLabel:=GetDBString('INV51001017'); //修改日期
ADOQuery1I510A_013.DisplayLabel:=GetDBString('INV51001018'); //修改人员
ADOQuery1I510A_014.DisplayLabel:=GetDBString('INV51001019'); //已过帐否
end;
procedure TInv510_01Form.FormCreate(Sender: TObject);
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtFromDate.Date:=GetMonthFirstDate(ADate);
edtToDate.Date:=GetMonthEndDate(ADate);
sbSearch.Click;
end;
procedure TInv510_01Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
//
end;
procedure TInv510_01Form.sbSearchClick(Sender: TObject);
begin
inherited;
if (edtFromDate.Text='') or (edtToDate.Text='') then
begin
ShowMsg('UMS10000319'); //起止日期不可为空
if edtFromDate.Text='' then edtFromDate.SetFocus else edtToDate.SetFocus;
Abort;
end;
if edtFromDate.Date>edtToDate.Date then
begin
ShowMsg('UMS10000320'); //结束日期不能小于起始日期
edtToDate.SetFocus;
Abort;
end;
Screen.Cursor:=crHourGlass;
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select A.*,');
ADOQuery1.SQL.Add(' B.*,');
ADOQuery1.SQL.Add(' C.I100_001 as FOutWhsNo,C.I100_002 as FOutWhsID,C.I100_003 as FOutWhsName,');
ADOQuery1.SQL.Add(' D.I100_001 as FInWhsNo,D.I100_002 as FInWhsID,D.I100_003 as FInWhsName');
ADOQuery1.SQL.Add('from INV510A A,INV550 B,INV100 C,INV100 D');
ADOQuery1.SQL.Add('where I510A_002=I550_001 and I510A_005=C.I100_001 and I510A_007=D.I100_001 and ');
ADOQuery1.SQL.Add(' I510A_004>='+GetDateString(edtFromDate.Date) +' and I510A_004<='+GetDateString(edtToDate.Date));
ADOQuery1.SQL.Add('order by I510A_001');
ADOQuery1.Open;
ADOQuery1.EnableControls;
ARecordCount:=GetDataSetCount(ADOQuery1);
Screen.Cursor:=crDefault;
end;
procedure TInv510_01Form.BrowseEvent;
begin
inherited;
Inv510_02Form:=TInv510_02Form.Create(Application);
Inv510_02Form.OpenData(ADOQuery1.FieldByName('I510A_001').AsString);
Inv510_02Form.ShowModal;
end;
procedure TInv510_01Form.DeleteEvent;
var
ACode:string;
begin
inherited;
//删除
ACode:=ADOQuery1.FieldByName('I510A_001').AsString;
if ADOQuery1.FieldByName('I510A_014').AsBoolean then
begin
ShowMsg('UMS10000617'); //不允许删除已经过帐的转仓单
Abort;
end;
//更新相关的数据,当进出仓单更新时
UpdateInv500B(ACode,'INV510','DEL',0);
//删除进出单据
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from INV510B where I510B_001='+''''+ACode+'''');
SYSDM.qryQuery.ExecSQL;
DeleteTableRecord(ADOQuery1,'INV510A','I510A_001='+''''+ACode+'''');
//更新相关的数据,当进出仓单更新时
UpdateInv500B(ACode,'INV510','DEL',0);
//更新进出仓单的应收发数量
UpdateInv500BOrdQty(ACode);
end;
procedure TInv510_01Form.InsertEvent;
begin
inherited;
//新增
Inv510_02Form:=TInv510_02Form.Create(Application);
Inv510_02Form.OpenData('');
Inv510_02Form.ActInsert.Execute;
Inv510_02Form.ShowModal;
sbSearch.Click;
end;
procedure TInv510_01Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
procedure TInv510_01Form.UpdateEvent;
begin
inherited;
if ADOQuery1.FieldByName('I510A_014').AsBoolean then
begin
ShowMsg('UMS10000621'); //不允许修改已经过帐的转仓单
Abort;
end;
Inv510_02Form:=TInv510_02Form.Create(Application);
Inv510_02Form.OpenData(ADOQuery1.FieldByName('I510A_001').AsString);
Inv510_02Form.ActUpdate.Execute;
Inv510_02Form.ShowModal;
end;
initialization
RegisterClass(TInv510_01Form);
finalization
UnRegisterClass(TInv510_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -