📄 selectitemform.pas
字号:
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 + -