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

886 lines
24 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_FDINVOICE;
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, dxBarBuiltInMenu, cxNavigator;
type
TfrmFDINVOICE = 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;
Label6: TLabel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
cxGridPopupMenu2: TcxGridPopupMenu;
DS_FP: TDataSource;
CDS_FP: TClientDataSet;
TADD: TToolButton;
TUPDATE: TToolButton;
TBDEL: TToolButton;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
P_Spec: TEdit;
Label5: TLabel;
FactoryName: TEdit;
TCHK: TToolButton;
TNOCHK: TToolButton;
cxTabControl1: TcxTabControl;
TSel: TToolButton;
ToolButton3: TToolButton;
ADOQuerySub: TADOQuery;
CDS_Sub: TClientDataSet;
DataSource1: TDataSource;
RMXLSExport1: TRMXLSExport;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
N2: TMenuItem;
ToolButton4: TToolButton;
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;
lbl1: TLabel;
cv1Column4: TcxGridDBColumn;
cv1Column15: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
TZF: TToolButton;
TCXZF: TToolButton;
SDefStr1: TComboBox;
TCH: TToolButton;
TCXCH: TToolButton;
ComboBox1: TComboBox;
Tv1Column1: 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 TADDClick(Sender: TObject);
procedure TUPDATEClick(Sender: TObject);
procedure TBDELClick(Sender: TObject);
procedure cxTabControl1Change(Sender: TObject);
procedure TCHKClick(Sender: TObject);
procedure TNOCHKClick(Sender: TObject);
procedure TSelClick(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure FormCreate(Sender: TObject);
procedure Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure TZFClick(Sender: TObject);
procedure TCXZFClick(Sender: TObject);
procedure CheckBox1Click(Sender: TObject);
procedure SDefStr1DropDown(Sender: TObject);
procedure TCHClick(Sender: TObject);
procedure TCXCHClick(Sender: TObject);
procedure ComboBox1Change(Sender: TObject);
private
{ Private declarations }
canshu1, canshu2: string;
procedure InitGrid();
procedure SetStatus();
public
fInvoiceFlag: string;
{ Public declarations }
end;
var
frmFDINVOICE: TfrmFDINVOICE;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_FDINVOICE_Sub, U_FjList10;
{$R *.dfm}
procedure TfrmFDINVOICE.SetStatus();
begin
tchk.Visible := false;
tnochk.Visible := false;
TUPDATE.Visible := True;
tbdel.Visible := false;
TZF.Visible := False;
TCXZF.Visible := False;
TCH.Visible := FALSE;
TCXCH.VISIBLE := FALSE;
if trim(DParameters1) <> '<27><>Ȩ<EFBFBD><C8A8>' then
begin
case cxTabControl1.TabIndex of
0:
begin
TUPDATE.Visible := true;
tbdel.Visible := true;
tchk.Visible := true;
TZF.Visible := True;
TCH.Visible := True;
end;
1:
begin
tnochk.Visible := true;
end;
2:
begin
TCXZF.Visible := True;
end;
3:
begin
TCXCH.Visible := True;
end;
end;
end
else
begin
case cxTabControl1.TabIndex of
0:
begin
tchk.Visible := true;
TUPDATE.Visible := true;
tbdel.Visible := true;
tchk.Visible := true;
TZF.Visible := True;
TCH.Visible := True;
end;
1:
begin
tnochk.Visible := true;
end;
2:
begin
TCXZF.Visible := True;
end;
3:
begin
TCXCH.Visible := True;
end;
end;
end;
if fInvoiceFlag = '' then
fInvoiceFlag := '1';
end;
procedure TfrmFDINVOICE.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 decimal(18,2))');
sql.Add(' from FD_Invoice A left join FD_Invoicesub B on A.InvoiceNo=B.InvoiceNo');
if ComboBox1.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
sql.add(' where A.filltime>=''' + formatdatetime('yyyy-MM-dd', begdate.datetime) + ''' ');
sql.Add(' and A.filltime<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' ');
end
else if ComboBox1.Text = '<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>' then
begin
sql.add(' where A.InvoiceDate>=''' + formatdatetime('yyyy-MM-dd', begdate.datetime) + ''' ');
sql.Add(' and A.InvoiceDate<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' ');
end
else if ComboBox1.Text = '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' then
begin
sql.add(' where A.Chktime>=''' + formatdatetime('yyyy-MM-dd', begdate.datetime) + ''' ');
sql.Add(' and A.Chktime<''' + formatdateTime('yyyy-MM-dd', enddate.DateTime + 1) + ''' ');
end;
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''');
if cxTabControl1.TabIndex = 3 then
sql.add(' and A.Chkstatus=''3''');
Open;
end;
SCreateCDS20(ADOQueryMain, CDS_FP);
SInitCDSData20(ADOQueryMain, CDS_FP);
finally
end;
end;
procedure TfrmFDINVOICE.FormDestroy(Sender: TObject);
begin
frmFDINVOICE := nil;
end;
procedure TfrmFDINVOICE.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := caFree;
end;
procedure TfrmFDINVOICE.TBCloseClick(Sender: TObject);
begin
WriteCxGrid('<27><>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', Tv1, '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>');
Close;
end;
procedure TfrmFDINVOICE.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 TfrmFDINVOICE.TBRafreshClick(Sender: TObject);
begin
// begdate.SetFocus;
InitGrid();
end;
procedure TfrmFDINVOICE.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 TfrmFDINVOICE.ToolButton1Click(Sender: TObject);
begin
if ADOQueryMain.IsEmpty then
Exit;
TcxGridToExcel(self.Caption, cxgrid1);
end;
procedure TfrmFDINVOICE.InvoiceNoChange(Sender: TObject);
begin
TBRafresh.click();
if ADOQueryMain.Active then
begin
SDofilter(ADOQueryMain, SGetFilters(Panel1, 1, 2));
SCreateCDS20(ADOQueryMain, CDS_FP);
SInitCDSData20(ADOQueryMain, CDS_FP);
end;
end;
procedure TfrmFDINVOICE.TADDClick(Sender: TObject);
begin
FrmInvoice_Sub := TFrmInvoice_Sub.Create(self);
with FrmInvoice_Sub do
begin
FInvoiceNo := '';
fInvoiceFlag := self.fInvoiceFlag;
if showmodal = 1 then
begin
initGrid();
end;
free;
end;
end;
procedure TfrmFDINVOICE.TUPDATEClick(Sender: TObject);
begin
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end
else
begin
end;
FrmInvoice_Sub := TFrmInvoice_Sub.Create(self);
with FrmInvoice_Sub do
begin
InvoiceNo.Enabled := False;
FInvoiceNo := trim(CDS_FP.fieldbyname('InvoiceNo').asstring);
fInvoiceFlag := self.fInvoiceFlag;
if showmodal = 1 then
begin
initGrid();
end;
free;
end;
end;
procedure TfrmFDINVOICE.TBDELClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
exit;
try
ADOQueryCmd.Connection.BeginTrans;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('delete from FD_Invoicesub where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.add('delete from FD_Invoice where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>Ʊɾ<C6B1><C9BE>')));
sql.Add(',' + quotedstr(trim('<27><>Ʊ<EFBFBD>ţ<EFBFBD>' + trim(CDS_FP.FieldByName('invoiceNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
ADOQueryCmd.Connection.CommitTrans;
CDS_FP.Delete;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
initGrid();
end;
procedure TfrmFDINVOICE.cxTabControl1Change(Sender: TObject);
begin
SetStatus();
initGrid();
end;
procedure TfrmFDINVOICE.TCHKClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set Chker=''' + trim(DName) + ''',Chktime=getdate(),chkstatus=''1'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.TNOCHKClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set Chker=null,Chktime=null,chkstatus=''0'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD>˳ɹ<CBB3>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.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 TfrmFDINVOICE.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 TfrmFDINVOICE.FormCreate(Sender: TObject);
begin
canshu1 := trim(DParameters1);
end;
procedure TfrmFDINVOICE.Tv1FocusedRecordChanged(Sender: TcxCustomGridTableView; APrevFocusedRecord, AFocusedRecord: TcxCustomGridRecord; ANewItemRecordFocusingChanged: Boolean);
begin
with ADOQuerySub do
begin
Close;
SQL.Clear;
sql.Add(' select B.* from FD_Invoicesub B ');
sql.add(' where B.InvoiceNo=' + quotedstr(Trim(CDS_FP.fieldbyname('InvoiceNo').AsString)));
Open;
end;
SCreateCDS20(ADOQuerySub, CDS_Sub);
SInitCDSData20(ADOQuerySub, CDS_Sub);
end;
procedure TfrmFDINVOICE.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.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;
procedure TfrmFDINVOICE.ToolButton4Click(Sender: TObject);
var
fPrintFile: string;
Porderno, LBName, SYRName: string;
i, j: Integer;
OrderKg: Double;
begin
if CDS_FP.IsEmpty then
Exit;
if CDS_FP.Locate('SSel', True, []) = False then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('delete TBSubID where DName=''' + Trim(DCode) + '''');
ExecSQL;
end;
with ADOQueryCmd do
begin
Close;
sql.Clear;
sql.Add('SELECT * FROM TBSubID where 1=2 ');
open;
end;
CDS_FP.DisableControls;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
First;
while not Eof do
begin
if Fieldbyname('Ssel').AsBoolean then
begin
ADOQueryCmd.append;
ADOQueryCmd.fieldbyname('SubId').Value := Trim(CDS_FP.fieldbyname('InvoiceNo').AsString);
ADOQueryCmd.fieldbyname('Dname').Value := Trim(DCode);
ADOQueryCmd.post;
end;
Next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
except
ADOQueryCmd.Connection.RollbackTrans;
end;
CDS_FP.EnableControls;
with ADOQueryPrint do
begin
Close;
sql.Clear;
sql.Add(' select A.* ,B.*');
sql.Add(' from FD_Invoice A left join FD_Invoicesub B on A.InvoiceNo=B.InvoiceNo');
sql.add(' where A.InvoiceNo in (SELECT distinct SubId FROM TBSubID where Dname=' + quotedstr(Trim(DCode)) + ')');
Open;
end;
SCreateCDS20(ADOQueryPrint, CDS_Print);
SInitCDSData20(ADOQueryPrint, CDS_Print);
fPrintFile := ExtractFilePath(Application.ExeName) + 'Report\<5C><><EFBFBD>Ʊ<EEB7A2>б<EFBFBD>.rmf';
if FileExists(fPrintFile) then
begin
RM1.LoadFromFile(fPrintFile);
// RMVariables['SYRName']:=Trim(SYRName);
RM1.ShowReport;
end
else
begin
Application.MessageBox(PChar(<><C3BB><EFBFBD><EFBFBD>Report\<5C><><EFBFBD>Ʊ<EEB7A2>б<EFBFBD>.rmf'), '<27><>ʾ', 0);
end;
end;
procedure TfrmFDINVOICE.TZFClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set chkstatus=''2'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>Ʊ<EEB7A2><C6B1><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>Ʊ<EFBFBD>ţ<EFBFBD>' + trim(CDS_FP.FieldByName('invoiceNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD>ϳɹ<CFB3>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.TCXZFClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set chkstatus=''0'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EEB7A2><C6B1><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>Ʊ<EFBFBD>ţ<EFBFBD>' + trim(CDS_FP.FieldByName('invoiceNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ϳɹ<CFB3>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.CheckBox1Click(Sender: TObject);
begin
initgrid();
ToolButton2.Click();
end;
procedure TfrmFDINVOICE.SDefStr1DropDown(Sender: TObject);
begin
with ADOQueryTemp do
begin
Close;
sql.Clear;
sql.Add('select distinct(SDefStr1) from FD_Invoice ');
sql.Add(' where InvoiceFlag=0 and SDefStr1 is not null');
// sql.Add(' where FSId=''' + Trim(CKOrdNo.Text) + ''' ');
Open;
end;
SDefStr1.Items.Clear;
while not ADOQueryTemp.eof do
begin
SDefStr1.Items.Add(ADOQueryTemp.fieldbyname('SDefStr1').AsString);
ADOQueryTemp.next;
end;
end;
procedure TfrmFDINVOICE.TCHClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
if Application.MessageBox(<><C8B7>Ҫ<EFBFBD><D2AA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set chkstatus=''3'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD>Ʊ<EEB7A2><C6B1><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>Ʊ<EFBFBD>ţ<EFBFBD>' + trim(CDS_FP.FieldByName('invoiceNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.TCXCHClick(Sender: TObject);
begin
if CDS_FP.IsEmpty then
exit;
if CDS_FP.Locate('ssel', true, []) = false then
begin
Application.MessageBox(<><C3BB>ѡ<EFBFBD><D1A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>!', '<27><>ʾ', 0);
Exit;
end;
try
ADOQueryCmd.Connection.BeginTrans;
with CDS_FP do
begin
DisableControls;
First;
while not eof do
begin
if Fieldbyname('ssel').AsBoolean then
begin
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('update FD_Invoice set chkstatus=''0'' ');
sql.add('where InvoiceNo=''' + trim(CDS_FP.fieldbyname('invoiceNo').asstring) + ''' ');
sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( ');
sql.Add(' ' + quotedstr(trim(DName)));
sql.Add(',getdate() ');
sql.Add(',' + quotedstr(trim(self.Caption)));
sql.Add(',' + quotedstr(trim('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ʊ<EEB7A2><C6B1><EFBFBD><EFBFBD>')));
sql.Add(',' + quotedstr(trim('<27><>Ʊ<EFBFBD>ţ<EFBFBD>' + trim(CDS_FP.FieldByName('invoiceNo').AsString))));
sql.Add(',' + quotedstr(trim('<27>ɹ<EFBFBD>')));
sql.Add(')');
execsql;
end;
end;
next;
end;
EnableControls;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD>', '<27><>ʾ');
InitGrid();
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmFDINVOICE.ComboBox1Change(Sender: TObject);
begin
initgrid();
end;
end.