📄 ord140_02.pas.svn-base
字号:
unit Ord140_02;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, BAS200_17, ActnList, Menus, StdCtrls, Buttons, jpeg, ExtCtrls,
ComCtrls, wwdbdatetimepicker, Grids, DB, ADODB, Mask, dxdbtrel, dxExEdtr,
dxCntner, dxTL, dxDBCtrl, dxDBTL, dxDBGrid, ToolWin;
type
TOrd140_02Form = class(TBas200_17Form)
TabSheet1: TTabSheet;
TabSheet2: TTabSheet;
lblCode: TLabel;
edtCode: TEdit;
lblName: TLabel;
edtName: TEdit;
lblCurr: TLabel;
cbCurr: TComboBox;
edtToDate: TwwDBDateTimePicker;
lblToDate: TLabel;
edtFromDate: TwwDBDateTimePicker;
lblFromDate: TLabel;
lblRemark: TLabel;
memRemark: TMemo;
gbItem: TGroupBox;
edtItemID: TEdit;
edtItemName: TEdit;
gbCust: TGroupBox;
edtCustID: TEdit;
edtCustName: TEdit;
edtCustGrade: TEdit;
edtCustGradeName: TEdit;
gbSale: TGroupBox;
edtSaleID: TEdit;
edtSaleGrade: TEdit;
edtSaleName: TEdit;
edtSaleGradeName: TEdit;
TabSheet3: TTabSheet;
gbRegion: TGroupBox;
cbItemID: TCheckBox;
cbItemClass: TCheckBox;
cbCustID: TCheckBox;
cbCustClass: TCheckBox;
cbSaleID: TCheckBox;
cbSaleGrade: TCheckBox;
cbCustGrade: TCheckBox;
cbRegion: TCheckBox;
sbItemID: TSpeedButton;
sbCustID: TSpeedButton;
sbSaleGrade: TSpeedButton;
sbSaleID: TSpeedButton;
sbCustGrade: TSpeedButton;
cbSame: TCheckBox;
lblSeqNo: TLabel;
edtSeqNo: TEdit;
qryItems: TADOQuery;
qryItemsFCode: TWideStringField;
qryItemsFName: TWideStringField;
qryItemsFNo: TAutoIncField;
adsOrd140B: TADODataSet;
adsOrd140BFCode: TStringField;
adsOrd140BFName: TStringField;
adsOrd140BFNo: TIntegerField;
qryOrd140B: TADOQuery;
dsOrd140B: TDataSource;
dsOrd140C: TDataSource;
adsOrd140C: TADODataSet;
qryOrd140C: TADOQuery;
qryGld100: TADOQuery;
cbSumDis: TCheckBox;
cbType: TComboBox;
lblType: TLabel;
lblRange: TLabel;
qryInv150: TADOQuery;
qryInv150I150_001: TAutoIncField;
qryInv150I150_002: TWideStringField;
qryInv150I150_003: TWideStringField;
qryInv120: TADOQuery;
qryOrd150: TADOQuery;
qryOrd110: TADOQuery;
qryHrm150: TADOQuery;
qrySaleGrade: TADOQuery;
qryCustGrade: TADOQuery;
qryOrd120: TADOQuery;
cbRange: TComboBox;
adsOrd140CFNo: TIntegerField;
adsOrd140CFQtyAmt: TFloatField;
adsOrd140CFPriDis: TFloatField;
ActCheckPage1: TAction;
ActCheckPage2: TAction;
ActCheckPage3: TAction;
ActCheckPage4: TAction;
ActSetPage1: TAction;
ActSetPage2: TAction;
ActSetPage3: TAction;
ActSetPage4: TAction;
lblFinish3: TLabel;
lblFinish4: TLabel;
qryOrd150O150_001: TAutoIncField;
qryOrd150O150_002: TWideStringField;
qryOrd150O150_003: TWideStringField;
qryHrm150H150_001: TAutoIncField;
qryHrm150H150_002: TWideStringField;
qryHrm150H150_003: TWideStringField;
qryInv120I120_001: TAutoIncField;
qryInv120I120_002: TWideStringField;
qryInv120I120_003: TWideStringField;
qryCustGradeS100_001: TIntegerField;
qryCustGradeS100_002: TWideStringField;
qryCustGradeS100_003: TWideStringField;
qrySaleGradeS100_001: TIntegerField;
qrySaleGradeS100_002: TWideStringField;
qrySaleGradeS100_003: TWideStringField;
edtCustClass: TdxLookupTreeView;
dsOrd110: TDataSource;
edtRegion: TdxLookupTreeView;
dsOrd120: TDataSource;
lblFinish6: TLabel;
lblFinish5: TLabel;
lblFinish8: TLabel;
lblFinish7: TLabel;
edtItemClass: TdxLookupTreeView;
dsInv120: TDataSource;
qryInv120I120_004: TIntegerField;
dbgOrd140B: TdxDBTreeList;
adsOrd140BFParent: TIntegerField;
dbgOrd140C: TdxDBGrid;
dbgOrd140BFCode: TdxDBTreeListMaskColumn;
dbgOrd140BFName: TdxDBTreeListMaskColumn;
dbgOrd140CFQtyAmt: TdxDBGridMaskColumn;
dbgOrd140CFPriDis: TdxDBGridMaskColumn;
ToolBar1: TToolBar;
tlbInsert: TToolButton;
tlbDelete: TToolButton;
ToolButton4: TToolButton;
tlbLocate: TToolButton;
cbAmtType: TComboBox;
cbOrder: TCheckBox;
procedure FormCreate(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure ActSetPage1Execute(Sender: TObject);
procedure ActSetPage2Execute(Sender: TObject);
procedure ActSetPage3Execute(Sender: TObject);
procedure ActSetPage4Execute(Sender: TObject);
procedure ActCheckPage1Execute(Sender: TObject);
procedure ActCheckPage2Execute(Sender: TObject);
procedure ActCheckPage3Execute(Sender: TObject);
procedure ActCheckPage4Execute(Sender: TObject);
procedure sbItemIDClick(Sender: TObject);
procedure edtItemIDExit(Sender: TObject);
procedure sbCustIDClick(Sender: TObject);
procedure edtCustIDExit(Sender: TObject);
procedure sbCustGradeClick(Sender: TObject);
procedure edtCustGradeExit(Sender: TObject);
procedure sbSaleIDClick(Sender: TObject);
procedure edtSaleIDExit(Sender: TObject);
procedure sbSaleGradeClick(Sender: TObject);
procedure edtSaleGradeExit(Sender: TObject);
procedure cbItemIDClick(Sender: TObject);
procedure cbItemClassClick(Sender: TObject);
procedure cbCustIDClick(Sender: TObject);
procedure cbCustClassClick(Sender: TObject);
procedure cbCustGradeClick(Sender: TObject);
procedure cbSaleIDClick(Sender: TObject);
procedure cbSaleGradeClick(Sender: TObject);
procedure cbRegionClick(Sender: TObject);
procedure cbRangeChange(Sender: TObject);
procedure adsOrd140CNewRecord(DataSet: TDataSet);
procedure cbSumDisClick(Sender: TObject);
procedure adsOrd140BAfterScroll(DataSet: TDataSet);
procedure cbSameClick(Sender: TObject);
procedure cbTypeChange(Sender: TObject);
procedure tlbInsertClick(Sender: TObject);
procedure tlbDeleteClick(Sender: TObject);
procedure tlbLocateClick(Sender: TObject);
procedure cbOrderClick(Sender: TObject);
private
AType:array[0..3] of string;
ARange:array[0..7] of string;
ARangeList:TStringList;
AOldSeqNo:String;
{ Private declarations }
public
procedure OpenData(ACode:Integer);
procedure SetInterface; override;
procedure GetDataInfo; override;
procedure SetEmptyInit; override;
procedure InsertInit; override;
{ Public declarations }
end;
var
Ord140_02Form: TOrd140_02Form;
implementation
uses SYSDATA, CommFun, HwSelData, HwSelDataB;
{$R *.dfm}
procedure TOrd140_02Form.OpenData(ACode:Integer);
begin
if ACode=0 then AMode:='ADD' else AMode:='UPD';
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select * from ORD140A order by O140A_002');
ADOQuery1.Open;
ADOQuery1.Locate('O140A_001',ACode,[]);
ADOQuery1AfterScroll(ADOQuery1);
end;
procedure TOrd140_02Form.SetInterface;
begin
inherited;
Caption:=GetDBString('ORD14002001'); //特价设置向导
lblCode.Caption:=GetDBString('ORD14002002'); //特价编号
lblCurr.Caption:=GetDBString('ORD14002003'); //币别名称
lblName.Caption:=GetDBString('ORD14002004'); //特价名称
lblFromDate.Caption:=GetDBString('ORD14002005'); //生效日期
lblToDate.Caption:=GetDBString('ORD14002006'); //失效日期
lblType.Caption:=GetDBString('ORD14002007'); //折扣类型
lblSeqNo.Caption:=GetDBString('ORD14002008'); //顺序编号
lblRemark.Caption:=GetDBString('ORD14002009'); //备注说明
cbSumDis.Caption:=GetDBString('ORD14002010'); //总额特价
gbItem.Caption:=GetDBString('ORD14002011'); //料品
gbCust.Caption:=GetDBString('ORD14002012'); //客户
gbSale.Caption:=GetDBString('ORD14002013'); //销售员
gbRegion.Caption:=GetDBString('ORD14002014'); //地区
cbItemID.Caption:=GetDBString('ORD14002015'); //料品编号
cbItemClass.Caption:=GetDBString('ORD14002016'); //料品分类
cbCustID.Caption:=GetDBString('ORD14002017'); //客户编号
cbCustClass.Caption:=GetDBString('ORD14002018'); //客户分类
cbCustGrade.Caption:=GetDBString('ORD14002019'); //客户级别
cbSaleID.Caption:=GetDBString('ORD14002020'); //销售员号
cbSaleGrade.Caption:=GetDBString('ORD14002021'); //销售员级别
cbRegion.Caption:=GetDBString('ORD14002022'); //交货地区
lblRange.Caption:=GetDBString('ORD14002023'); //适用范围
cbSame.Caption:=GetDBString('ORD14002024'); //相同的价格或折扣率
AType[0]:=GetDBString('ORD14002025'); //基于数量的折扣率
AType[1]:=GetDBString('ORD14002026'); //基于数量的价格
AType[2]:=GetDBString('ORD14002027'); //基于金额的折扣率
AType[3]:=GetDBString('ORD14002028'); //基于金额的价格
cbType.Clear;
cbType.Items.Add(AType[0]);
cbType.Items.Add(AType[1]);
cbType.Items.Add(AType[2]);
cbType.Items.Add(AType[3]);
cbType.ItemIndex:=0;
cbCurr.Clear;
cbCurr.Items.Add(GetDBString('ORD14002029')); //所有币别
qryGld100.Close;
qryGld100.Open;
while not qryGld100.Eof do
begin
cbCurr.Items.Add(qryGld100.FieldByName('G100_003').AsString);
qryGld100.Next;
end;
cbCurr.ItemIndex:=cbCurr.Items.IndexOf(ACurrName);
ARange[0]:=GetDBString('ORD14002030'); //料品编号
ARange[1]:=GetDBString('ORD14002031'); //料品分类
ARange[2]:=GetDBString('ORD14002032'); //客户编号
ARange[3]:=GetDBString('ORD14002033'); //客户分类
ARange[4]:=GetDBString('ORD14002034'); //客户级别
ARange[5]:=GetDBString('ORD14002035'); //销售员号
ARange[6]:=GetDBString('ORD14002036'); //销售员级别
ARange[7]:=GetDBString('ORD14002037'); //交货地区
ARangeList:=TStringList.Create;
ARangeList.Add(ARange[0]);
ARangeList.Add(ARange[1]);
ARangeList.Add(ARange[2]);
ARangeList.Add(ARange[3]);
ARangeList.Add(ARange[4]);
ARangeList.Add(ARange[5]);
ARangeList.Add(ARange[6]);
ARangeList.Add(ARange[7]);
cbRange.Clear;
cbRange.Items.AddStrings(ARangeList);
cbRange.ItemIndex:=0;
qryInv150I150_002.DisplayLabel:=GetDBString('ORD14002038'); //料品编号
qryInv150I150_003.DisplayLabel:=GetDBString('ORD14002039'); //料品名称
qryInv120I120_002.DisplayLabel:=GetDBString('ORD14002040'); //分类编号
qryInv120I120_003.DisplayLabel:=GetDBString('ORD14002041'); //分类名称
qryOrd150O150_002.DisplayLabel:=GetDBString('ORD14002042'); //客户编号
qryOrd150O150_003.DisplayLabel:=GetDBString('ORD14002043'); //客户名称
qryHrm150H150_002.DisplayLabel:=GetDBString('ORD14002044'); //销售员号
qryHrm150H150_003.DisplayLabel:=GetDBString('ORD14002045'); //销售员名
qryCustGradeS100_002.DisplayLabel:=GetDBString('ORD14002046'); //级别编号
qryCustGradeS100_003.DisplayLabel:=GetDBString('ORD14002047'); //级别名称
qrySaleGradeS100_002.DisplayLabel:=qryCustGradeS100_002.DisplayLabel; //级别编号
qrySaleGradeS100_003.DisplayLabel:=qryCustGradeS100_003.DisplayLabel; //级别名称
adsOrd140BFCode.DisplayLabel:=GetDBString('ORD14002048'); //编号
adsOrd140BFName.DisplayLabel:=GetDBString('ORD14002049'); //名称
cbAmtType.Clear;
cbAmtType.Items.Add(GetDBString('ORD14002054')); //销售总额=定单行销售总额
cbAmtType.Items.Add(GetDBString('ORD14002055')); //定单总额=定单行销售总额-定单行总折扣额
cbAmtType.Items.Add(GetDBString('ORD14002056')); //折前总额=定单总额+特殊费用
cbAmtType.Items.Add(GetDBString('ORD14002057')); //折后总额=定单总额-定单总折扣额
cbAmtType.Items.Add(GetDBString('ORD14002058')); //净应收额=定单总额+特殊费用-定单总折扣额
cbAmtType.ItemIndex:=-1;
cbOrder.Caption:=GetDBString('ORD14002059'); //定单折扣
end;
procedure TOrd140_02Form.FormCreate(Sender: TObject);
begin
inherited;
APageCount:=5;
qryInv150.Open;
qryInv120.Open;
qryOrd150.Open;
qryOrd110.Open;
qryOrd120.Open;
qryCustGrade.Open;
qryHrm150.Open;
qrySaleGrade.Open;
end;
procedure TOrd140_02Form.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
inherited;
qryInv150.Close;
qryInv120.Close;
qryOrd150.Close;
qryOrd110.Close;
qryCustGrade.Close;
qryOrd120.Close;
qryHrm150.Close;
qrySaleGrade.Close;
end;
procedure TOrd140_02Form.GetDataInfo;
begin
inherited;
edtCode.Text:=ADOQuery1.FieldByName('O140A_002').AsString;
edtName.Text:=ADOQuery1.FieldByName('O140A_003').AsString;
cbType.ItemIndex:=ADOQuery1.FieldByName('O140A_004').AsInteger;
edtFromDate.Date:=ADOQuery1.FieldByName('O140A_005').Value;
edtToDate.Date:=ADOQuery1.FieldByName('O140A_006').Value;
cbCurr.ItemIndex:=0;
if qryGld100.Locate('G100_001',ADOQuery1.FieldByName('O140A_007').Value,[]) then
cbCurr.ItemIndex:=cbCurr.Items.IndexOf(qryGld100.FieldByName('G100_003').AsString);
cbSumDis.Checked:=ADOQuery1.FieldByName('O140A_008').AsBoolean;
cbSumDisClick(cbSumDis);
edtSeqNo.Text:=ADOQuery1.FieldByName('O140A_009').AsString;
memRemark.Text:=ADOQuery1.FieldByName('O140A_010').AsString;
cbAmtType.ItemIndex:=ADOQuery1.FieldByName('O140A_021').AsInteger;
cbOrder.Checked:=ADOQuery1.FieldByName('O140A_022').AsBoolean;
if qryInv150.Locate('I150_001',ADOQuery1.FieldByName('O140A_011').Value,[]) then
begin
cbItemID.Checked:=True;
edtItemID.Text:=qryInv150.FieldByName('I150_002').AsString;
edtItemName.Text:=qryInv150.FieldByName('I150_003').AsString;
end else
begin
cbItemID.Checked:=False;
edtItemID.Text:='';
edtItemName.Text:='';
end;
if qryInv120.Locate('I120_001',ADOQuery1.FieldByName('O140A_012').Value,[]) then
begin
cbItemClass.Checked:=True;
edtItemClass.Text:=qryInv120.FieldByName('I120_002').AsString;
end else
begin
cbItemClass.Checked:=False;
edtItemClass.Text:='';
end;
if qryOrd150.Locate('O150_001',ADOQuery1.FieldByName('O140A_013').Value,[]) then
begin
cbCustID.Checked:=True;
edtCustID.Text:=qryOrd150.FieldByName('O150_002').AsString;
edtCustName.Text:=qryOrd150.FieldByName('O150_003').AsString;
end else
begin
cbCustID.Checked:=False;
edtCustID.Text:='';
edtCustName.Text:='';
end;
if qryOrd110.Locate('O110_001',ADOQuery1.FieldByName('O140A_014').Value,[]) then
begin
cbCustClass.Checked:=True;
edtCustClass.Text:=qryOrd110.FieldByName('O110_002').AsString;
end else
begin
cbCustClass.Checked:=False;
edtCustClass.Text:='';
end;
if qryCustGrade.Locate('S100_001',ADOQuery1.FieldByName('O140A_015').Value,[]) then
begin
cbCustGrade.Checked:=True;
edtCustGrade.Text:=qryCustGrade.FieldByName('S100_002').AsString;
edtCustGradeName.Text:=qryCustGrade.FieldByName('S100_003').AsString;
end else
begin
cbCustGrade.Checked:=False;
edtCustGrade.Text:='';
edtCustGradeName.Text:='';
end;
if qryHrm150.Locate('H150_001',ADOQuery1.FieldByName('O140A_016').Value,[]) then
begin
cbSaleID.Checked:=True;
edtSaleID.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtSaleName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end else
begin
cbSaleID.Checked:=False;
edtSaleID.Text:='';
edtSaleName.Text:='';
end;
if qrySaleGrade.Locate('S100_001',ADOQuery1.FieldByName('O140A_017').Value,[]) then
begin
cbSaleGrade.Checked:=True;
edtSaleGrade.Text:=qrySaleGrade.FieldByName('S100_002').AsString;
edtSaleGradeName.Text:=qrySaleGrade.FieldByName('S100_003').AsString;
end else
begin
cbSaleGrade.Checked:=False;
edtSaleGrade.Text:='';
edtSaleGradeName.Text:='';
end;
if qryOrd120.Locate('O120_001',ADOQuery1.FieldByName('O140A_018').Value,[]) then
begin
cbRegion.Checked:=True;
edtRegion.Text:=qryOrd120.FieldByName('O120_002').AsString;
end else
begin
cbRegion.Checked:=False;
edtRegion.Text:='';
end;
cbSame.Checked:=ADOQuery1.FieldByName('O140A_019').AsBoolean;
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -