📄 ord410_01.pas.svn-base
字号:
ADODataSet1.Post;
ANum[AMonth]:=ANum[AMonth]+AValue;
end else
begin
ADODataSet1.Append;
ADODataSet1.FieldByName('FNo').Value:=ADOQuery1.FieldByName('FNo').Value;
ADODataSet1.FieldByName('FName').Value:='['+ADOQuery1.FieldByName('FNo').Value+']'+ADOQuery1.FieldByName('FName').Value;
ADODataSet1.FieldByName('FParent').Value:=ADOQuery1.FieldByName('FParent').Value;
AValue:=ADOQuery1.FieldByName('FQty').AsInteger;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,1);
ADODataSet1.Post;
ADODataSet1.Edit;
AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,2);
ADODataSet1.Post;
ANum[AMonth]:=ANum[AMonth]+AValue;
end;
ADOQuery1.Next;
end;
end;
procedure TOrd410_01Form.ByArea(AYear: string);
var
ABookmark:TBookmark;
AMonth,AParentNo:Integer;
AValue:Double;
begin
//销售数量和销售金额统计 按销售日期
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select O120_001 as FNo,O120_002 as FName,O120_003 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
ADOQuery1.SQL.Add('from ORD510A,ORD510B,ORD150,ORD120');
ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510A_017=O150_001 and O150_011=O120_001 and year(O510A_003)='+AYear);
ADOQuery1.SQL.Add('group by O120_001,O120_002,O120_003,month(O510A_003)');
ADOQuery1.SQL.Add('order by O120_001');
ADOQuery1.Open;
while not ADOQuery1.Eof do
begin
if ADODataSet1.Locate('FNo',ADOQuery1.FieldByName('FNo').Value,[]) then
begin
ADODataSet1.Edit;
AValue:=ADOQuery1.FieldByName('FQty').AsFloat;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,1);
ADODataSet1.Post;
ADODataSet1.Edit;
AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,2);
ADODataSet1.Post;
ANum[AMonth]:=ANum[AMonth]+AValue;
end else
begin
ADODataSet1.Append;
ADODataSet1.FieldByName('FNo').Value:=ADOQuery1.FieldByName('FNo').Value;
ADODataSet1.FieldByName('FName').Value:='['+ADOQuery1.FieldByName('FNo').Value+']'+ADOQuery1.FieldByName('FName').Value;
ADODataSet1.FieldByName('FParent').Value:=ADOQuery1.FieldByName('FParent').Value;
AValue:=ADOQuery1.FieldByName('FQty').AsInteger;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,1);
ADODataSet1.Post;
ADODataSet1.Edit;
AValue:=ADOQuery1.FieldByName('FAmount').AsFloat;
AMonth:=ADOQuery1.FieldByName('FMonth').AsInteger;
SetFieldValue(AMonth,AValue,2);
ADODataSet1.Post;
ANum[AMonth]:=ANum[AMonth]+AValue;
end;
ADOQuery1.Next;
end;
//累加數量到上級類別
ADODataSet1.First;
while not ADODataSet1.Eof do
begin
ABookmark:=ADODataSet1.GetBookmark;
AParentNo:=ADODataSet1.FieldByName('FParent').AsInteger;
if AParentNo<>0 then
begin
AValue:=ADODataSet1.FieldByName('FQty1').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty1','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty2').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty2','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty3').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty3','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty4').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty4','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty5').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty5','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty6').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty6','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty7').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty7','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty8').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty8','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty9').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty9','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty10').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty10','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty11').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty11','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty12').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty12','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FTotal').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FTotal','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount1').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount1','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount2').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount2','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount3').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount3','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount4').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount4','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount5').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount5','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount6').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount6','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','ORD120','O120_001','O120_002','O120_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','ORD120','O120_001','O120_002','O120_003');
end;
ADODataSet1.GotoBookmark(ABookmark);
ADODataSet1.FreeBookmark(ABookmark);
ADODataSet1.Next;
end;
end;
procedure TOrd410_01Form.sbSearchClick(Sender: TObject);
begin
inherited;
//查询
ANum[1]:=0; ANum[2]:=0; ANum[3]:=0; ANum[4]:=0; ANum[5]:=0;
ANum[6]:=0; ANum[7]:=0; ANum[8]:=0; ANum[9]:=0; ANum[10]:=0;
ANum[11]:=0; ANum[12]:=0; ANum[13]:=0;
AAmount[1]:=0; AAmount[2]:=0; AAmount[3]:=0; AAmount[4]:=0; AAmount[5]:=0;
AAmount[6]:=0; AAmount[7]:=0; AAmount[8]:=0; AAmount[9]:=0; AAmount[10]:=0;
AAmount[11]:=0; AAmount[12]:=0; AAmount[13]:=0;
Screen.Cursor:=crHourGlass;
if Assigned(SYSDM.wwFilterDialog1.Form) then SYSDM.wwFilterDialog1.ClearFilter;
ADODataSet1.DisableControls;
ADODataSet1.Close;
ADODataSet1.CreateDataSet;
case cbType.ItemIndex of
0:ByCustomer(cbYear.Text); //按客户
1:ByCustomerClass(cbYear.Text); //按客户类别
2:ByItem(cbYear.Text); //按产品
3:ByItemClass(cbYear.Text); //按产品类别
4:BySeller(cbYear.Text); //按销售员
5:ByArea(cbYear.Text); //按地区
end;
ADODataSet1.EnableControls;
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
ADOQuery1.SQL.Add(' from ORD510A,ORD510B where year(O510A_003)='+cbYear.Text);
ADOQuery1.SQL.Add(' group by month(O510A_003)');
ADOQuery1.Open;
Screen.Cursor:=crDefault;
end;
procedure TOrd410_01Form.ActOpenExecute(Sender: TObject);
begin
inherited;
//查看
end;
procedure TOrd410_01Form.ReportGetValue(const ParName: String; var ParValue: Variant);
begin
inherited;
end;
procedure TOrd410_01Form.ActPrintExecute(Sender: TObject);
var
AfrReport:TfrReport;
begin
AfrReport:=TfrReport.Create(nil);
try
PreparedReport(ADODataSet1,AReportName,AfrReport);
SYSDM.frDBDataSet1.DataSet:=ADODataSet1;
ADODataSet1.DisableControls;
SYSDM.frReport2.OnGetValue:=ReportGetValue;
SYSDM.frReport2.ShowPreparedReport;
SYSDM.frReport2.ShowReport;
ADODataSet1.EnableControls;
finally
ADODataSet1.EnableControls;
SYSDM.frReport2.Clear;
end;
end;
procedure TOrd410_01Form.RefreshEvent;
begin
inherited;
sbSearch.Click;
end;
initialization
RegisterClass(TOrd410_01Form);
finalization
UnRegisterClass(TOrd410_01Form);
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -