📄 rpposdf.pas
字号:
unit RPPOSDF;
interface
uses
Windows, Messages, SysUtils, Classes, Graphics, Controls, Forms, Dialogs,
Menus, StdCtrls, Buttons, ExtCtrls, JLOOKUP, JEdit, Gauges, Db, DBTables;
type
TRMPOSDF = class(TForm)
BTNQUT: TBitBtn;
MainMenu1: TMainMenu;
F11: TMenuItem;
F21: TMenuItem;
F31: TMenuItem;
F51: TMenuItem;
F61: TMenuItem;
ESC1: TMenuItem;
F7: TMenuItem;
F8: TMenuItem;
GroupBox1: TGroupBox;
GroupBox3: TGroupBox;
GroupBox2: TGroupBox;
Label3: TLabel;
Label12: TLabel;
Label16: TLabel;
Label21: TLabel;
Label24: TLabel;
LB11: TJEdit;
LB12: TJEdit;
LB21: JLOOKUPBOX;
LB31: JLOOKUPBOX;
LB41: JLOOKUPBOX;
Label13: TLabel;
BTNSUM: TSpeedButton;
LB91: TJEdit;
Label5: TLabel;
ED_TODAY_SUB: TLabel;
Label11: TLabel;
ED_TODAY_INCOME: TLabel;
Label15: TLabel;
Label17: TLabel;
ED_TODAY_SALE: TLabel;
Label6: TLabel;
BTN_TODAY_PRN: TBitBtn;
BTN_POSA_PRE: TBitBtn;
BTN_POSA_PRN: TBitBtn;
ED_SHOWPOSB: TCheckBox;
BTN_TODAY_PRE: TBitBtn;
DA_SHOWBMCNT: TCheckBox;
Label8: TLabel;
Gauge: TGauge;
BTN_IV_CNT: TBitBtn;
BTN_IV_KINCNT: TBitBtn;
CBBGENO: TCheckBox;
CBBGKIN: TCheckBox;
Static: TStaticText;
CBPAIVO: TCheckBox;
QPOSD: TQuery;
QPOSA: TQuery;
QPOSAPAENO: TStringField;
QPOSAPAIDE: TStringField;
QPOSABMENO: TStringField;
QPOSABNENO: TStringField;
QPOSAPAIPN: TBooleanField;
QPOSAPAIVO: TStringField;
QPOSAPACIV: TStringField;
QPOSAPADAT: TDateTimeField;
QPOSAPATME: TStringField;
QPOSAPACNT: TFloatField;
QPOSAPACOT: TFloatField;
QPOSAPACOG: TFloatField;
QPOSAPACNO: TStringField;
QPOSAPACDT: TDateTimeField;
QPOSAPACNA: TFloatField;
QPOSAPACKD: TStringField;
QPOSAPABCK: TBooleanField;
QPOSAPABCN: TBooleanField;
QPOSAPACPD: TBooleanField;
QPOSAPAWEK: TStringField;
QPOSAPGCOS: TFloatField;
ED_SHOWGIFT: TCheckBox;
QPOSDPAIDE: TStringField;
QPOSDBNENO: TStringField;
QPOSDPADAT: TDateTimeField;
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure BTNQUTClick(Sender: TObject);
procedure BTNSUMClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure BTN_POSA_PREClick(Sender: TObject);
procedure BTN_TODAY_PREClick(Sender: TObject);
procedure FormShow(Sender: TObject);
private
{ Private declarations }
FUNCTION CAL_POSA_TOTAL_SALE(_FIELD:STRING;T_PACNO, T_PABCK:BOOLEAN):INTEGER;
public
{ Public declarations }
FUNCTION ADD_LB_WHEREKEY:STRING;
end;
var
RMPOSDF: TRMPOSDF;
implementation
uses SYSINI, FM_UTL, UN_UTL, DB_UTL,
RPPOSDP,
RPPOSDP_TODAY,
// URBR880,
MAINU, MAIND;
{$R *.DFM}
FUNCTION TRMPOSDF.ADD_LB_WHEREKEY:STRING;
VAR STR : STRING;
BEGIN
STR := '';
STR := STR + FINDFORM_WHEREKEY_DATE('PADAT',LB11.Text,LB12.Text);
STR := STR + FINDFORM_WHEREKEY_STRING('BNENO',LB21.Text,'');
STR := STR + FINDFORM_WHEREKEY_STRING('PAIVO',LB31.Text,'');
STR := STR + FINDFORM_WHEREKEY_STRING('PAIDE',LB41.Text,'');
RESULT := STR;
END;
FUNCTION TRMPOSDF.CAL_POSA_TOTAL_SALE(_FIELD:STRING;T_PACNO, T_PABCK:BOOLEAN):INTEGER;
begin
WITH FMMAIND.QUERY DO
BEGIN
CLOSE;
SQL.CLEAR;
SQL.ADD('SELECT SUM('+_FIELD+') FROM POSA');
SQL.ADD('WHERE POSA.PAENO IS NOT NULL');
SQL.ADD(ADD_LB_WHEREKEY);
// IF T_PABCK = TRUE THEN SQL.ADD('AND POSA.PABCK = 1 ');
// IF T_PABCK = FALSE THEN SQL.ADD('AND POSA.PABCK = 0 ');
// SHOWMESSAGE(SQL.TEXT);
OPEN;
END;
RESULT := FMMAIND.QUERY.Fields.Fields[0].AsInteger;
END;
procedure TRMPOSDF.FormCreate(Sender: TObject);
begin
IF FormExists('RMPOSDP') =FALSE THEN Application.CreateForm(TRMPOSDP, RMPOSDP );
IF FormExists('RMPOSDP_TODAY')=FALSE THEN Application.CreateForm(TRMPOSDP_TODAY, RMPOSDP_TODAY );
//预设日期
LB11.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOSDF\LB11',LB11.TEXT);
LB12.Text := REGISTER_LOAD_OBJECT_STR('\MICROPOS\RPPOSDF\LB12',LB12.TEXT);
IF (TRIM(LB11.Text) = '') AND (TRIM(LB12.Text) = '') THEN LB11.Text := EDATE_TO_CDATE(DATETOSTR(DATE));
end;
procedure TRMPOSDF.FormShow(Sender: TObject);
begin
LB11.SETFOCUS;
end;
procedure TRMPOSDF.FormClose(Sender: TObject; var Action: TCloseAction);
begin
//日期存盘
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOSDF\LB11',LB11.Text);
REGISTER_SAVE_OBJECT_STR('\MICROPOS\RPPOSDF\LB12',LB12.Text);
RMPOSDF.Release;
RMPOSDP.Release;
RMPOSDP_TODAY.Release;
end;
procedure TRMPOSDF.BTNQUTClick(Sender: TObject);
begin
CLOSE;
end;
procedure TRMPOSDF.BTNSUMClick(Sender: TObject);
VAR T_SUM1, T_BGCOT : INTEGER;
begin
IF STRTOINTDEF(LB91.TEXT,-1) < 0 THEN LB91.TEXT := '0';
T_SUM1 := STRTOINTDEF(LB91.TEXT,0);
T_BGCOT:= CAL_POSA_TOTAL_SALE('POSA.PACOT',FALSE, FALSE);
ED_TODAY_SALE .Caption := INTTOSTR( T_BGCOT );
ED_TODAY_INCOME.Caption := LB91.TEXT;
ED_TODAY_SUB .Caption := INTTOSTR( T_BGCOT - T_SUM1 );
end;
procedure TRMPOSDF.BTN_POSA_PREClick(Sender: TObject);
begin
RMPOSDP.ED_DAT1.Caption := LB11.Text;
RMPOSDP.ED_DAT2.Caption := LB12.Text;
QPOSA.CLOSE;
QPOSA.SQL.CLEAR;
QPOSA.SQL.ADD('SELECT * FROM POSA');
QPOSA.SQL.ADD('WHERE PAENO IS NOT NULL');
QPOSA.SQL.ADD(ADD_LB_WHEREKEY);
QPOSA.SQL.ADD('ORDER BY PADAT,PATME');
QPOSA.OPEN;
IF SENDER = BTN_POSA_PRE THEN RMPOSDP.QuickRep.Preview;
IF SENDER = BTN_POSA_PRN THEN RMPOSDP.QuickRep.Print;
end;
procedure TRMPOSDF.BTN_TODAY_PREClick(Sender: TObject);
begin
RMPOSDP_TODAY.ED_DAT1.Caption := LB11.Text;
RMPOSDP_TODAY.ED_DAT2.Caption := LB12.Text;
QPOSD.CLOSE;
QPOSD.SQL.CLEAR;
QPOSD.SQL.ADD('SELECT DISTINCT(PAIDE), BNENO, PADAT FROM POSA');
QPOSD.SQL.ADD(' WHERE PAENO IS NOT NULL');
QPOSD.SQL.ADD(ADD_LB_WHEREKEY);
QPOSD.SQL.ADD('ORDER BY PADAT, PAIDE, BNENO');
QPOSD.OPEN;
IF SENDER = BTN_TODAY_PRE THEN RMPOSDP_TODAY.QuickRep.Preview;
IF SENDER = BTN_TODAY_PRN THEN RMPOSDP_TODAY.QuickRep.Print;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -