📄 acr500_02.pas.svn-base
字号:
procedure TAcr500_02Form.DeleteEvent;
var
ACode:String;
begin
inherited;
ACode:=ADOQuery1.FieldByName('A500A_001').AsString;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from ACR500B where A500B_001='+''''+ACode+'''');
SYSDM.qryQuery.open;
SYSDM.qryQuery.First;
while not SYSDM.qryQuery.Eof do
begin
UpdateORD510B(ACode,'DEL');
SYSDM.qryQuery.Next;
end;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete from ACR500B where A500B_001='+''''+ACode+'''');
SYSDM.qryQuery.ExecSQL;
DeleteTableRecord(ADOQuery1,'ACR500A','A500A_001='+''''+ACode+'''');
end;
procedure TAcr500_02Form.GetDataInfo;
var
ACustNo:integer;
begin
inherited;
//取得界面信息
edtCode.Text:=ADOQuery1.fieldByName('A500A_001').AsString;
edtDate.Date:=ADOQuery1.fieldByName('A500A_002').AsDateTime;
edtPerson.Text:=ADOQuery1.fieldByName('H150_002').AsString;
edtPersonName.Text:=ADOQuery1.fieldByName('H150_003').AsString;
memRemark.Text:=ADOQuery1.fieldByName('A500A_006').AsString;
//币别编号
qryGld100.Locate('G100_001',ADOQuery1.FieldByName('A500A_011').Value,[]);
cbCurr.ItemIndex:=cbCurr.Items.IndexOf(qryGld100.FieldByName('G100_003').AsString);
edtRate.Text:=ADOQuery1.FieldByName('A500A_012').AsString; //币别汇率
//明细表的内容
GetDetailData;
ACustNo:=ADOQuery1.FieldByName('A500A_005').Value;
qryOrd150.Locate('O150_001',ACustNo,[]); //客户编号
GetCustPlaceInfo;
edtCreateDate.Text:=ADOQuery1.fieldByName('A500A_007').AsString;
edtCreateBy.Text:=ADOQuery1.fieldByName('A500A_008').AsString;
edtUpdateDate.Text:=ADOQuery1.fieldByName('A500A_009').AsString;
edtUpdateBy.Text:=ADOQuery1.fieldByName('A500A_010').AsString;
end;
procedure TAcr500_02Form.InsertEvent;
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtCode.Text:='';
edtPerson.Text:='';
edtPersonName.Text:='';
memRemark.Text:='';
edtRate.Text:='';
edtCust.Text:='';
edtCustName.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtContact.Text:='';
adsAcr500B.Close;
adsAcr500B.CreateDataSet;
edtDate.Date:=ADate;
edtCreateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
edtCreateBy.Text:=AUserName;
edtUpdateDate.Text:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate);
edtUpdateBy.Text:=AUserName;
end;
procedure TAcr500_02Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
inherited;
end;
procedure TAcr500_02Form.SetEmptyInit;
begin
inherited;
//取得界面信息
edtCode.Text:='';
edtDate.Date:=GetServerDate;
edtPerson.Text:='';
edtPersonName.Text:='';
memRemark.Text:='';
edtRate.Text:='';
edtCust.Text:=''; //客户编号
edtCustName.Text:='';
edtPhone.Text:=''; //电话号码
edtAddress.Text:=''; //客户地址
edtContact.Text:='';
adsAcr500B.Close;
adsAcr500B.CreateDataSet;
edtCreateDate.Text:='';
edtCreateBy.Text:='';
edtUpdateDate.Text:='';
edtUpdateBy.Text:='';
cbCurr.ItemIndex:=-1;
edtRate.Text:='1';
end;
procedure TAcr500_02Form.TableAfterPost;
begin
inherited;
//保存的信息可以留下来..
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('delete * from ACR500B where A500B_001='+''''+edtCode.Text+'''');
SYSDM.qryQuery.ExecSQL;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from ACR500B where A500B_001='+''''+edtCode.Text+''''+' order by A500B_002');
SYSDM.qryQuery.Open;
if adsAcr500B.State in [dsInsert,dsEdit] then adsAcr500B.Post;
adsAcr500B.First;
while not adsAcr500B.Eof do
begin
SYSDM.qryQuery.Append;
SYSDM.qryQuery.FieldByName('A500B_001').Value:=edtCode.Text; //折扣单号
SYSDM.qryQuery.FieldByName('A500B_002').Value:=adsAcr500B.FieldByName('FNo').Value; //单据行号
SYSDM.qryQuery.FieldByName('A500B_003').Value:=adsAcr500B.FieldByName('FOrder').Value; //销售单号
SYSDM.qryQuery.FieldByName('A500B_004').Value:=adsAcr500B.FieldByName('FLineNo').Value; //销售单行
SYSDM.qryQuery.FieldByName('A500B_005').Value:=adsAcr500B.FieldByName('FQty').Value; //折扣数量
SYSDM.qryQuery.FieldByName('A500B_006').Value:=adsAcr500B.FieldByName('FRate').Value; //折扣比率
SYSDM.qryQuery.FieldByName('A500B_007').Value:=adsAcr500B.FieldByName('FAmount').Value; //折扣金额
SYSDM.qryQuery.FieldByName('A500B_008').Value:=adsAcr500B.FieldByName('FRemark').Value; //备注说明
SYSDM.qryQuery.FieldByName('A500B_009').Value:=cbDisType.ItemIndex; //折扣类型
SYSDM.qryQuery.Post;
UpdateORD510B(SYSDM.qryQuery.FieldByName('A500B_003').Value,'ADD');
adsAcr500B.Next;
end;
end;
procedure TAcr500_02Form.TableBeforePost;
var
ADate:TDateTime;
ADisAmount:Double;
begin
inherited;
//判断输入的有效性
if not qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
begin
ShowMsg('UMS10000650'); //折扣人员无效,请重新输入
edtPerson.SetFocus;
Abort;
end;
if AMode='UPD' then
begin
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select * from ACR500B where A500B_001='+''''+edtCode.Text+'''');
SYSDM.qryQuery.open;
SYSDM.qryQuery.First;
while not SYSDM.qryQuery.Eof do
begin
UpdateORD510B(SYSDM.qryQuery.FieldByName('A500B_003').Value,'DEL');
SYSDM.qryQuery.Next;
end;
end;
ADisAmount:=StrToFloatA(wwDBGrid1.ColumnByName('FAmount').FooterValue);
//更新主表信息
if adsAcr500B.State in [dsInsert,dsEdit] then adsAcr500B.Post;
qryAcr500B.Close;
qryAcr500B.SQL.Clear;
qryAcr500B.SQL.Add('delete from ACR500B where A500B_001='+''''+edtCode.Text+'''');
qryAcr500B.ExecSQL;
if AMode='ADD' then
begin
ADOQuery1.Append;
ADOQuery1.FieldByName('A500A_007').AsString:=edtCreateBy.Text; //制单人员
ADOQuery1.FieldByName('A500A_008').AsString:=edtCreateDate.Text; //制单日期
ADOQuery1.FieldByName('A500A_009').AsString:=edtUpdateBy.Text; //修改人员
ADOQuery1.FieldByName('A500A_010').AsString:=edtUpdateDate.Text; //修改日期
end else
begin
ADate:=GetServerDate;
ADOQuery1.Edit;
ADOQuery1.FieldByName('A500A_009').AsString:=edtUpdateBy.Text; //修改人员
ADOQuery1.FieldByName('A500A_010').AsString:=FormatDateTime('yyyy-mm-dd hh:mm:ss',ADate); //修改日期
end;
ADOQuery1.FieldByName('A500A_002').Value:=edtDate.Date; // 折扣日期
if qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
begin
ADOQuery1.FieldByName('A500A_003').Value:=qryHrm150.FieldByName('H150_001').AsInteger;
end;
ADOQuery1.FieldByName('A500A_004').Value:=ADisAmount; // 折扣金额
ADOQuery1.FieldByName('A500A_006').Value:=memRemark.Text; // 备注说明
ADOQuery1.FieldByName('A500A_005').Value:=qryOrd150.FieldByName('O150_001').Value; //客户编号
ADOQuery1.FieldByName('A500A_011').Value:=qryGld100.FieldByName('G100_001').Value; //币别编号
ADOQuery1.FieldByName('A500A_012').AsString:=edtRate.Text; //币别汇率
end;
procedure TAcr500_02Form.UpdateEvent;
begin
inherited;
SetDBGridA;
end;
procedure TAcr500_02Form.sbPersonClick(Sender: TObject);
begin
inherited;
//销售人员查询
if not edtPerson.Focused then edtPerson.SetFocus;
HwSelDataForm:=THwSelDataForm.Create(Application);
HwSelDataForm.OpenSelData(qryHrm150,nil);
if HwSelDataForm.ShowModal=1 then
begin
edtPerson.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtPersonName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end;
end;
procedure TAcr500_02Form.edtPersonExit(Sender: TObject);
begin
inherited;
//折扣人员
if trim(edtPerson.Text)='' then Exit;
if qryHrm150.Locate('H150_002',edtPerson.Text,[]) then
begin
edtPerson.Text:=qryHrm150.FieldByName('H150_002').AsString;
edtPersonName.Text:=qryHrm150.FieldByName('H150_003').AsString;
end else
begin
ShowMsg('UMS10000652'); //输入的折扣人员无效,请重新输入
edtPerson.Text:='';
edtPersonName.Text:='';
edtPerson.SetFocus;
Abort;
end;
end;
procedure TAcr500_02Form.GetOrderInfo;
begin
//取得明细信息
AddDetailData;
end;
procedure TAcr500_02Form.GetDetailData;
var
ARate:double;
ACode:string;
begin
ALastNo:=0;
adsAcr500B.DisableControls;
adsAcr500B.Close;
adsAcr500B.CreateDataSet;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select O510A_013 from Ord510A where O510A_001='+''''+ACode+'''');
SYSDM.qryQuery.Open;
ARate:=SYSDM.qryQuery.FieldByName('O510A_013').Value;
qryAcr500B.Close;
qryAcr500B.SQL.Clear;
qryAcr500B.SQL.Add('select A.*,B.O510B_002,B.O510B_003,B.O510B_004,B.O510B_005,B.O510B_006,B.O510B_007,B.O510B_025');
qryAcr500B.SQL.Add(' from ACR500B A,ORD510B B');
qryAcr500B.SQL.Add(' where A.A500B_003=B.O510B_001 and A.A500B_004=B.O510B_002 and A.A500B_001='+''''+edtCode.Text+'''');
qryAcr500B.SQL.Add(' order by A500B_002');
qryAcr500B.Open;
while not qryAcr500B.Eof do
begin
adsAcr500B.Append;
adsAcr500B.FieldByName('FItemID').Value:=qryAcr500B.FieldByName('I150_002').Value; //产品编号
adsAcr500B.FieldByName('FItemName').Value:=qryAcr500B.FieldByName('I150_003').Value; //产品名称
adsAcr500B.FieldByName('FItemSpec').Value:=qryAcr500B.FieldByName('I150_004').Value; //规格型号
adsAcr500B.FieldByName('FUnitName').Value:=qryAcr500B.FieldByName('I140_003').Value; //单位名称
adsAcr500B.FieldByName('FOrderQty').Value:=qryAcr500B.FieldByName('O510B_005').Value; //销售数量
adsAcr500B.FieldByName('FOrderAmount').Value:=qryAcr500B.FieldByName('O510B_007').Value*(1-ARate); //销售金额
adsAcr500B.FieldByName('FOrderPrice').Value:=adsAcr500B.FieldByName('FOrderAmount').Value/adsAcr500B.FieldByName('FOrderQty').Value; //销售单价
adsAcr500B.FieldByName('FQty').Value:=qryAcr500B.FieldByName('A500B_005').Value; //折扣数量
adsAcr500B.FieldByName('FRate').Value:=qryAcr500B.FieldByName('A500B_006').Value; //折扣比率
adsAcr500B.FieldByName('FAmount').Value:=qryAcr500B.FieldByName('A500B_007').Value; //折扣金额
adsAcr500B.FieldByName('FDisAmt').Value:=qryAcr500B.FieldByName('O510B_025').Value; //已折扣额
adsAcr500B.FieldByName('FAcrQty').Value:=adsAcr500B.FieldByName('FOrderQty').Value-adsAcr500B.FieldByName('FQty').Value; //应收数量
adsAcr500B.FieldByName('FAcrAmt').Value:=adsAcr500B.FieldByName('FOrderAmount').Value-adsAcr500B.FieldByName('FAmount').Value; //应收金额
adsAcr500B.FieldByName('FRemark').Value:=qryAcr500B.FieldByName('A500B_008').Value; //备注说明
adsAcr500B.FieldByName('FItemNo').Value:=qryAcr500B.FieldByName('O510B_003').Value; //料品编号
adsAcr500B.FieldByName('FOrder').Value:=qryAcr500B.FieldByName('A500B_003').Value; //来源单号
adsAcr500B.FieldByName('FLineNo').Value:=qryAcr500B.FieldByName('A500B_002').Value; //来源行号
cbDisType.ItemIndex:=qryAcr500B.FieldByName('A500B_009').Value; //折扣类型
adsAcr500B.FieldByName('FDisType').Value:=cbDisType.Value; //折扣类型
adsAcr500B.Post;
ALastNo:=qryAcr500B.FieldByName('A500B_002').AsInteger;
qryAcr500B.Next;
end;
adsAcr500B.EnableControls;
AIsChanged:=True;
wwDBGrid1UpdateFooter(wwDBGrid1);
SetDBGridA;
end;
//添加销售折扣的明细
procedure TAcr500_02Form.AddDetailData;
var
ARate:double;
ACode:string;
begin
ALastNo:=0;
qryOrd510B.DisableControls;
adsAcr500B.Close;
adsAcr500B.CreateDataSet;
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('select O510A_013 from Ord510A where O510A_001='+''''+ACode+'''');
SYSDM.qryQuery.Open;
ARate:=SYSDM.qryQuery.FieldByName('O510A_013').Value;
qryOrd510B.Close;
qryOrd510B.SQL.Clear;
qryOrd510B.SQL.Add('select O510B_001,B.O510B_002,B.O510B_003,B.O510B_004,B.O510B_005,B.O510B_006,B.O510B_013,B.O510B_025');
qryOrd510B.SQL.Add(' from ORD510B B');
qryOrd510B.SQL.Add(' where B.O510B_001='+''''+ACode+'''');
qryOrd510B.SQL.Add(' order by O510B_002');
qryOrd510B.Open;
while not qryOrd510B.Eof do
begin
adsAcr500B.Append;
adsAcr500B.FieldByName('FItemID').Value:=qryOrd510B.FieldByName('I150_002').Value; //产品编号
adsAcr500B.FieldByName('FItemName').Value:=qryOrd510B.FieldByName('I150_003').Value; //产品名称
adsAcr500B.FieldByName('FItemSpec').Value:=qryOrd510B.FieldByName('I150_004').Value; //规格型号
adsAcr500B.FieldByName('FUnitName').Value:=qryOrd510B.FieldByName('I140_003').Value; //单位名称
adsAcr500B.FieldByName('FOrderQty').Value:=qryOrd510B.FieldByName('O510B_005').Value; //销售数量
adsAcr500B.FieldByName('FOrderAmount').Value:=qryOrd510B.FieldByName('O510B_013').Value*(1-ARate); //销售金额
adsAcr500B.FieldByName('FOrderPrice').Value:=adsAcr500B.FieldByName('FOrderAmount').Value/adsAcr500B.FieldByName('FOrderQty').Value; //销售单价
adsAcr500B.FieldByName('FDisAmt').Value:=qryOrd510B.FieldByName('O510B_025').Value; //已折扣额
// 需要计算
adsAcr500B.FieldByName('FAcrQty').Value:=adsAcr500B.FieldByName('FOrderQty').Value-adsAcr500B.FieldByName('FQty').Value; //应收数量
adsAcr500B.FieldByName('FAcrAmt').Value:=adsAcr500B.FieldByName('FOrderAmount').Value-adsAcr500B.FieldByName('FAmount').Value; //应收金额
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -