⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 hwseldataa.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 4 页
字号:
  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 + -