📄 hwseldataa.pas.svn-base
字号:
FCurrNo:=ACurrNO;
FDirection:=ADirection;
ABusy:=True;
GetAllWHS;
GetAllClass;
GetItems(FType,FWhsNo,FCustNo,FTypeNo,FCountCode,FCurrNo,FDirection);
ABusy:=False;
end;
procedure THwSelDataAForm.SetInterface;
begin
Caption:=GetDBString('COM00008001'); //料品选择
pnlWhs.Caption:=GetDBString('COM00008002'); //仓库资料
pnlWhs.Caption:=GetDBString('COM00008003'); //料品类别
bbtnFind.Caption:=GetDBString('COM00008004'); //查找(&F)
bbtnSearch.Caption:=GetDBString('COM00008005'); //查询(&S)
bbtnRefresh.Caption:=GetDBString('COM00008006'); //刷新(&R)
bbtnSelAll.Caption:=GetDBString('COM00008007'); //全部选择(&A)
bbtnUnSel.Caption:=GetDBString('COM00008008'); //全部不选(&U)
bbtnOk.Caption:=GetDBString('COM00008009'); //确定(&O)
bbtnExit.Caption:=GetDBString('COM00008010'); //退出(&X)
end;
procedure THwSelDataAForm.FormCreate(Sender: TObject);
begin
SetInterface;
end;
procedure THwSelDataAForm.FormClose(Sender: TObject;
var Action: TCloseAction);
begin
//
end;
procedure THwSelDataAForm.bbtnFindClick(Sender: TObject);
begin
//查找
if adsInv150.IsEmpty then
begin
ShowMsg('UMS10000002'); //表记录为空,操作无效
Abort;
end;
LocateDialog(dsInv150);
end;
procedure THwSelDataAForm.bbtnSearchClick(Sender: TObject);
begin
//查询
FilterDialog(dsInv150);
end;
procedure THwSelDataAForm.bbtnRefreshClick(Sender: TObject);
begin
//刷新
GetItems(FType,FWhsNo,FCustNo,FTypeNo,FCountCode);
end;
procedure THwSelDataAForm.bbtnOkClick(Sender: TObject);
begin
//确定
ModalResult:=mrOk;
end;
procedure THwSelDataAForm.bbtnExitClick(Sender: TObject);
begin
//退出
Close;
end;
procedure THwSelDataAForm.bbtnSelAllClick(Sender: TObject);
begin
//全部选择
adsInv150.First;
while not adsInv150.Eof do
begin
adsInv150.Edit;
adsInv150.FieldByName('FSel').Value:=-1;
adsInv150.Post;
adsInv150.Next;
end;
end;
procedure THwSelDataAForm.bbtnUnSelClick(Sender: TObject);
begin
//全部不选
adsInv150.First;
while not adsInv150.Eof do
begin
adsInv150.Edit;
adsInv150.FieldByName('FSel').Value:=0;
adsInv150.Post;
adsInv150.Next;
end;
end;
procedure THwSelDataAForm.dbgItemKeyPress(Sender: TObject;
var Key: Char);
var
ASelected:Integer;
begin
if Key=#32 then //vk_space
begin
if adsInv150.IsEmpty then Exit;
if adsInv150.FieldByName('FSel').Value=-1 then ASelected:=0 else ASelected:=-1;
adsInv150.Edit;
adsInv150.FieldByName('FSel').Value:=ASelected;
adsInv150.Post;
end;
end;
procedure THwSelDataAForm.dbgItemMouseUp(Sender: TObject;
Button: TMouseButton; Shift: TShiftState; X, Y: Integer);
var
ASelected:Integer;
begin
if dbgItem.GetColumnAt(X,Y)=nil then Exit;
if dbgItem.GetColumnAt(X,Y).Field.FieldName='FSel' then
begin
if adsInv150.IsEmpty then Exit;
if adsInv150.FieldByName('FSel').Value=-1 then ASelected:=0 else ASelected:=-1;
adsInv150.Edit;
adsInv150.FieldByName('FSel').Value:=ASelected;
adsInv150.Post;
end;
end;
procedure THwSelDataAForm.adsInv100AfterScroll(DataSet: TDataSet);
begin
if not ABusy then GetItems(FType,FWhsNo,FCustNo,FTypeNo,FCountCode);
end;
procedure THwSelDataAForm.dbgItemBackgroundDrawEvent(Sender: TObject;
ACanvas: TCanvas; ARect: TRect);
var
AText:string;
begin
ARect.Left:=0;
ARect.Top:=0;
ACanvas.Brush.Color:=dbgItem.GroupPanelColor;
ACanvas.Font.Color:=dbgItem.GroupPanelFontColor;
//您可以把列标题拖放到此处使记录按此列进行分组
if dbgItem.GroupColumnCount=0 then AText:=' '+GetDBString('NOT10001012') else AText:='';
Windows.FillRect(ACanvas.Handle, ARect, 0);
DrawText(ACanvas.Handle, PChar(AText), Length(AText), ARect, DT_LEFT or DT_EXPANDTABS or DT_NOPREFIX or DT_SINGLELINE or DT_VCENTER);
end;
procedure THwSelDataAForm.GetAcp510Items(ACustNo, ACurrNo,
ADirection: integer);
begin
//仅显示发票金额 O510B_024 <应开票额 O510B_026的料品
adsInv150.DisableControls;
adsInv150.Close;
if ADirection=0 then
begin
adsInv150.CommandText:='select I150_005 as FSel,P510B_001 as FCode,P510B_002 as FNo, '+
' P510B_003 as FItemNo,I150_002 as FItemID,I150_003 as FItemName,I150_008 as FEngItemName,I150_004 as FItemSpec, '+
' P510B_004 as FUnitNo,I140_002 as FUnitID,I140_003 as FUnitName, '+
' P510B_005 as FQty,P510B_006 as FPrice,P510B_007 as FAmount,P510B_025 as FDisAmt,P510B_016 as FFinish,P510B_005-P510B_016 as FBanlance, '+
' P510B_011 as FTaxRate,P510B_012 as FTaxAmount,P510B_024 as FInvAmount'+
' from PUR510A,PUR510B,INV150,INV140'+
' where P510A_001=P510B_001 and P510B_003=I150_001 and P510B_004=I140_001 and P510B_024<P510B_026 and P510A_007='+InttoStr(ACurrNo);
if ACustNo<>0 then
adsInv150.CommandText:=adsInv150.CommandText+' and P510A_017='+IntToStr(ACustNo);
adsInv150.CommandText:=adsInv150.CommandText+' order by P510B_001,P510B_002';
end else
begin
adsInv150.CommandText:='select I150_005 as FSel,P510B_001 as FCode,P510B_002 as FNo, '+
' P510B_003 as FItemNo,I150_002 as FItemID,I150_003 as FItemName,I150_008 as FEngItemName,I150_004 as FItemSpec, '+
' P510B_004 as FUnitNo,I140_002 as FUnitID,I140_003 as FUnitName, '+
' P510B_005 as FQty,P510B_006 as FPrice,P510B_007 as FAmount,P510B_025 as FDisAmt,P510B_016 as FFinish,P510B_005-P510B_016 as FBanlance, '+
' P510B_011 as FTaxRate,P510B_012 as FTaxAmount,P510B_024 as FInvAmount'+
' from PUR510A,PUR510B,INV150,INV140'+
' where P510A_001=P510B_001 and P510B_003=I150_001 and P510B_004=I140_001 and P510B_024>0 and P510A_007='+InttoStr(ACurrNo);
if ACustNo<>0 then
adsInv150.CommandText:=adsInv150.CommandText+' and P510A_017='+IntToStr(ACustNo);
adsInv150.CommandText:=adsInv150.CommandText+' order by P510B_001,P510B_002';
end;
adsInv150.Open;
adsInv150.FieldByName('FSel').DisplayLabel:=GetDBString('COM00008011'); //选择
adsInv150.FieldByName('FCode').DisplayLabel:=GetDBString('COM00009019'); //采购定单
adsInv150.FieldByName('FNo').DisplayLabel:=GetDBString('COM00008025'); //单据行号
adsInv150.FieldByName('FItemID').DisplayLabel:=GetDBString('COM00008012'); //料品编号
adsInv150.FieldByName('FItemName').DisplayLabel:=GetDBString('COM00008013');//料品名称
adsInv150.FieldByName('FEngItemName').DisplayLabel:=GetDBString('COM00009014'); //英文名称
adsInv150.FieldByName('FItemSpec').DisplayLabel:=GetDBString('COM00008014'); //规格型号
adsInv150.FieldByName('FUnitName').DisplayLabel:=GetDBString('COM00008016'); //单位名称
adsInv150.FieldByName('FQty').DisplayLabel:=GetDBString('COM00009020'); //采购数量
adsInv150.FieldByName('FPrice').DisplayLabel:=GetDBString('COM00009021'); //采购单价
adsInv150.FieldByName('FAmount').DisplayLabel:=GetDBString('COM00009022'); //采购金额
adsInv150.FieldByName('FDisAmt').DisplayLabel:=GetDBString('COM00009015'); //折扣金额
adsInv150.FieldByName('FFinish').DisplayLabel:=GetDBString('COM00008035'); //已发货量
adsInv150.FieldByName('FBanlance').DisplayLabel:=GetDBString('COM00008036'); //未发货量
adsInv150.FieldByName('FTaxRate').DisplayLabel:=GetDBString('COM00009023'); //采购税率
adsInv150.FieldByName('FTaxAmount').DisplayLabel:=GetDBString('COM00009024'); //采购税额
adsInv150.FieldByName('FInvAmount').DisplayLabel:=GetDBString('COM00009025'); //发票金额
adsInv150.FieldByName('FItemNo').Visible:=False;
adsInv150.FieldByName('FUnitNo').Visible:=False;
adsInv150.FieldByName('FUnitID').Visible:=False;
pnlLeft.Visible:=False;
Splitter1.Visible:=False;
adsInv150.EnableControls;
end;
procedure THwSelDataAForm.GetACR500BItems(ACustNo, ACurrNo: integer);
begin
//来源于任务工单 T533_010-T533_011>0应收金额大于已收金额
//仅显示除“非库存件”之外的料品
adsInv150.DisableControls;
adsInv150.Close;
adsInv150.CommandText:='select I150_005 as FSel,O510B_001 as FCode,O510B_002 as FNo, '+
' O510B_003 as FItemNo,I150_002 as FItemID,I150_003 as FItemName,I150_008 as FEngItemName,I150_004 as FItemSpec, '+
' O510B_004 as FUnitNo,I140_002 as FUnitID,I140_003 as FUnitName, '+
' T533_004 as FQty,O510B_006 as FPrice,T533_004*O510B_006 as FAmount,O510B_016 as FFinish,O510B_005-O510B_016 as FBanlance,T530_002 as FSourceOrder '+
' from ORD510A,ORD510B,INV150,INV140,TAS533,TAS530'+
' where O510A_001=O510B_001 and O510B_003=I150_001 and O510B_004=I140_001 and T533_002=O510B_001 and T533_003=O510B_002 and T533_001=T530_001 and T533_010-T533_011>0 ';
if ACustNo<>0 then
adsInv150.CommandText:=adsInv150.CommandText+' and O510A_017='+IntToStr(ACustNo);
if ACurrNo<>0 then
adsInv150.CommandText:=adsInv150.CommandText+' and O510A_007='+IntToStr(ACurrNo);
adsInv150.CommandText:=adsInv150.CommandText+' order by O510B_001,O510B_002';
adsInv150.Open;
adsInv150.FieldByName('FSel').DisplayLabel:=GetDBString('COM00008011'); //选择
adsInv150.FieldByName('FCode').DisplayLabel:=GetDBString('COM00008031'); //销售定单
adsInv150.FieldByName('FNo').DisplayLabel:=GetDBString('COM00008025'); //单据行号
adsInv150.FieldByName('FItemID').DisplayLabel:=GetDBString('COM00008012'); //料品编号
adsInv150.FieldByName('FItemName').DisplayLabel:=GetDBString('COM00008013');//料品名称
adsInv150.FieldByName('FEngItemName').DisplayLabel:=GetDBString('COM00009014'); //英文名称
adsInv150.FieldByName('FItemSpec').DisplayLabel:=GetDBString('COM00008014'); //规格型号
adsInv150.FieldByName('FUnitName').DisplayLabel:=GetDBString('COM00008016'); //单位名称
adsInv150.FieldByName('FQty').DisplayLabel:=GetDBString('COM00008032'); //销售数量
adsInv150.FieldByName('FPrice').DisplayLabel:=GetDBString('COM00008033'); //销售单价
adsInv150.FieldByName('FAmount').DisplayLabel:=GetDBString('COM00008034'); //销售金额
adsInv150.FieldByName('FFinish').DisplayLabel:=GetDBString('COM00008035'); //已发货量
adsInv150.FieldByName('FBanlance').DisplayLabel:=GetDBString('COM00008036'); //未发货量
adsInv150.FieldByName('FSourceOrder').DisplayLabel:=GetDBString('COM00009026'); //来源工单
adsInv150.FieldByName('FItemNo').Visible:=False;
adsInv150.FieldByName('FUnitNo').Visible:=False;
adsInv150.FieldByName('FUnitID').Visible:=False;
pnlLeft.Visible:=False;
Splitter1.Visible:=False;
adsInv150.EnableControls;
end;
procedure THwSelDataAForm.GetACR500AItems(ACustNo, ACurrNo: integer);
begin
//根据销售定单进行折扣
adsInv150.DisableControls;
adsInv150.Close;
adsInv150.CommandText:='select I150_005 as FSel,O510B_001 as FCode,O510B_002 as FNo, '+
' O510B_003 as FItemNo,I150_002 as FItemID,I150_003 as FItemName,I150_008 as FEngItemName,I150_004 as FItemSpec, '+
' O510B_004 as FUnitNo,I140_002 as FUnitID,I140_003 as FUnitName, '+
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -