📄 inv500_02.pas.svn-base
字号:
unit Inv500_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Bas200_13, DB, ADODB, ActnList, Menus, ComCtrls, ToolWin,
StdCtrls, wwdbdatetimepicker, Buttons, Mask, wwdbedit, Wwdotdot, Grids,
Wwdbigrd, Wwdbgrid, dxdbtrel;
type
TInv500_02Form = class(TBas200_13Form)
lblType: TLabel;
lblWhs: TLabel;
sbWhs: TSpeedButton;
SpeedButton1: TSpeedButton;
lblSummary: TLabel;
lblRemark: TLabel;
lblCurr: TLabel;
lblDate: TLabel;
lblCust: TLabel;
sbCust: TSpeedButton;
lblOrder: TLabel;
edtWhs: TEdit;
memRemark: TMemo;
edtSummary: TEdit;
edtWhsName: TEdit;
cbCurr: TComboBox;
edtRate: TEdit;
edtDate: TwwDBDateTimePicker;
edtCust: TEdit;
edtCustName: TEdit;
edtOrder: TEdit;
cbType: TComboBox;
PageControl1: TPageControl;
tsItem: TTabSheet;
wwDBGrid1: TwwDBGrid;
edtItem: TwwDBComboDlg;
edtUnit: TwwDBComboDlg;
edtLoc: TwwDBComboDlg;
qryInv550: TADOQuery;
qryInv100: TADOQuery;
qryGld100: TADOQuery;
qryInv500B: TADOQuery;
qryInv150: TADOQuery;
qryInv110: TADOQuery;
qryInv140: TADOQuery;
adsInv500B: TADODataSet;
dsInv500B: TDataSource;
qryInv100I100_001: TAutoIncField;
qryInv100I100_002: TWideStringField;
qryInv100I100_003: TWideStringField;
dsInv100: TDataSource;
lblObjTyp: TLabel;
cbObjTyp: TComboBox;
edtPost: TEdit;
lblPost: TLabel;
qryOrd150: TADOQuery;
qryOrd150FNo: TAutoIncField;
qryOrd150FCode: TWideStringField;
qryOrd150FName: TWideStringField;
ADOQuery1I500A_001: TWideStringField;
ADOQuery1I500A_002: TIntegerField;
ADOQuery1I500A_003: TWideStringField;
ADOQuery1I500A_004: TDateTimeField;
ADOQuery1I500A_005: TSmallintField;
ADOQuery1I500A_006: TIntegerField;
ADOQuery1I500A_007: TWideStringField;
ADOQuery1I500A_008: TIntegerField;
ADOQuery1I500A_009: TFloatField;
ADOQuery1I500A_010: TIntegerField;
ADOQuery1I500A_011: TMemoField;
ADOQuery1I500A_012: TDateTimeField;
ADOQuery1I500A_013: TWideStringField;
ADOQuery1I500A_014: TDateTimeField;
ADOQuery1I500A_015: TWideStringField;
ADOQuery1I500A_016: TBooleanField;
ADOQuery1I550_001: TAutoIncField;
ADOQuery1I550_002: TWideStringField;
ADOQuery1I550_003: TWideStringField;
ADOQuery1I550_004: TSmallintField;
ADOQuery1I550_005: TSmallintField;
ADOQuery1I550_006: TBooleanField;
ADOQuery1I550_007: TSmallintField;
ADOQuery1I550_008: TWideStringField;
ADOQuery1I550_009: TIntegerField;
ADOQuery1I550_010: TSmallintField;
ADOQuery1I550_011: TWideStringField;
ADOQuery1G100_001: TAutoIncField;
ADOQuery1G100_002: TWideStringField;
ADOQuery1G100_003: TWideStringField;
ADOQuery1I100_001: TAutoIncField;
ADOQuery1I100_002: TWideStringField;
ADOQuery1I100_003: TWideStringField;
qryInv150I150_001: TAutoIncField;
qryInv150I150_002: TWideStringField;
qryInv150I150_003: TWideStringField;
qryInv150I150_004: TWideStringField;
qryInv150I140_001: TAutoIncField;
qryInv150I140_002: TWideStringField;
qryInv150I140_003: TWideStringField;
qryInv110I110_001: TAutoIncField;
qryInv110I110_002: TIntegerField;
qryInv110I110_003: TWideStringField;
qryInv110I110_004: TWideStringField;
qryInv140I140_001: TAutoIncField;
qryInv140I140_002: TWideStringField;
qryInv140I140_003: TWideStringField;
adsInv500BFNo: TIntegerField;
adsInv500BFItemNo: TIntegerField;
adsInv500BFItemID: TStringField;
adsInv500BFItemName: TStringField;
adsInv500BFItemSpec: TStringField;
adsInv500BFUnitNo: TIntegerField;
adsInv500BFUnitID: TStringField;
adsInv500BFUnitName: TStringField;
adsInv500BFUnitRate: TFloatField;
adsInv500BFQty: TFloatField;
adsInv500BFPrice: TFloatField;
adsInv500BFAmount: TFloatField;
adsInv500BFLocNo: TIntegerField;
adsInv500BFLocID: TStringField;
adsInv500BFLocName: TStringField;
adsInv500BFDate: TDateTimeField;
adsInv500BFLot: TStringField;
adsInv500BFFromOrder: TStringField;
adsInv500BFFromLine: TIntegerField;
adsInv500BFOrdQty: TFloatField;
adsInv500BFRemark: TStringField;
ADODataSet1: TADODataSet;
cbDept: TdxLookupTreeView;
ADOQuery1FCode: TStringField;
ADOQuery1FName: TStringField;
dsHrm100: TDataSource;
qryHrm100: TADOQuery;
qryHrm150: TADOQuery;
qryHrm150FNo: TAutoIncField;
qryHrm150FCode: TWideStringField;
qryHrm150FName: TWideStringField;
qryHrm100FNo: TAutoIncField;
qryHrm100FCode: TWideStringField;
qryHrm100FName: TWideStringField;
qryHrm100FParent: TIntegerField;
adsInv500BFFinish: TFloatField;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure wwDBGrid1UpdateFooter(Sender: TObject);
procedure sbWhsClick(Sender: TObject);
procedure edtWhsExit(Sender: TObject);
procedure sbCustClick(Sender: TObject);
procedure edtCustExit(Sender: TObject);
procedure ADOQuery1CalcFields(DataSet: TDataSet);
procedure cbObjTypChange(Sender: TObject);
procedure cbTypeChange(Sender: TObject);
procedure ADOQuery1I500A_005GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure edtItemCustomDlg(Sender: TObject);
procedure edtLocCustomDlg(Sender: TObject);
procedure edtUnitCustomDlg(Sender: TObject);
procedure ADOQuery1I500A_016GetText(Sender: TField; var Text: String;
DisplayText: Boolean);
procedure adsInv500BNewRecord(DataSet: TDataSet);
procedure wwDBGrid1Exit(Sender: TObject);
procedure wwDBGrid1Enter(Sender: TObject);
procedure adsInv500BBeforePost(DataSet: TDataSet);
procedure wwDBGrid1ColExit(Sender: TObject);
procedure ActPrintExecute(Sender: TObject);
private
ALastNo:Integer;
AObjTyp:array[0..3] of string;
APost:array[0..1] of string;
ABusy:Boolean;
ASeqNo:Integer;
procedure SetDBGridA;
procedure GetDetailData;
procedure CheckItem;
procedure CheckUnit;
procedure CheckLoc;
procedure CheckQty;
{ Private declarations }
public
procedure OpenData(ACode:String);
procedure SetInterface; override;
procedure GetDataInfo; override;
procedure InsertEvent; override;
procedure UpdateEvent; override;
procedure DeleteEvent; override;
procedure SetEmptyInit; override;
procedure TableBeforePost; override;
procedure TableAfterPost; override;
procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
{ Public declarations }
end;
var
Inv500_02Form: TInv500_02Form;
implementation
uses SYSDATA, CommFun, InvComm, HwSelData, HwSelDataA;
{$R *.dfm}
procedure TInv500_02Form.SetDBGridA;
var
I:Integer;
begin
for I:=0 to wwDBGrid1.Selected.Count-1 do
begin
wwDBGrid1.Columns[I].ReadOnly:=True;
end;
wwDBGrid1.ColumnByName('FItemID').ReadOnly:=False;
wwDBGrid1.ColumnByName('FUnitID').ReadOnly:=False;
wwDBGrid1.ColumnByName('FQty').ReadOnly:=False;
wwDBGrid1.ColumnByName('FLocID').ReadOnly:=False;
wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;
adsInv500B.FieldByName('FLocID').Visible:=not qryInv110.IsEmpty;
adsInv500B.FieldByName('FLocName').Visible:=not qryInv110.IsEmpty;
//进仓的操作类型,允许输入价格和金额 (0=期初,1=入仓)
wwDBGrid1.ColumnByName('FPrice').ReadOnly:=not (qryInv550.FieldByName('I550_004').AsInteger in [0,1]);
wwDBGrid1.ColumnByName('FAmount').ReadOnly:=not (qryInv550.FieldByName('I550_004').AsInteger in [0,1]);
wwDBGrid1.Refresh;
end;
procedure TInv500_02Form.OpenData(ACode:String);
begin
if ACode='' then AMode:='ADD' else AMode:='UPD';
ADOQuery1.DisableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select A.*,');
ADOQuery1.SQL.Add(' B.*,');
ADOQuery1.SQL.Add(' C.G100_001,C.G100_002,C.G100_003,');
ADOQuery1.SQL.Add(' D.I100_001,D.I100_002,D.I100_003');
ADOQuery1.SQL.Add('from INV500A A,INV550 B,GLD100 C,INV100 D');
ADOQuery1.SQL.Add('where I500A_002=I550_001 and I500A_008=G100_001 and I500A_010=I100_001');
ADOQuery1.SQL.Add('order by I500A_001');
ADOQuery1.Open;
ADOQuery1.Locate('I500A_001',ACode,[]);
ADOQuery1.EnableControls;
ADOQuery1AfterScroll(ADOQuery1);
end;
procedure TInv500_02Form.SetInterface;
begin
inherited;
Caption:=GetDBString('INV50002001'); //料品进出处理
gbInfo.Caption:=GetDBString('INV50002002'); //基本信息
lblCode.Caption:=GetDBString('INV50002003'); //进出单号
lblSummary.Caption:=GetDBString('INV50002004'); //摘要说明
lblPost.Caption:=GetDBString('INV50002005'); //已过帐否
lblWhs.Caption:=GetDBString('INV50002006'); //仓库编号
lblType.Caption:=GetDBString('INV50002007'); //操作类型
lblDate.Caption:=GetDBString('INV50002008'); //进出日期
lblCurr.Caption:=GetDBString('INV50002009'); //币别名称
lblOrder.Caption:=GetDBString('INV50002010'); //相关单号
lblCust.Caption:=GetDBString('INV50002020'); //对象编号
lblRemark.Caption:=GetDBString('INV50002012'); //备注说明
tsItem.Caption:=GetDBString('INV50002013'); //料品信息
lblObjTyp.Caption:=GetDBString('INV50002019'); //对象类型
ADOQuery1I500A_001.DisplayLabel:=GetDBString('INV50002014'); //进出单号
// ADOQuery1I500A_002.DisplayLabel:=GetDBString('INV50002015'); //
ADOQuery1I550_002.DisplayLabel:=GetDBString('INV50002015'); //类型编号
ADOQuery1I550_003.DisplayLabel:=GetDBString('INV50002016'); //类型名称
ADOQuery1I500A_003.DisplayLabel:=GetDBString('INV50002017'); //摘要说明
ADOQuery1I500A_004.DisplayLabel:=GetDBString('INV50002018'); //进出日期
ADOQuery1I500A_005.DisplayLabel:=GetDBString('INV50002019'); //对象类型
// ADOQuery1I500A_006.DisplayLabel:=GetDBString('INV50002020'); //
ADOQuery1FCode.DisplayLabel:=GetDBString('INV50002020'); //对象编号
ADOQuery1FName.DisplayLabel:=GetDBString('INV50002021'); //对象名称
ADOQuery1I500A_007.DisplayLabel:=GetDBString('INV50002022'); //相关单据
// ADOQuery1I500A_008.DisplayLabel:=GetDBString('INV50002023'); //
ADOQuery1G100_002.DisplayLabel:=GetDBString('INV50002023'); //币别编号
ADOQuery1G100_003.DisplayLabel:=GetDBString('INV50002024'); //币别名称
ADOQuery1I500A_009.DisplayLabel:=GetDBString('INV50002025'); //币别汇率
ADOQuery1I500A_010.DisplayLabel:=GetDBString('INV50002026'); //仓库编号
ADOQuery1I500A_011.DisplayLabel:=GetDBString('INV50002027'); //备注说明
ADOQuery1I500A_012.DisplayLabel:=GetDBString('INV50002028'); //制单日期
ADOQuery1I500A_013.DisplayLabel:=GetDBString('INV50002029'); //制单人员
ADOQuery1I500A_014.DisplayLabel:=GetDBString('INV50002030'); //修改日期
ADOQuery1I500A_015.DisplayLabel:=GetDBString('INV50002031'); //修改人员
ADOQuery1I500A_016.DisplayLabel:=GetDBString('INV50002032'); //已过帐否
wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('INV50002033'); //料品编号
wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('INV50002034'); //料品名称
wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('INV50002035'); //规格型号
wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('INV50002036'); //单位编号
wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('INV50002037'); //单位名称
wwDBGrid1.ColumnByName('FUnitRate').DisplayLabel:=GetDBString('INV50002062'); //单位转换
wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('INV50002038'); //进出数量
wwDBGrid1.ColumnByName('FOrdQty').DisplayLabel:=GetDBString('INV50002039'); //应收发量
wwDBGrid1.ColumnByName('FPrice').DisplayLabel:=GetDBString('INV50002040'); //进出单价
wwDBGrid1.ColumnByName('FAmount').DisplayLabel:=GetDBString('INV50002041'); //进出金额
wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('INV50002042'); //生产日期
wwDBGrid1.ColumnByName('FLot').DisplayLabel:=GetDBString('INV50002043'); //生产批号
wwDBGrid1.ColumnByName('FRemark').DisplayLabel:=GetDBString('INV50002044'); //备注说明
qryOrd150FCode.DisplayLabel:=GetDBString('INV50002045'); //对象编号
qryOrd150FName.DisplayLabel:=GetDBString('INV50002046'); //对象名称
qryHrm150FCode.DisplayLabel:=qryOrd150FCode.DisplayLabel; //对象编号
qryHrm150FName.DisplayLabel:=qryOrd150FName.DisplayLabel; //对象名称
qryInv150I150_002.DisplayLabel:=GetDBString('INV50002047'); //产品编号
qryInv150I150_003.DisplayLabel:=GetDBString('INV50002048'); //产品名称
qryInv150I150_004.DisplayLabel:=GetDBString('INV50002049'); //规格型号
qryInv150I140_002.DisplayLabel:=GetDBString('INV50002050'); //单位编号
qryInv150I140_003.DisplayLabel:=GetDBString('INV50002051'); //单位名称
qryInv110I110_003.DisplayLabel:=GetDBString('INV50002052'); //库位编号
qryInv110I110_004.DisplayLabel:=GetDBString('INV50002053'); //库位名称
qryInv140I140_002.DisplayLabel:=GetDBString('INV50002054'); //单位编号
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -