📄 ord410_01.pas.svn-base
字号:
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','ORD110','O110_001','O110_002','O110_003');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','ORD110','O110_001','O110_002','O110_003');
end;
ADODataSet1.GotoBookmark(ABookmark);
ADODataSet1.FreeBookmark(ABookmark);
ADODataSet1.Next;
end;
end;
procedure TOrd410_01Form.ByItem(AYear: string);
var
AValue:double;
AMonth:integer;
begin
//销售数量和销售金额统计 按销售日期
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select I150_001 as FNo,''[''+I150_002+'']''+I150_003 as FName,I150_001 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
ADOQuery1.SQL.Add('from ORD510A,ORD510B,INV150');
ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510B_003=I150_001 and year(O510A_003)='+AYear);
ADOQuery1.SQL.Add('group by I150_001,''[''+I150_002+'']''+I150_003,I150_001,month(O510A_003)');
ADOQuery1.SQL.Add('order by ''[''+I150_002+'']''+I150_003');
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').AsString+']'+ADOQuery1.FieldByName('FName').AsString;
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.ByItemClass(AYear:string); //按産品類別
var
ABookmark:TBookmark;
AMonth,AParentNo:Integer;
AValue:double;
begin
//销售数量和销售金额统计 按销售日期
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select I120_001 as FNo,''[''+I120_002+'']''+I120_003 as FName,I120_004 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
ADOQuery1.SQL.Add('from ORD510A,ORD510B,INV150,INV120');
ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510B_003=I150_001 and I150_005=I120_001 and year(O510A_003)='+AYear);
ADOQuery1.SQL.Add('group by I120_001,''[''+I120_002+'']''+I120_003,I120_004,month(O510A_003)');
ADOQuery1.SQL.Add('order by ''[''+I120_002+'']''+I120_003');
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').AsString+']'+ADOQuery1.FieldByName('FName').AsString;
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','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty2').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty2','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty3').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty3','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty4').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty4','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty5').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty5','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty6').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty6','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty7').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty7','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty8').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty8','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty9').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty9','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty10').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty10','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty11').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty11','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FQty12').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FQty12','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FTotal').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FTotal','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount1').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount1','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount2').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount2','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount3').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount3','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount4').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount4','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount5').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount5','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount6').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount6','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount7').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount7','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount8').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount8','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount9').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount9','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount10').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount10','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount11').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount11','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FAmount12').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FAmount12','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
ADODataSet1.GotoBookmark(ABookmark);
AValue:=ADODataSet1.FieldByName('FFinish').AsInteger;
UpdateParent(AParentNo,AValue,ADODataSet1,'FFinish','INV120','I120_001','''[''+I120_002+'']''+I120_003','I120_004');
end;
ADODataSet1.GotoBookmark(ABookmark);
ADODataSet1.FreeBookmark(ABookmark);
ADODataSet1.Next;
end;
end;
procedure TOrd410_01Form.BySeller(AYear: string);
var
AValue:double;
AMonth:integer;
begin
//销售数量和销售金额统计 按销售日期
ADOQuery1.Close;
ADOQuery1.SQL.Clear;
ADOQuery1.SQL.Add('select H150_001 as FNo,''[''+H150_002+'']''+H150_003 as FName,H150_001 as FParent,sum(O510B_005) as FQty,sum(O510B_013) as FAmount,month(O510A_003) as FMonth');
ADOQuery1.SQL.Add('from ORD510A,ORD510B,HRM150');
ADOQuery1.SQL.Add('where O510A_001=O510B_001 and O510A_005=H150_001 and year(O510A_003)='+AYear);
ADOQuery1.SQL.Add('group by H150_001,''[''+H150_002+'']''+H150_003,H150_001,month(O510A_003)');
ADOQuery1.SQL.Add('order by ''[''+H150_002+'']''+H150_003');
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);
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -