D7myChengxie/应收应付/U_FDINVOICEMX.pas
DESKTOP-E401PHE\Administrator e4d35a6883 1234
2025-08-25 10:39:41 +08:00

279 lines
7.3 KiB
ObjectPascal
Raw Permalink Blame History

unit U_FDINVOICEMX;
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;
type
TfrmFDINVOICEMX = class(TForm)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ToolButton2: TToolButton;
P_CodeName: TEdit;
ADOQueryMain: TADOQuery;
ToolButton1: TToolButton;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
InvoiceNo: TEdit;
Label2: TLabel;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_FP: TDataSource;
CDS_FP: TClientDataSet;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
P_Spec: TEdit;
Label5: TLabel;
FactoryName: TEdit;
cxTabControl1: TcxTabControl;
TSel: TToolButton;
ToolButton3: TToolButton;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
CDS_Print: TClientDataSet;
ADOQueryPrint: TADOQuery;
Label7: TLabel;
ToFactoryName: TEdit;
Label8: TLabel;
Label9: TLabel;
Label1: TLabel;
SYRName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column3: TcxGridDBColumn;
v1InvoiceNo: TcxGridDBColumn;
v1InvoiceDate: TcxGridDBColumn;
v1InvoiceType: TcxGridDBColumn;
v1FactoryName: TcxGridDBColumn;
v1Column1: TcxGridDBColumn;
v1Column2: TcxGridDBColumn;
v1ToFactoryName: TcxGridDBColumn;
v1Price: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
v1Column9: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column10: TcxGridDBColumn;
v1Column11: TcxGridDBColumn;
v1Column12: TcxGridDBColumn;
v1Column13: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
v1note: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
v1Column4: 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 ToolButton2Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure InvoiceNoChange(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TSelClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
private
{ Private declarations }
canshu1, canshu2: string;
procedure InitGrid();
procedure SetStatus();
public
fInvoiceFlag: string;
{ Public declarations }
end;
var
frmFDINVOICEMX: TfrmFDINVOICEMX;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_FDINVOICE_Sub, U_FjList10;
{$R *.dfm}
procedure TfrmFDINVOICEMX.SetStatus();
begin
end;
procedure TfrmFDINVOICEMX.InitGrid();
begin
try
with ADOQueryMain do
begin
Close;
SQL.Clear;
sql.Add(' select A.*,B.*,cast((case when qty<>0 then cast((money/qty)as decimal(18,9))else 0 end) as varchar(30))as price1,shuie=cast(cast((isnull(tax,0)*isnull(money,0)/100) as decimal(18,2)) as varchar(30))');
sql.Add(' from FD_Invoice A left 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''');
if cxTabControl1.TabIndex = 2 then
sql.add(' and A.Chkstatus <>''2''');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_FP);
SInitCDSData20(ADOQueryMain, CDS_FP);
finally
end;
end;
procedure TfrmFDINVOICEMX.FormDestroy(Sender: TObject);
begin
frmFDINVOICEMX := nil;
end;
procedure TfrmFDINVOICEMX.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFDINVOICEMX.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmFDINVOICEMX.FormShow(Sender: TObject);
begin
ReadCxGrid('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Enddate.DateTime := SGetServerDate(ADOQueryTemp);
begdate.DateTime := Enddate.DateTime - 30;
SetStatus();
InitGrid();
end;
procedure TfrmFDINVOICEMX.TBRafreshClick(Sender: TObject);
begin
begdate.SetFocus;
InitGrid();
end;
procedure TfrmFDINVOICEMX.ToolButton2Click(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 TfrmFDINVOICEMX.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmFDINVOICEMX.InvoiceNoChange(Sender: TObject);
begin
ToolButton2.Click;
end;
procedure TfrmFDINVOICEMX.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmFDINVOICEMX.TSelClick(Sender: TObject);
begin
FrmInvoice_Sub := TFrmInvoice_Sub.Create(self);
with FrmInvoice_Sub do
begin
TSave.Visible := False;
ToolBar2.Enabled := False;
FInvoiceNo := trim(CDS_FP.fieldbyname('InvoiceNo').asstring);
fInvoiceFlag := self.fInvoiceFlag;
if showmodal = 1 then
begin
end;
end;
end;
procedure TfrmFDINVOICEMX.ToolButton3Click(Sender: TObject);
begin
if CDS_FP.IsEmpty then
Exit;
try
frmFjList10 := TfrmFjList10.Create(Application);
with frmFjList10 do
begin
// PState:=1;
// if Trim(canshu1)<>'<27><>Ȩ<EFBFBD><C8A8>' then cxButton1.Visible:=false;
fkeyNO := Trim(Self.CDS_FP.fieldbyname('InvoiceNo').AsString);
fType := '<27><>Ʊ';
if ShowModal = 1 then
begin
end;
end;
finally
frmFjList10.Free;
end;
end;
procedure TfrmFDINVOICEMX.FormCreate(Sender: TObject);
begin
canshu1 := trim(DParameters1);
end;
procedure TfrmFDINVOICEMX.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 TfrmFDINVOICEMX.N2Click(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;
end.