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

📄 selectitemform.pas

📁 实达企业在线EOL源码
💻 PAS
📖 第 1 页 / 共 2 页
字号:
begin
  inherited;
  if TBitBtn(Sender).Tag = SmallTag then
  begin
    Width := FormLargeWidth;
    Left := (Screen.Width - Width) div 2;
    Panel1.Left := PanelLargeLeft;
    Panel1.BringToFront;
    sDBTree1.SendToBack;
    TBitBtn(Sender).Caption := '快捷';
    TBitBtn(Sender).Tag := LargeTag;
  end
  else begin
    Width := FormSmallWidth;
    Left := (Screen.Width - Width) div 2;
    Panel1.Left := PanelSmallLeft;
    TBitBtn(Sender).Caption := '辅助';
    TBitBtn(Sender).Tag := SmallTag;
  end;
end;

procedure TSelectItemFrm.btnFindClick(Sender: TObject);
begin
  inherited;
  ItemNo := edFindText.Text;
  DoLikeQuery;
  cdsLookupTable.Filtered := False;
end;

procedure TSelectItemFrm.btnOkClick(Sender: TObject);
begin
  inherited;
  if cdsLookupTable.RecordCount > 0 then
    SetProperty
  else
    ItemNo := '';
end;

procedure TSelectItemFrm.DBGridEh1DblClick(Sender: TObject);
begin
  inherited;
  if cdsLookupTable.RecordCount > 0 then
  begin
    SetProperty;
    ModalResult := mrOk;
  end;
end;

function TSelectItemFrm.DoEqualQuery: integer;
begin
  OpenClosePrvPublic(cdsLookupTable,false);
  if FStockCode = '' then
    cdsLookupTable.CommandText := Format(SQL_Equal,[SystemInfo.ItemCompanyCode,ItemNo,ItemNo])
  else
    cdsLookupTable.CommandText := Format(SQL_Equal_Stock,[SystemInfo.ItemCompanyCode,FStockCode,ItemNo,ItemNo]);

  if UpperCase(ItemClass) = 'P' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsPurchase=''1'''
  else if UpperCase(ItemClass) = 'S' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsSale=''1'''
  else if UpperCase(ItemClass) = 'M' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsMake=''1''';

  if ItemType <> '' then
    cdsLookupTable.CommandText := Format('%s and ItemType=''%s''',[cdsLookupTable.CommandText,ItemType]);

  OpenClosePrvPublic(cdsLookupTable,true);
  result := cdsLookupTable.RecordCount;
end;

function TSelectItemFrm.DoLikeQuery: integer;
begin
  OpenClosePrvPublic(cdsLookupTable,false);
  if FStockCode = '' then
    cdsLookupTable.CommandText := Format(SQL_Like,[SystemInfo.ItemCompanyCode,ItemNo,ItemNo])
  else
    if UpperCase(ItemClass) = 'P' then
      cdsLookupTable.CommandText := Format(SQL_Like_Vendor,[SystemInfo.ItemCompanyCode,FStockCode,ItemNo,ItemNo])
    else
      cdsLookupTable.CommandText := Format(SQL_Like_Stock,[SystemInfo.ItemCompanyCode,FStockCode,ItemNo,ItemNo]);

  if UpperCase(ItemClass) = 'P' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsPurchase=''1'''
  else if UpperCase(ItemClass) = 'S' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsSale=''1'''
  else if UpperCase(ItemClass) = 'M' then
    cdsLookupTable.CommandText := cdsLookupTable.CommandText + ' and IsMake=''1''';

  if ItemType <> '' then
    cdsLookupTable.CommandText := Format('%s and ItemType=''%s''',[cdsLookupTable.CommandText,ItemType]);
  OpenClosePrvPublic(cdsLookupTable,true);
  result := cdsLookupTable.RecordCount;
end;

procedure TSelectItemFrm.SetProperty;
begin
  ItemNo := Trim(cdsLookupTable.FieldByName('ItemNo').AsString);
  ItemName := Trim(cdsLookupTable.FieldByName('ItemName').AsString);
  ItemSpec := Trim(cdsLookupTable.FieldByName('ModeSpec').AsString);
  ItemBarCode := Trim(cdsLookupTable.FieldByName('BarCode').AsString);
  TaxRate := cdsLookupTable.FieldByName('TaxRate').AsFloat;
  StandardPrice := cdsLookupTable.FieldByName('StandardPrice').AsFloat;
  CostPrice := cdsLookupTable.FieldByName('CostPrice').AsFloat;
  ItemPackfrm.scEOLShQ.AppServer.GetUnitNameOfItem(ItemNo,'P',FItemUnit,SystemInfo.ItemCompanyCode);
end;

//---------------------------------- sDBTree -----------------------------------

procedure TSelectItemFrm.sDBTree1GetFirstLevelData(Sender: TObject;
  ColConstrain: String; DataSet: TClientDataSet);
var
  RowConstrain : string;
  Data : OLEVariant;
begin
  inherited;
  if ItemType <> '' then
  begin
    RowConstrain := Format('ItemType = ''%s''',[ItemType]);
    if ItemPackfrm.scEOLShQ.AppServer.GetNextItemType(RowConstrain,ColConStrain,Data,SystemInfo.ItemCompanyCode)=0 then
      ReleaseTOClnt(DataSet,Data);
  end
  else
    if ItemPackfrm.scEOLShQ.AppServer.GetFirstItemType(ColConStrain,Data,SystemInfo.ItemCompanyCode)=0 then
      ReleaseTOClnt(DataSet,Data);
end;

procedure TSelectItemFrm.sDBTree1GetNextLevelData(Sender: TObject;
  RowConstrain, ColConstrain: String; DataSet: TClientDataSet);
var
  Data : OLEVariant;
begin
  inherited;
  if ItemPackfrm.scEOLShQ.AppServer.GetNextItemType(RowConstrain,ColConStrain,Data,SystemInfo.ItemCompanyCode)=0 then
    ReleaseTOClnt(DataSet,Data);
end;

function FixLengthStr(S: string; L: integer): string;
begin
  result := S + StringOfChar(' ',L-Length(S));
end;

procedure TSelectItemFrm.sDBTree1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
  FilterKey : string;
begin
  inherited;
  if Key in [VK_UP,VK_DOWN,VK_LEFT,VK_RIGHT] then
    if sDBTree1.SelectedKey = '' then
      cdsLookupTable.Filtered := False
    else begin
      FilterKey := sDBTree1.SelectedKey;

      OpenClosePrvPublic(cdsLookupTable,false);
      cdsLookupTable.CommandText := Format(
         'select ItemNo,ItemName,ItemType,MeasureMethod,ModeSpec,StandardPrice,CostPrice,BarCode,TaxRate' +
         ' from Pub_ItemList where CompanyCode = ''%s'' and ItemType = ''%s''' +
         ' and AllowUsed=''1''' ,[SystemInfo.ItemCompanyCode,FilterKey]);
      OpenClosePrvPublic(cdsLookupTable,true);
      //FilterKey := FixLengthStr(FilterKey,cdsLookupTable.FieldByName('ItemType').Size);
{      if not cdsLookupTable.Filtered or
        (cdsLookupTable.Filter <> Format('ItemType=''%s''',[FilterKey])) then
      begin
        cdsLookupTable.Filter := Format('ItemType=''%s''',[FilterKey]);
        cdsLookupTable.Filtered := True;
      end;
}    end;
end;

procedure TSelectItemFrm.sDBTree1Click(Sender: TObject);
var
  FilterKey : string;
begin
  inherited;
  if sDBTree1.NodeOnMouseDown = sDBTree1.Selected then
  begin
    if sDBTree1.SelectedKey = '' then
      cdsLookupTable.Filtered := False
    else begin
      FilterKey := sDBTree1.SelectedKey;

      OpenClosePrvPublic(cdsLookupTable,false);
      cdsLookupTable.CommandText := Format(
         'select ItemNo,ItemName,ItemType,MeasureMethod,ModeSpec,StandardPrice,CostPrice,BarCode,TaxRate' +
         ' from Pub_ItemList where CompanyCode = ''%s'' and ItemType = ''%s''' +
         ' and AllowUsed=''1''' ,[SystemInfo.ItemCompanyCode,FilterKey]);
      OpenClosePrvPublic(cdsLookupTable,true);
      //FilterKey := FixLengthStr(FilterKey,cdsLookupTable.FieldByName('ItemType').Size);
{      if not cdsLookupTable.Filtered or
        (cdsLookupTable.Filter <> Format('ItemType=''%s''',[FilterKey])) then
      begin
        cdsLookupTable.Filter := Format('ItemType=''%s''',[FilterKey]);
        cdsLookupTable.Filtered := True;
      end;
}    end;
  end;
end;

procedure TSelectItemFrm.sDBTree1DblClick(Sender: TObject);
var
  FilterKey : string;
begin
  inherited;
  if sDBTree1.NodeOnMouseDown = sDBTree1.Selected then
  begin
    if sDBTree1.SelectedKey = '' then
      cdsLookupTable.Filtered := False
    else begin
      FilterKey := sDBTree1.SelectedKey;

      OpenClosePrvPublic(cdsLookupTable,false);
      cdsLookupTable.CommandText := Format(
         'select ItemNo,ItemName,ItemType,MeasureMethod,ModeSpec,StandardPrice,CostPrice,BarCode,TaxRate' +
         ' from Pub_ItemList where CompanyCode = ''%s'' and ItemType = ''%s''' +
         ' and AllowUsed=''1''' ,[SystemInfo.ItemCompanyCode,FilterKey]);
      OpenClosePrvPublic(cdsLookupTable,true);

      //FilterKey := FixLengthStr(FilterKey,cdsLookupTable.FieldByName('ItemType').Size);
{      if not cdsLookupTable.Filtered or
        (cdsLookupTable.Filter <> Format('ItemType=''%s''',[FilterKey])) then
      begin
        cdsLookupTable.Filter := Format('ItemType=''%s''',[FilterKey]);
        cdsLookupTable.Filtered := True;
      end;
}    end;
  end;
end;

procedure TSelectItemFrm.FormClose(Sender: TObject;
  var Action: TCloseAction);
begin
  inherited;
  OpenClosePrvPublic(cdsLookupTable,false);
end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -