D10rczhonghua/A09财务通用管理/U_SingleCustStatement.pas
DESKTOP-E401PHE\Administrator 63f7657fe3 1234
2025-09-12 09:43:31 +08:00

200 lines
5.7 KiB
ObjectPascal
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

unit U_SingleCustStatement;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxGraphics, cxCustomData, cxStyles, cxTL, cxMaskEdit, DB, ADODB,
cxInplaceContainer, cxDBTL, cxControls, cxTLData, ComCtrls, ToolWin, StdCtrls,
cxFilter, cxData, cxDataStorage, cxEdit, cxDBData, DBClient,
cxGridCustomTableView, cxGridTableView, cxGridDBTableView, ExtCtrls,
cxSplitter, cxGridLevel, cxClasses, cxGridCustomView, cxGrid,
cxGridCustomPopupMenu, cxGridPopupMenu, RM_Dataset, RM_System, RM_Common,
RM_Class, RM_GridReport, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdFTP, ShellAPI, IniFiles, cxCheckBox, cxCalendar, cxButtonEdit,
cxTextEdit, cxDropDownEdit, RM_e_Xls, cxGridBandedTableView,
cxGridDBBandedTableView, BtnEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxSkinsCore, dxSkinsDefaultPainters, dxDateRanges,
dxBarBuiltInMenu;
type
TfrmSingleCustStatement = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Label1: TLabel;
MPRTCodeName: TEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
Label3: TLabel;
OrderNo: TEdit;
cxGrid2: TcxGrid;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_HZ: TDataSource;
CDS_HZ: TClientDataSet;
Label4: TLabel;
OrdDefNote3: TComboBox;
Label5: TLabel;
ToolButton3: TToolButton;
RMGridReport1: TRMGridReport;
RMDBDataSet1: TRMDBDataSet;
RMXLSExport1: TRMXLSExport;
ADOQueryPrint: TADOQuery;
TV1: TcxGridDBBandedTableView;
V1Column2: TcxGridDBBandedColumn;
V1Column4: TcxGridDBBandedColumn;
V1Column5: TcxGridDBBandedColumn;
V1Column6: TcxGridDBBandedColumn;
V1Column7: TcxGridDBBandedColumn;
V1Column8: TcxGridDBBandedColumn;
V1Column9: TcxGridDBBandedColumn;
V1Column12: TcxGridDBBandedColumn;
V1Column15: TcxGridDBBandedColumn;
V1Column3: TcxGridDBBandedColumn;
V1Column10: TcxGridDBBandedColumn;
V1Column14: TcxGridDBBandedColumn;
V1Column16: TcxGridDBBandedColumn;
V1Column17: TcxGridDBBandedColumn;
V1Column20: TcxGridDBBandedColumn;
V1Column21: TcxGridDBBandedColumn;
V1Column22: TcxGridDBBandedColumn;
V1Column23: TcxGridDBBandedColumn;
V1Column25: TcxGridDBBandedColumn;
V1Column26: TcxGridDBBandedColumn;
V1Column33: TcxGridDBBandedColumn;
V1Column34: TcxGridDBBandedColumn;
OppCoName: TEdit;
ToolButton2: TToolButton;
TV1Column1: TcxGridDBBandedColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure P_OrderNo_YSK(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
private
{ Private declarations }
procedure InitGrid();
public
{ Public declarations }
FOppCoNo, FCurrency: string;
end;
var
frmSingleCustStatement: TfrmSingleCustStatement;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp;
{$R *.dfm}
procedure TfrmSingleCustStatement.InitGrid();
begin
with ADOQueryMain do
begin
Close;
SQL.Clear;
Filtered := False;
sql.Add(' exec P_Fin_CustStatementSingle ');
sql.Add(' @Begdate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', begdate.DateTime))));
sql.Add(' ,@Enddate=' + QuotedStr(Trim(FormatDateTime('yyyy-MM-dd', Enddate.DateTime + 1))));
sql.Add(' ,@OppCoNo=' + QuotedStr(Trim(FOppCoNo)));
sql.Add(' ,@Currency=' + QuotedStr(Trim(FCurrency)));
Open;
end;
SCreateCDS(ADOQueryMain, CDS_HZ);
SInitCDSData(ADOQueryMain, CDS_HZ);
end;
procedure TfrmSingleCustStatement.FormDestroy(Sender: TObject);
begin
frmSingleCustStatement := nil;
end;
procedure TfrmSingleCustStatement.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmSingleCustStatement.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSingleCustStatement.FormShow(Sender: TObject);
begin
readCxBandedGrid(trim(self.Caption), Tv1, <>տ<EFBFBD><D5BF><EFBFBD><EFBFBD>˵<EFBFBD>');
InitGrid();
end;
procedure TfrmSingleCustStatement.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmSingleCustStatement.P_OrderNo_YSK(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmSingleCustStatement.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption + '-' + trim(OppCoName.Text), cxgrid2);
end;
procedure TfrmSingleCustStatement.ToolButton2Click(Sender: TObject);
begin
WriteCxBandedGrid(trim(self.Caption), Tv1, <>տ<EFBFBD><D5BF><EFBFBD><EFBFBD>˵<EFBFBD>');
end;
procedure TfrmSingleCustStatement.FormCreate(Sender: TObject);
begin
cxGrid2.Align := AlClient;
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := Enddate.DateTime;
end;
procedure TfrmSingleCustStatement.ToolButton3Click(Sender: TObject);
var
filepath: string;
mBegdate, mEnddate: string;
begin
mBegdate := FormatDateTime('yyyy-MM-dd', begdate.Date);
mEnddate := FormatDateTime('yyyy-MM-dd', enddate.Date);
if CDS_HZ.IsEmpty then
exit;
filepath := ExtractFilePath(Application.ExeName) + 'report\Ӧ<>տ<EFBFBD><D5BF><EFBFBD>ϸ<EFBFBD><CFB8><EFBFBD>˵<EFBFBD>.rmf';
if not FileExists(Pchar(filepath)) then
begin
application.MessageBox(pchar('<27>ļ<EFBFBD>[' + filepath + ']<5D><><EFBFBD><EFBFBD><EFBFBD>ڣ<EFBFBD>'), '<27><>ʾ<EFBFBD><CABE>Ϣ', MB_IConError);
exit;
end;
RMGridReport1.LoadFromFile(filepath);
RMGridReport1.ShowReport;
end;
end.