stockchecksurplusqry.pas
来自「医药连锁经营管理系统源码」· PAS 代码 · 共 305 行
PAS
305 行
unit StockCheckSurplusQry;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, Grids, DBGridEh, xEhLibCtl, RzButton, RzRadChk, ComCtrls, RzDTP,
StdCtrls, RzCmboBx, RzBtnEdt, Mask, RzEdit, RzLabel, RzPanel, RzSplit,
TFlatSpeedButtonUnit, ExtCtrls, TFlatPanelUnit, DB, ActnList, MConnect,
ModuleAction, ImgList, DBClient, ckDBClient, Menus, RzDBDTP, RzDBEdit,
RzDBBnEd, xBaseFrm, IMainFrm, uGlobal, uDataTypes,StrUtils;
type
TFmStockCheckSurplusQry = class(TxBaseForm)
TopPopMenu: TPopupMenu;
SetFields1: TMenuItem;
refresh1: TMenuItem;
ImageList1: TImageList;
ActionList1: TActionList;
ActQuery: TModlAction;
ActReport: TModlAction;
ActFieldsLayout: TModlAction;
ActDataExport: TModlAction;
ActDesignReport: TModlAction;
ActViewBill: TModlAction;
DataSource: TDataSource;
cdsStockCheckSurplus: TckClientDataSet;
ptBkPanel: TFlatPanel;
FlatPanel2: TPanel;
BtnWhatIs: TFlatSpeedButton;
BtnHelp: TFlatSpeedButton;
FlatPanel3: TPanel;
BtnPopMenu: TFlatSpeedButton;
Panel1: TRzSizePanel;
Panel2: TPanel;
RzGroupBox1: TRzGroupBox;
RzBitBtn2: TRzBitBtn;
RzBitBtn1: TRzBitBtn;
btnAll: TRzBitBtn;
dbgStockCheckSurplus: TxDBGridEh;
Label1: TLabel;
Label2: TLabel;
Label3: TLabel;
Label4: TLabel;
Label5: TLabel;
Label6: TLabel;
ckMultiSelect: TRzCheckBox;
edBillNo1: TRzEdit;
edFDate1: TRzDateTimePicker;
Label7: TLabel;
edBillNo2: TRzEdit;
Label8: TLabel;
edFDate2: TRzDateTimePicker;
edDepotNo: TRzButtonEdit;
edEmpNo: TRzButtonEdit;
edAudit: TRzButtonEdit;
edGoodsID: TRzButtonEdit;
Label9: TLabel;
Label10: TLabel;
edCreater: TRzButtonEdit;
edGrup: TRzButtonEdit;
Label11: TLabel;
cbAudit: TRzComboBox;
procedure edEmpNoButtonClick(Sender: TObject);
procedure edAuditButtonClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure ActQueryExecute(Sender: TObject);
procedure edDepotNoButtonClick(Sender: TObject);
procedure SetFields1Click(Sender: TObject);
procedure refresh1Click(Sender: TObject);
procedure ActReportExecute(Sender: TObject);
procedure ActViewBillExecute(Sender: TObject);
procedure edGoodsIDButtonClick(Sender: TObject);
procedure edCreaterButtonClick(Sender: TObject);
procedure edGrupButtonClick(Sender: TObject);
private
{ Private declarations }
IFmMain: IMainForm;
LocSetting: PLocSetting;
iClientID: Integer;
SvrCommon: TDispatchConnection;
CdsFieldProperty :TckClientDataSet;
public
{ Public declarations }
end;
var
FmStockCheckSurplusQry: TFmStockCheckSurplusQry;
Const
sFieldProPerty='Select * From SysFieldProperty '+' Where TableName=''StockCheckSurplus''';
implementation
uses SelectGoodsFrm,ceGlobal, ShowProGress, FieldsLayoutFrm, RepSelectFrm, DataExportFrm,
SelectProvFrm,SelectEmpFrm,SelectDepartFrm,SelectPayMode,DBFuncs,SelectProvLinkManFrm,
SelectDepotFrm;
{$R *.dfm}
procedure TFmStockCheckSurplusQry.FormCreate(Sender: TObject);
var SystemTime: TSystemTime;
begin
CdsFieldProperty := TckClientDataSet.Create(Self);
GetLocalTime(SystemTime);
with SystemTime do
edFDate1.Date := EncodeDate(wYear, wMonth, 1);
edFDate2.Date := Date;
IFmMain := Application.MainForm as IMainForm;
LocSetting := IFmMain.IFmMainEx.GetLocSetting;
iClientID := IFmMain.IFmMainEx.ClientID;
SetGressHint('正在连接到公用信息服务器...');
SvrCommon := IFmMain.GetConnection(Handle, '', 'CommonSvr.CommonRDM');
cdsStockCheckSurplus.RemoteServer := SvrCommon;
CdsFieldProPerty.ProviderName:='DspTemp';
CdsFieldProPerty.RemoteServer:=SvrCommon;
end;
procedure TFmStockCheckSurplusQry.FormShow(Sender: TObject);
var sTableNames: string;
begin
SetGressHint('初始化本地环境...');
IFmMain.SetActionStatus(ActionList1, hInstance, self.ClassName);
SysFieldXml(CdsFieldProPerty,sFieldProPerty,'TFmStockCheckSurplus.Xml');
sTableNames:='StockCheckSurplus';
SetFieldProperty(CdsFieldProPerty,cdsStockCheckSurplus,sTableNames);
SetGridEhColor([dbgStockCheckSurplus]);
ptBkPanel.Color := TitlePanelColor;
FreeGressForm;
end;
procedure TFmStockCheckSurplusQry.edEmpNoButtonClick(Sender: TObject);
var
sEmpNo, sEmpName: string;
begin
sEmpNo := '';
sEmpName := '';
if SelectEmp(sEmpNo, sEmpName) then
edEmpNo.Text := sEmpNo;
end;
procedure TFmStockCheckSurplusQry.edAuditButtonClick(Sender: TObject);
var
sEmpNo, sEmpName: string;
begin
sEmpNo := '';
sEmpName := '';
if SelectEmp(sEmpNo, sEmpName) then
edAudit.Text := sEmpNo;
end;
procedure TFmStockCheckSurplusQry.ActQueryExecute(Sender: TObject);
var s,swMst,swDtl,sTableNames:string;
begin
swMst:= ' and M.FDate >= ''' + FormatDateTime('yyyy-mm-dd', edFDate1.date)
+ ''' and M.FDate <= ''' + FormatDateTime('yyyy-mm-dd', edFDate2.Date) + '''';
s:=edBillNo1.Text;
if s<>'' then
begin
if edBillNo2.Text <> '' then
swMst := swMst + ' and BillNo >= ''' + s + ''' and BillNo <= ''' + edBillNo2.Text + ''''
else
swMst := swMst + ' and BillNo = ''' + s + '''';
end;
s:=edEmpNo.Text;
if s<>'' then
swMst := swMst + ' and EmpNo = ''' + s + '''';
s:=edAudit.Text;
if s<>'' then
swMst := swMst + ' and EmpNo = ''' + s + '''';
s := edDepotNo.Text;
if s <> '' then
swMst := swMst + ' and DepotID = ' + IntToStr(edDepotNo.Tag);
s:=edCreater.Text;
if s<>'' then
swMst:=swMst+' and Creater='''+s+'''';
s:=edGrup.Text;
if s<>'' then
swMst:=swMst+' and Grup='''+s+'''';
if cbAudit.ItemIndex>0 then
swMst := swMst + ' and Transfer='+IntToStr(cbAudit.ItemIndex-1);
s := edGoodsID.Text;
if s <> '' then
begin
if AnsiPos(',', s) <> 0 then
swDtl := swDtl + ' and GoodsID in(''' + AnsiReplaceText(s, ',', ''',''') + ''')'
else
swDtl := swDtl + ' and GoodsID Like ''' + s + '''';
end;
cdsStockCheckSurplus.Close;
cdsStockCheckSurplus.Data := SvrCommon.AppServer.QueryBill(iClientID, 'StockCheckSurplus', swMst, swDtl);
sTableNames := 'StockCheckSurplus';
SetFieldProperty(CdsFieldProPerty,cdsStockCheckSurplus,sTableNames);
end;
procedure TFmStockCheckSurplusQry.edDepotNoButtonClick(Sender: TObject);
var
nDepotID: integer;
sDepotNO, sDepotName: string;
begin
nDepotID := 0;
sDepotNO := '';
sDepotName := '';
if SelectDepot(nDepotID, sDepotNo, sDepotName) then
begin
edDepotNo.Tag := nDepotID;
edDepotNo.Text := sDepotName;
end;
end;
procedure TFmStockCheckSurplusQry.SetFields1Click(Sender: TObject);
begin
SetFieldsLayOut(LocSetting^.FieldLayoutCfgFile, Name, [dbgStockCheckSurplus], '盘点盈亏单查询');
end;
procedure TFmStockCheckSurplusQry.refresh1Click(Sender: TObject);
begin
ExportData([cdsStockCheckSurplus], '盘点盈亏单查询', '');
end;
procedure TFmStockCheckSurplusQry.ActReportExecute(Sender: TObject);
begin
SelRepPrint(self.Name, [cdsStockCheckSurplus], '盘点盈亏单查询', ActDesignReport.Enabled);
end;
procedure TFmStockCheckSurplusQry.ActViewBillExecute(Sender: TObject);
var Values: Variant;
sBillNo, sBills: String;
mark: TBookmark;
begin
if cdsStockCheckSurplus.IsEmpty then Exit;
with cdsStockCheckSurplus do begin
sBillNo := FieldByName('BillNo').AsString;
mark := GetBookmark;
DisableControls;
try
First;
while not Eof do begin
sBills := sBills+FieldByName('BillNo').AsString+#13;
Next;
end;
finally
GotoBookmark(mark);
FreeBookmark(mark);
EnableControls;
end;
end;
Values := VarArrayCreate([0,1], varOleStr);
Values[0] := sBillNo;
Values[1] := sBills;
IFmMain.DoSome(ActViewBill.ModuleFile, 'ViewBill', Values);
Values := NULL;
end;
procedure TFmStockCheckSurplusQry.edGoodsIDButtonClick(Sender: TObject);
var
sGoodsId :String;
begin
sGoodsID := '';
if ckMultiSelect.Checked then
begin
if SelectGoodsID(sGoodsID, true) then
If edGoodsID.Text<>'' Then
edGoodsId.Text := edGoodsId.Text+','+sGoodsId
else
edGoodsId.Text := sGoodsID;
End
else if SelectGoodsID(sGoodsID, false) then
edGoodsID.text := sGoodsID;
end;
procedure TFmStockCheckSurplusQry.edCreaterButtonClick(Sender: TObject);
var
sEmpNo, sEmpName: string;
begin
sEmpNo := '';
sEmpName := '';
if SelectEmp(sEmpNo, sEmpName) then
edCreater.Text := sEmpNo;
end;
procedure TFmStockCheckSurplusQry.edGrupButtonClick(Sender: TObject);
var iID: Integer;
sNo, sName: String;
begin
iID := 0;
if SelectDepart(iID, sNo, sName) then
begin
edGrup.Tag := iID;
edGrup.Text:= sNo;
end;
end;
initialization
RegisterClass(TFmStockCheckSurplusQry);
finalization
UnRegisterClass(TFmStockCheckSurplusQry);
end.
⌨️ 快捷键说明
复制代码Ctrl + C
搜索代码Ctrl + F
全屏模式F11
增大字号Ctrl + =
减小字号Ctrl + -
显示快捷键?