D7szYidui/应收应付/U_FDINVOICE_JMX.pas
DESKTOP-E401PHE\Administrator ef99fc8b5e 移交
2025-07-19 09:32:10 +08:00

254 lines
6.6 KiB
ObjectPascal
Raw Permalink Blame History

unit U_FDINVOICE_JMX;
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, cxPC, RM_e_Xls, Menus, cxLookAndFeels,
cxLookAndFeelPainters, cxNavigator, dxBarBuiltInMenu, DateUtils;
type
TfrmFDINVOICE_JMX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
Tfind: TToolButton;
Label1: TLabel;
P_CodeName: TEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGridLevel1: TcxGridLevel;
Label2: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_FP: TDataSource;
CDS_FP: TClientDataSet;
v1ToFactoryName: TcxGridDBColumn;
v1Price: TcxGridDBColumn;
Label4: TLabel;
P_Spec: TEdit;
Label5: TLabel;
ToFactoryName: TEdit;
cxTabControl1: TcxTabControl;
TSel: TToolButton;
v1Column1: TcxGridDBColumn;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ADOQueryPrint: TADOQuery;
CDS_Print: TClientDataSet;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
cxgrdbclmnv1Column2: TcxGridDBColumn;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
procedure FormDestroy(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBRafreshClick(Sender: TObject);
procedure TfindClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure InvoiceNoChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TSelClick(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure YFGSTypeChange(Sender: TObject);
private
{ Private declarations }
canshu1, canshu2: string;
procedure InitGrid();
procedure SetStatus();
public
fInvoiceFlag: string;
{ Public declarations }
end;
var
frmFDINVOICE_JMX: TfrmFDINVOICE_JMX;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_FDINVOICE_Sub_X, U_FjList10, U_XXFPHXList,
U_XXFPHx;
{$R *.dfm}
procedure TfrmFDINVOICE_JMX.SetStatus();
begin
if fInvoiceFlag = '' then
fInvoiceFlag := '1';
end;
procedure TfrmFDINVOICE_JMX.InitGrid();
begin
try
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select InvoiceDate,A.ToFactoryName,B.P_CodeName,B.P_Spec,B.QtyUnit, Qty, Money, P_NOTE,taxMoney, (B.taxMoney-B.Money) tax');
sql.Add(' from FD_Invoice A inner join FD_Invoicesub B on A.InvoiceNo=B.InvoiceNo');
sql.add(' where A.InvoiceDate>=''' + formatdatetime('yyyy-MM-dd', begdate.datetime) + ''' ');
sql.Add(' and A.InvoiceDate<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' ');
sql.Add(' and InvoiceFlag=''' + fInvoiceFlag + ''' ');
if cxTabControl1.TabIndex = 0 then
sql.add(' and A.Chkstatus=''0''');
if cxTabControl1.TabIndex = 1 then
sql.add(' and A.Chkstatus=''1''');
// sql.add(' group by A.ToFactoryName,B.P_CodeName,B.P_Spec,B.QtyUnit');
// ShowMessage(sql.Text);
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_FP);
SInitCDSData20(ADOQueryMain, CDS_FP);
finally
end;
Tfind.Click;
end;
procedure TfrmFDINVOICE_JMX.FormDestroy(Sender: TObject);
begin
frmFDINVOICE_JMX := nil;
end;
procedure TfrmFDINVOICE_JMX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFDINVOICE_JMX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmFDINVOICE_JMX.FormShow(Sender: TObject);
begin
ReadCxGrid(self.Caption, Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := StartOfTheMonth(Now());
SetStatus();
InitGrid();
end;
procedure TfrmFDINVOICE_JMX.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmFDINVOICE_JMX.TfindClick(Sender: TObject);
begin
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_FP);
SInitCDSData20(ADOQueryMain, CDS_FP);
end;
end;
procedure TfrmFDINVOICE_JMX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmFDINVOICE_JMX.InvoiceNoChange(Sender: TObject);
begin
Tfind.Click;
end;
procedure TfrmFDINVOICE_JMX.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmFDINVOICE_JMX.TSelClick(Sender: TObject);
begin
frmInvoice_Sub_X := TfrmInvoice_Sub_X.Create(self);
with frmInvoice_Sub_X do
begin
TSave.Visible := False;
ToolBar2.Enabled := False;
FInvoiceNo := trim(CDS_FP.fieldbyname('InvoiceNo').asstring);
fInvoiceFlag := self.fInvoiceFlag;
canshu1 := self.canshu1;
if showmodal = 1 then
begin
end;
end;
end;
procedure TfrmFDINVOICE_JMX.FormCreate(Sender: TObject);
begin
canshu1 := trim(DParameters1);
end;
procedure TfrmFDINVOICE_JMX.N1Click(Sender: TObject);
begin
CDS_FP.DisableControls;
while CDS_FP.Locate('SSel', False, []) do
begin
CDS_FP.Edit;
CDS_FP.FieldByName('SSel').Value := True;
CDS_FP.Post;
end;
CDS_FP.EnableControls
end;
procedure TfrmFDINVOICE_JMX.N2Click(Sender: TObject);
begin
CDS_FP.DisableControls;
while CDS_FP.Locate('SSel', True, []) do
begin
CDS_FP.Edit;
CDS_FP.FieldByName('SSel').Value := False;
CDS_FP.Post;
end;
CDS_FP.EnableControls
end;
procedure TfrmFDINVOICE_JMX.YFGSTypeChange(Sender: TObject);
begin
Tfind.Click;
end;
end.