📄 ord510_02.pas.svn-base
字号:
edtMaker.Text:=qryOrd153.FieldByName('O150_002').AsString;
edtMakerName.Text:=qryOrd153.FieldByName('O150_003').AsString;
end else
begin
edtItemID.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
end;
AOldCustNo:=ADOQuery1.FieldByName('O510A_017').AsInteger;
GetDetailData;
wwDBGrid1UpdateFooter(wwDBGrid1);
end;
procedure TOrd510_02Form.InsertEvent;
var
ADate:TDateTime;
begin
inherited;
ADate:=GetServerDate;
edtCode.Text:='';
cbType.ItemIndex:=0;
qryOrd100.Locate('O100_002',cbType.Text,[]);
edtDate.Date:=ADate;
edtStatus.Text:=AStatus[0];
APersonNo:=0;
APersonID:='';
APersonName:='';
edtPerson.Text:='';
cbPick.ItemIndex:=0;
//币别=本位币
qryGld100.Locate('G100_003',ACurrName,[]);
cbCurr.ItemIndex:=cbCurr.Items.IndexOf(ACurrName);
edtRate.Text:='1';
cbPayment.ItemIndex:=0;
qryGld110.Locate('G110_002',cbPayment.Text,[]);
edtAmount.Text:='0.00';
edtDisRate.Text:='0.00';
edtDiscount.Text:='0.00';
edtSumCharge.Text:='0.00';
edtNetAmt.Text:='0.00';
edtCust.Text:='';
edtCustName.Text:='';
edtCust.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtFax.Text:='';
edtContact.Text:='';
edtDept.Text:='';
edtPosit.Text:='';
edtPlace.Text:='';
edtRegion.Text:='';
edtPlacePhone.Text:='';
edtPlaceAddress.Text:='';
edtPlaceFax.Text:='';
edtPlaceContact.Text:='';
edtPlaceDept.Text:='';
edtPlacePosit.Text:='';
memTerm.Text:='';
memRemark.Text:='';
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;
edtItemID.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
edtCOrder.Text:='';
ALastNo:=0;
PageControl1.ActivePageIndex:=0;
PageControl2.ActivePageIndex:=0;
adsOrd510B.Close;
adsOrd510B.CreateDataSet;
adsOrd510.Close;
adsOrd510.CreateDataSet;
SetDBGridA;
SetDBGridB;
end;
procedure TOrd510_02Form.ReportGetValue(const ParName: String;
var ParValue: Variant);
begin
if ParName='I150_002' then ParValue:= qryOrd153.fieldByName('I150_002').Value //产品编号
else if ParName='O153_003' then ParValue:= qryOrd153.fieldByName('O153_003').Value //机身编号
else if ParName='I150_003' then ParValue:= qryOrd153.fieldByName('I150_003').Value //产品名称
else if ParName='I150_004' then ParValue:= qryOrd153.fieldByName('I150_004').Value //规格型号
else if ParName='I120_003' then ParValue:= qryOrd153.fieldByName('I120_003').Value //产品类别
else if ParName='O150_002' then ParValue:= qryOrd153.fieldByName('O150_002').Value //制造商号
else if ParName='O150_003' then ParValue:= qryOrd153.fieldByName('O150_003').Value //制造商名
else if ParName='I150_001' then ParValue:= qryOrd153.fieldByName('I150_001').Value //
else if ParName='PlaceContact' then ParValue:=edtPlaceContact.Text
else if ParName='PlaceDept' then ParValue:=edtPlaceDept.Text
else if ParName='PlacePhone' then ParValue:=edtPlacePhone.Text
else if ParName='PlaceFax' then ParValue:=edtPlaceFax.Text
else if ParName='PlacePosit' then ParValue:=edtPlacePosit.Text
else if ParName='PlaceDept' then ParValue:=edtPlaceDept.Text;
inherited;
end;
procedure TOrd510_02Form.SetEmptyInit;
begin
inherited;
edtCode.Text:='';
cbType.ItemIndex:=0;
qryOrd100.Locate('O100_002',cbType.Text,[]);
edtDate.Date:=GetServerDate;
edtStatus.Text:=AStatus[0];
APersonNo:=0;
APersonID:='';
APersonName:='';
edtPerson.Text:='';
cbPick.ItemIndex:=0;
cbCurr.ItemIndex:=-1;
edtRate.Text:='1';
cbPayment.ItemIndex:=0;
qryGld110.Locate('G110_001',cbPayment.Text,[]);
cbFrom.ItemIndex:=0;
edtAmount.Text:='0.00';
edtDisRate.Text:='0.00';
edtDiscount.Text:='0.00';
edtSumCharge.Text:='0.00';
edtNetAmt.Text:='0.00';
edtCust.Text:='';
edtCustName.Text:='';
edtCust.Text:='';
edtPhone.Text:='';
edtAddress.Text:='';
edtFax.Text:='';
edtContact.Text:='';
edtDept.Text:='';
edtPosit.Text:='';
edtPlace.Text:='';
edtRegion.Text:='';
edtPlacePhone.Text:='';
edtPlaceAddress.Text:='';
edtPlaceFax.Text:='';
edtPlaceContact.Text:='';
edtPlaceDept.Text:='';
edtPlacePosit.Text:='';
memTerm.Text:='';
memRemark.Text:='';
edtCreateDate.Text:='';
edtCreateBy.Text:='';
edtUpdateDate.Text:='';
edtUpdateBy.Text:='';
edtItemID.Text:='';
edtItemName.Text:='';
edtMacNo.Text:='';
edtModel.Text:='';
edtItemClass.Text:='';
edtMaker.Text:='';
edtMakerName.Text:='';
edtCOrder.Text:='';
ALastNo:=0;
PageControl1.ActivePageIndex:=0;
PageControl2.ActivePageIndex:=0;
adsOrd510B.Close;
adsOrd510B.CreateDataSet;
adsOrd510.Close;
adsOrd510.CreateDataSet;
SetDBGridA;
SetDBGridB;
end;
procedure TOrd510_02Form.TableAfterPost;
begin
inherited;
qryOrd510B.Close;
qryOrd510B.SQL.Clear;
qryOrd510B.SQL.Add('select * from ORD510B where O510B_001='+''''+edtCode.Text+''''+' order by O510B_001,O510B_002');
qryOrd510B.Open;
if adsOrd510B.State in [dsInsert,dsEdit] then adsOrd510B.Post;
adsOrd510B.First;
while not adsOrd510B.Eof do
begin
qryOrd510B.Append;
qryOrd510B.FieldByName('O510B_001').Value:=edtCode.Text;
qryOrd510B.FieldByName('O510B_002').Value:=adsOrd510B.FieldByName('FNo').Value;
qryOrd510B.FieldByName('O510B_003').Value:=adsOrd510B.FieldByName('FItemNo').Value;
qryOrd510B.FieldByName('O510B_004').Value:=adsOrd510B.FieldByName('FUnitNo').Value;
qryOrd510B.FieldByName('O510B_005').Value:=adsOrd510B.FieldByName('FQty').Value;
qryOrd510B.FieldByName('O510B_006').Value:=adsOrd510B.FieldByName('FPrice').Value;
qryOrd510B.FieldByName('O510B_007').Value:=adsOrd510B.FieldByName('FAmount').Value;
qryOrd510B.FieldByName('O510B_008').Value:=adsOrd510B.FieldByName('FDisRate').Value;
qryOrd510B.FieldByName('O510B_009').Value:=adsOrd510B.FieldByName('FDisAmt').Value;
qryOrd510B.FieldByName('O510B_010').Value:=adsOrd510B.FieldByName('FNetAmt').Value;
qryOrd510B.FieldByName('O510B_011').Value:=adsOrd510B.FieldByName('FTax').Value;
qryOrd510B.FieldByName('O510B_012').Value:=adsOrd510B.FieldByName('FTaxAmt').Value;
qryOrd510B.FieldByName('O510B_013').Value:=adsOrd510B.FieldByName('FAcrAmt').Value;
qryOrd510B.FieldByName('O510B_014').Value:=adsOrd510B.FieldByName('FDate').Value;
qryOrd510B.FieldByName('O510B_015').Value:=adsOrd510B.FieldByName('FFactDate').Value;
if AMode='ADD' then
qryOrd510B.FieldByName('O510B_016').Value:=0
else
qryOrd510B.FieldByName('O510B_016').Value:=adsOrd510B.FieldByName('FReceQty').Value;
qryOrd510B.FieldByName('O510B_017').Value:=adsOrd510B.FieldByName('FPlace').Value;
qryOrd510B.FieldByName('O510B_018').Value:=0;
qryOrd510B.FieldByName('O510B_019').Value:=adsOrd510B.FieldByName('FFromID').Value;
qryOrd510B.FieldByName('O510B_020').Value:=adsOrd510B.FieldByName('FLineNo').Value;
qryOrd510B.FieldByName('O510B_021').Value:=adsOrd510B.FieldByName('FRemark').Value;
qryOrd510B.FieldByName('O510B_022').Value:=adsOrd510B.FieldByName('FReturn').Value;
qryOrd510B.FieldByName('O510B_023').Value:=adsOrd510B.FieldByName('FUnitRate').Value;
qryOrd510B.FieldByName('O510B_024').Value:=adsOrd510B.FieldByName('FInvoice').AsFloat;
qryOrd510B.FieldByName('O510B_025').Value:=adsOrd510B.FieldByName('FDiscount').AsFloat;
qryOrd510B.FieldByName('O510B_026').Value:=GetTotalAmt(adsOrd510B.FieldByName('FAcrAmt').Value);
qryOrd510B.FieldByName('O510B_027').Value:=adsOrd510B.FieldByName('FInAmount').AsFloat;
qryOrd510B.Post;
adsOrd510B.Next;
end;
//特殊费用
if adsOrd510.State in [dsInsert,dsEdit] then adsOrd510.Post;
adsOrd510.First;
while not adsOrd510.Eof do
begin
qryOrd510B.Append;
qryOrd510B.FieldByName('O510B_001').Value:=edtCode.Text;
qryOrd510B.FieldByName('O510B_002').Value:=adsOrd510.FieldByName('FNo').Value;
qryOrd510B.FieldByName('O510B_003').Value:=adsOrd510.FieldByName('FItemNo').Value;
qryOrd510B.FieldByName('O510B_004').Value:=adsOrd510.FieldByName('FUnitNo').Value;
qryOrd510B.FieldByName('O510B_005').Value:=adsOrd510.FieldByName('FQty').Value;
qryOrd510B.FieldByName('O510B_006').Value:=adsOrd510.FieldByName('FPrice').Value;
qryOrd510B.FieldByName('O510B_007').Value:=adsOrd510.FieldByName('FAmount').Value;
qryOrd510B.FieldByName('O510B_008').Value:=adsOrd510.FieldByName('FDisRate').Value;
qryOrd510B.FieldByName('O510B_009').Value:=adsOrd510.FieldByName('FDisAmt').Value;
qryOrd510B.FieldByName('O510B_010').Value:=adsOrd510.FieldByName('FNetAmt').Value;
qryOrd510B.FieldByName('O510B_011').Value:=adsOrd510.FieldByName('FTax').Value;
qryOrd510B.FieldByName('O510B_012').Value:=adsOrd510.FieldByName('FTaxAmt').Value;
qryOrd510B.FieldByName('O510B_013').Value:=adsOrd510.FieldByName('FAcrAmt').Value;
qryOrd510B.FieldByName('O510B_014').Value:=adsOrd510.FieldByName('FDate').Value;
qryOrd510B.FieldByName('O510B_015').Value:=adsOrd510.FieldByName('FFactDate').Value;
qryOrd510B.FieldByName('O510B_016').Value:=adsOrd510.FieldByName('FReceQty').Value;
qryOrd510B.FieldByName('O510B_017').Value:=adsOrd510.FieldByName('FPlace').Value;
qryOrd510B.FieldByName('O510B_018').Value:=2;
qryOrd510B.FieldByName('O510B_019').Value:=adsOrd510.FieldByName('FFromID').Value;
qryOrd510B.FieldByName('O510B_020').Value:=adsOrd510.FieldByName('FLineNo').Value;
qryOrd510B.FieldByName('O510B_021').Value:=adsOrd510.FieldByName('FRemark').Value;
qryOrd510B.FieldByName('O510B_022').Value:=adsOrd510.FieldByName('FReturn').Value;
qryOrd510B.FieldByName('O510B_023').Value:=adsOrd510.FieldByName('FUnitRate').Value;
qryOrd510B.FieldByName('O510B_024').Value:=adsOrd510.FieldByName('FInvoice').AsFloat;
qryOrd510B.FieldByName('O510B_025').Value:=adsOrd510.FieldByName('FDiscount').AsFloat;
qryOrd510B.FieldByName('O510B_026').Value:=adsOrd510.FieldByName('FAcrAmt').Value;
qryOrd510B.FieldByName('O510B_027').Value:=adsOrd510.FieldByName('FInAmount').AsFloat;
qryOrd510B.Post;
adsOrd510.Next;
end;
//反写报价单状态为完成
SYSDM.qryQuery.Close;
SYSDM.qryQuery.SQL.Clear;
SYSDM.qryQuery.SQL.Add('update ORD500A set O500A_004=3 where exists(select 1 from ORD510B where O510B_019=O500A_001 and O510B_001='+''''+edtCode.Text+''''+')');
SYSDM.qryQuery.ExecSQL;
end;
procedure TOrd510_02Form.TableBeforePost;
var
ADate:TDateTime;
ACustNo,ACurrNo,APayment,AItemNo:Integer;
begin
inherited;
if trim(cbType.Text)='' then
begin
ShowMsg('UMS10000552'); //销售类型不能为空
cbType.SetFocus;
Abort;
end;
qryOrd100.Locate('O100_002',cbType.Text,[]);
if trim(edtDate.Text)='' then
begin
ShowMsg('UMS10000553'); //销售日期不能为空
edtDate.SetFocus;
Abort;
end;
if not qryGld100.Locate('G100_003',cbCurr.Text,[]) then
begin
ShowMsg('UMS10000412'); //输入的币别编号无效
cbCurr.SetFocus;
Abort;
end;
ACurrNo:=qryGld100.FieldByName('G100_001').AsInteger;
if not qryGld110.Locate('G110_002',cbPayment.Text,[]) then
begin
ShowMsg('UMS10000528'); //无效的付款方式
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -