2024-07-04 16:01:24 +08:00
unit U_PayableList;
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, cxPC, cxDropDownEdit, cxLookAndFeels, cxLookAndFeelPainters,
cxNavigator, dxBarBuiltInMenu, dxSkinsCore, dxSkinsDefaultPainters,
2024-07-13 11:03:15 +08:00
dxDateRanges, U_BaseList, Vcl. Menus, Vcl. Clipbrd, dxSkinWXI,
dxScrollbarAnnotations;
2024-07-04 16:01:24 +08:00
type
TfrmPayableList = class( TfrmBaseList)
ToolBar1: TToolBar;
TBRafresh: TToolButton;
btnDel: TToolButton;
TBClose: TToolButton;
ADOQueryTemp: TADOQuery;
ADOQueryCmd: TADOQuery;
Panel1: TPanel;
ADOQueryMain: TADOQuery;
RM1: TRMGridReport;
RMDB_Main: TRMDBDataSet;
Label3: TLabel;
OppCoName: TEdit;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v2CRTime: TcxGridDBColumn;
cxGridLevel1: TcxGridLevel;
begdate: TDateTimePicker;
Enddate: TDateTimePicker;
GPM_1: TcxGridPopupMenu;
DS_1: TDataSource;
CDS_1: TClientDataSet;
btnAdd: TToolButton;
v2FactoryName: TcxGridDBColumn;
F_Name: TEdit;
Label4: TLabel;
CheckBox1: TCheckBox;
Label6: TLabel;
2025-11-08 10:16:26 +08:00
F_Code: TEdit;
2024-07-04 16:01:24 +08:00
v2OrderNo: TcxGridDBColumn;
cxTabControl1: TcxTabControl;
Label10: TLabel;
ConNo: TEdit;
Label11: TLabel;
BuyConNo: TEdit;
v2Column2: TcxGridDBColumn;
btnChk: TToolButton;
btnReChk: TToolButton;
PopupMenu1: TPopupMenu;
N1: TMenuItem;
ToolButton4: TToolButton;
Label2: TLabel;
OppParentCoName: TEdit;
ToolButton5: TToolButton;
N2: TMenuItem;
btnEdit: TToolButton;
Tv1Column3: TcxGridDBColumn;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Tv1Column10: TcxGridDBColumn;
Tv1Column11: TcxGridDBColumn;
Tv1Column12: TcxGridDBColumn;
Tv1Column13: TcxGridDBColumn;
Tv1Column14: TcxGridDBColumn;
Tv1Column15: TcxGridDBColumn;
Tv1Column16: TcxGridDBColumn;
Tv1Column17: TcxGridDBColumn;
Tv1Column18: TcxGridDBColumn;
Tv1Column19: TcxGridDBColumn;
Tv1Column20: TcxGridDBColumn;
Tv1Column21: TcxGridDBColumn;
Tv1Column22: TcxGridDBColumn;
Tv1Column23: TcxGridDBColumn;
N3: TMenuItem;
Tv1Column24: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
ToolButton1: TToolButton;
Tv1Column25: TcxGridDBColumn;
2024-08-01 10:13:17 +08:00
Tv1Column26: TcxGridDBColumn;
Tv1Column27: TcxGridDBColumn;
2024-09-20 16:26:35 +08:00
ToolButton2: TToolButton;
Tv1Column28: TcxGridDBColumn;
Tv1Column29: TcxGridDBColumn;
Tv1Column30: TcxGridDBColumn;
2024-09-26 14:31:12 +08:00
Label1: TLabel;
OrderNo: TEdit;
2024-07-04 16:01:24 +08:00
procedure FormClose( Sender: TObject; var Action: TCloseAction) ;
procedure TBCloseClick( Sender: TObject) ;
procedure btnDelClick( Sender: TObject) ;
procedure FormShow( Sender: TObject) ;
procedure TBRafreshClick( Sender: TObject) ;
procedure cxGridDBColumn5PropertiesEditValueChanged( Sender: TObject) ;
procedure btnAddClick( Sender: TObject) ;
procedure OppCoNameKeyPress( Sender: TObject; var Key: Char ) ;
procedure cxTabControl1Change( Sender: TObject) ;
procedure btnChkClick( Sender: TObject) ;
procedure btnReChkClick( Sender: TObject) ;
procedure N1Click( Sender: TObject) ;
procedure ToolButton4Click( Sender: TObject) ;
procedure ToolButton5Click( Sender: TObject) ;
procedure N2Click( Sender: TObject) ;
procedure btnEditClick( Sender: TObject) ;
procedure N3Click( Sender: TObject) ;
procedure ToolButton1Click( Sender: TObject) ;
2025-11-08 10:16:26 +08:00
procedure Tv1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean ) ;
2024-09-20 16:26:35 +08:00
procedure ToolButton2Click( Sender: TObject) ;
2024-07-04 16:01:24 +08:00
private
procedure InitGrid( ) ;
procedure SetStatus( ) ;
public
2025-11-08 10:16:26 +08:00
FAuthority, MFFID: string ;
2024-07-04 16:01:24 +08:00
end ;
implementation
uses
2024-09-20 16:26:35 +08:00
U_DataLink, U_RTFun, U_PayableInput, U_ZDYHelp, U_PayableEdit;
2024-07-04 16:01:24 +08:00
{$R *.dfm}
procedure TfrmPayableList. SetStatus( ) ;
begin
btnChk. Enabled : = false ; //<2F> <> <EFBFBD> <EFBFBD>
btnReChk. Enabled : = false ; //<2F> <> <EFBFBD> <EFBFBD>
btnAdd. Enabled : = false ; //<2F> <> <EFBFBD> <EFBFBD>
btnEdit. Enabled : = false ; //<2F> <EFBFBD>
btnDel. Enabled : = false ; //ɾ<> <C9BE>
// if Trim(FAuthority) = '<27> <> <EFBFBD> <EFBFBD> ' then
begin
btnAdd. Enabled : = true ;
case cxTabControl1. TabIndex of
0 :
begin
btnEdit. Enabled : = true ;
btnDel. Enabled : = true ;
btnChk. Enabled : = true ;
end ;
1 :
begin
btnReChk. Enabled : = true ;
end ;
2 :
begin
end ;
end ;
end ;
end ;
procedure TfrmPayableList. InitGrid( ) ;
var
WSql: string ;
begin
WSql : = SGetFilters( Panel1, 1 , 2 ) ;
if Trim( WSql) < > '' then
WSql : = ' and ' + WSql
else
CheckBox1. Checked : = True ;
2024-09-20 16:26:35 +08:00
if not CDS_1. IsEmpty then
MFFID : = Trim( CDS_1. FieldByName( 'FFID' ) . AsString)
else
MFFID : = '' ;
2024-07-04 16:01:24 +08:00
try
ADOQueryMain. DisableControls;
with ADOQueryMain do
begin
Close;
SQL. Clear;
Filtered : = False ;
2024-07-13 11:03:15 +08:00
sql. Add( ' select BuyConNO=ISNULL(A.BuyConNo,(select TOP 1 BuyConNo from Trade_Plan_Sub X where X.MainID=A.OrdMainId )),A.* ' ) ;
2024-07-04 16:01:24 +08:00
sql. Add( 'from Finance_Flow A where A.FFType=' 'Ӧ<> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> Ǽ<EFBFBD> ' ' ' ) ;
case cxTabControl1. TabIndex of
0 :
begin
sql. Add( ' and isnull(status,' '0' ')=' '0' ' ' ) ;
end ;
1 :
begin
sql. Add( ' and isnull(status,' '0' ')=' '9' ' ' ) ;
end ;
end ;
if CheckBox1. Checked then
begin
sql. Add( ' and A.FFTime>=' '' + FormatDateTime( 'yyyy-MM-dd' , begdate. DateTime) + '' ' ' ) ;
2025-08-08 09:57:29 +08:00
sql. Add( ' and A.FFTime<' '' + FormatDateTime( 'yyyy-MM-dd' , Enddate. DateTime + 1 ) + '' ' ' ) ;
2024-07-04 16:01:24 +08:00
end ;
sql. Add( WSql) ;
sql. Add( 'Order By FFTime,OppCoName,OrderNo' ) ;
2025-11-08 10:16:26 +08:00
// ShowMessage(sql.text) ;
2024-07-04 16:01:24 +08:00
Open;
end ;
SCreateCDS( ADOQueryMain, CDS_1) ;
SInitCDSData( ADOQueryMain, CDS_1) ;
finally
ADOQueryMain. EnableControls;
TV1. DataController. Filter. Clear;
end ;
2024-09-20 16:26:35 +08:00
if MFFID < > '' then
CDS_1. Locate( 'FFID' , MFFID, [ ] ) ;
2024-07-04 16:01:24 +08:00
end ;
procedure TfrmPayableList. N1Click( Sender: TObject) ;
begin
SelOKNo( CDS_1, true )
end ;
procedure TfrmPayableList. N2Click( Sender: TObject) ;
begin
Clipboard. SetTextBuf( PChar( Trim( CDS_1. fieldbyname( TV1. Controller. FocusedColumn. DataBinding. FilterFieldName) . AsString) ) ) ;
end ;
procedure TfrmPayableList. N3Click( Sender: TObject) ;
begin
SelOKNo( CDS_1, false )
end ;
procedure TfrmPayableList. FormClose( Sender: TObject; var Action: TCloseAction) ;
begin
inherited ;
Action : = caFree;
end ;
procedure TfrmPayableList. TBCloseClick( Sender: TObject) ;
begin
Close;
end ;
procedure TfrmPayableList. btnDelClick( Sender: TObject) ;
var
FFFIDS: string ;
2025-11-08 10:16:26 +08:00
MOrderNoS: string ;
2024-07-04 16:01:24 +08:00
begin
if CDS_1. IsEmpty then
exit;
if not CDS_1. Locate( 'SSel' , True , [ ] ) then
begin
application. MessageBox( '<27> <> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' ) ;
Exit;
end ;
2025-11-08 10:16:26 +08:00
with ADOQueryTemp do
begin
Close;
SQL. Clear;
2026-05-13 09:12:14 +08:00
sql. Add( ' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr( CDS_1. FieldByName( 'OrderNo' ) . AsString) + ' and status in(' '10' ', ' '12' ') ' ) ;
2025-11-08 10:16:26 +08:00
open;
end ;
if not ADOQueryTemp. IsEmpty then
begin
2026-05-13 09:12:14 +08:00
application. MessageBox( '<27> ƻ<EFBFBD> <C6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɻ<EFBFBD> <C9BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㣬<EFBFBD> <EFBFBD> ɾ<EFBFBD> <C9BE> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
Exit;
end ;
2024-07-04 16:01:24 +08:00
with CDS_1 do
begin
DisableControls;
while CDS_1. Locate( 'SSel' , True , [ ] ) do
begin
FFFIDS : = FFFIDS + Trim( CDS_1. fieldbyname( 'FFID' ) . AsString) + ',' ;
2025-11-08 10:16:26 +08:00
if MOrderNoS < > '' then
MOrderNoS : = MOrderNoS + ',' + QuotedStr( CDS_1. fieldbyname( 'OrderNo' ) . AsString)
else
MOrderNoS : = MOrderNoS + QuotedStr( CDS_1. fieldbyname( 'OrderNo' ) . AsString) ;
2024-07-04 16:01:24 +08:00
CDS_1. Delete;
end ;
EnableControls;
end ;
2025-11-08 10:16:26 +08:00
2024-07-04 16:01:24 +08:00
try
with ADOQueryCmd do
begin
Close;
sql. Clear;
sql. Add( ' exec P_Fin_Flow_Del ' ) ;
sql. Add( ' @FFIDS=' + QuotedStr( FFFIDS) ) ;
Sql. Add( ',@DCode=' + quotedstr( Trim( DCode) ) ) ;
Sql. Add( ',@DName=' + quotedstr( Trim( DName) ) ) ;
open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
raise Exception. Create( pchar( trim( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) ) ) ;
application. MessageBox( 'ɾ<> <C9BE> <EFBFBD> ɹ<EFBFBD> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
with ADOQueryCmd do
begin
close;
sql. clear;
SQL. Add( ' UPDATE Costing_Table ' ) ;
SQL. Add( ' SET COrderSF = cast(( ' ) ;
SQL. Add( ' (cast(isnull(CCPKPJE,0) as decimal(18,2)) - ' ) ;
SQL. Add( ' (SELECT ISNULL(SUM(ISNULL(price,0) * ISNULL(qty, 0)),0) ' ) ;
SQL. Add( ' FROM Finance_Flow X ' ) ;
SQL. Add( ' WHERE FFType = ' 'Ӧ<> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> Ǽ<EFBFBD> ' ' ' ) ;
SQL. Add( ' AND FFAbstract IN (' 'S1-<2D> <> <EFBFBD> <EFBFBD> ֧<EFBFBD> <D6A7> ' ', ' 'S2-ӡȾ֧<C8BE> <D6A7> ' ', ' 'S3-<2D> <> <EFBFBD> ӹ<EFBFBD> <D3B9> <EFBFBD> <EFBFBD> <EFBFBD> ' ') ' ) ;
SQL. Add( ' AND X.OrderNo = Costing_Table.COrderNo)) * cast(ISNULL(COrtherRate,0) as decimal(18,2))) as decimal(18, 2)) ' ) ;
2026-05-13 09:17:14 +08:00
SQL. Add( ' where COrderNo in( ' + MOrderNoS + ')' ) ;
2025-11-08 10:16:26 +08:00
// ShowMessage(sql.Text);
ExecSQL;
end ;
2024-07-04 16:01:24 +08:00
except
application. MessageBox( PChar( Exception( ExceptObject) . Message ) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
InitGrid( ) ;
end ;
end ;
procedure TfrmPayableList. FormShow( Sender: TObject) ;
begin
inherited ;
ReadCxGrid( trim( Self. Caption) , Tv1, '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ) ;
Enddate. DateTime : = SGetServerDate( ADOQueryTemp) ;
2025-01-13 16:36:43 +08:00
begdate. DateTime : = Enddate. DateTime - 3 6 5 ;
2024-07-04 16:01:24 +08:00
SetStatus( ) ;
InitGrid( ) ;
end ;
procedure TfrmPayableList. TBRafreshClick( Sender: TObject) ;
begin
begdate. SetFocus;
with ADOQueryCmd do
begin
Close;
Sql. Clear;
Sql. Add( 'exec P_Fin_Generate_BQ ' ) ;
Open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
begin
application. MessageBox( pchar( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' ) ;
Exit;
end ;
InitGrid( ) ;
end ;
procedure TfrmPayableList. cxGridDBColumn5PropertiesEditValueChanged( Sender: TObject) ;
var
mvalue, FFieldName: string ;
FPS, FQty, FPrice, FQTFee, FMoney, FZKMoney: Double ;
begin
FFieldName : = Trim( Tv1. Controller. FocusedColumn. DataBinding. FilterFieldName) ;
mvalue : = TcxTextEdit( Sender) . EditingText;
if Trim( mvalue) = '' then
begin
mvalue : = '0' ;
end ;
with CDS_1 do
begin
Edit;
FieldByName( FFieldName) . Value : = Trim( mvalue) ;
Post;
FPS : = CDS_1. fieldbyname( 'PS' ) . AsFloat;
FQty : = CDS_1. fieldbyname( 'Qty' ) . AsFloat;
FQTFee : = CDS_1. fieldbyname( 'QTFee' ) . AsFloat;
FPrice : = CDS_1. fieldbyname( 'Price' ) . AsFloat;
FMoney : = CDS_1. fieldbyname( 'Money' ) . AsFloat;
FZKMoney : = CDS_1. fieldbyname( 'ZKMoney' ) . AsFloat;
end ;
if Trim( FFieldName) < > 'Money' then
begin
FMoney : = FQty * FPrice + FQTFee - FZKMoney;
end ;
with CDS_1 do
begin
Edit;
FieldByName( 'Money' ) . Value : = FMoney;
Post;
end ;
with ADOQueryCmd do
begin
Close;
SQL. Clear;
sql. Add( 'update Finance_Flow set ' + FFieldName + '=' + Trim( mvalue) ) ;
if Trim( FFieldName) < > 'Money' then
sql. Add( ' ,Money=' + FloatToStr( FMoney) ) ;
sql. Add( 'where FFID=' + quotedstr( Trim( CDS_1. fieldbyname( 'FFID' ) . AsString) ) ) ;
ExecSQL;
end ;
Tv1. Controller. EditingController. ShowEdit( ) ;
end ;
procedure TfrmPayableList. btnChkClick( Sender: TObject) ;
var
2025-11-08 10:16:26 +08:00
FFFIDS, FFFIDS2: string ;
Count: Integer ;
Value: string ;
2024-07-04 16:01:24 +08:00
begin
if CDS_1. IsEmpty then
exit;
if not CDS_1. Locate( 'SSel' , True , [ ] ) then
begin
application. MessageBox( '<27> <> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' ) ;
Exit;
end ;
2025-11-08 10:16:26 +08:00
Count : = 1 ;
// value :=FConNo;
CDS_1. DisableControls;
2024-07-04 16:01:24 +08:00
with CDS_1 do
begin
2025-11-08 10:16:26 +08:00
First;
while not Eof do
2024-07-04 16:01:24 +08:00
begin
2025-11-08 10:16:26 +08:00
if CDS_1. fieldbyname( 'SSel' ) . AsBoolean then
begin
FFFIDS : = FFFIDS + Trim( CDS_1. fieldbyname( 'FFID' ) . AsString) + ',' ;
if Value = '' then
begin
Value : = FieldByName( 'OrderNo' ) . AsString;
end ;
if Value < > '' then
begin
if Value < > FieldByName( 'OrderNo' ) . AsString then
begin
Count : = Count + 1 ;
end ;
end ;
end ;
Next;
end ;
end ;
CDS_1. EnableControls;
if Count > 1 then
begin
application. MessageBox( 'ѡ <> <D1A1> <EFBFBD> IJ<EFBFBD> <C4B2> <EFBFBD> ͬһ <CDAC> ƻ<EFBFBD> <C6BB> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' ) ;
exit;
end ;
with ADOQueryTemp do
begin
close;
sql. Clear;
sql. Add( ' select COrderNO from Costing_Table where COrderNO = ' + QuotedStr( CDS_1. FieldByName( 'OrderNO' ) . AsString) ) ;
Open;
end ;
if not ADOQueryTemp. IsEmpty then
begin
with ADOQueryCmd do
begin
close;
sql. clear;
sql. add( ' update Costing_Table set HYStatus = 1 where COrderNo =' + QuotedStr( CDS_1. FieldByName( 'OrderNO' ) . AsString) ) ;
SQL. Add( ' UPDATE Costing_Table ' ) ;
SQL. Add( ' SET COrderSF = cast(( ' ) ;
SQL. Add( ' (cast(isnull(CCPKPJE,0) as decimal(18,2)) - ' ) ;
SQL. Add( ' (SELECT ISNULL(SUM(ISNULL(price,0) * ISNULL(qty, 0)),0) ' ) ;
SQL. Add( ' FROM Finance_Flow X ' ) ;
SQL. Add( ' WHERE FFType = ' 'Ӧ<> <D3A6> <EFBFBD> <EFBFBD> <EFBFBD> Ǽ<EFBFBD> ' ' ' ) ;
SQL. Add( ' AND FFAbstract IN (' 'S1-<2D> <> <EFBFBD> <EFBFBD> ֧<EFBFBD> <D6A7> ' ', ' 'S2-ӡȾ֧<C8BE> <D6A7> ' ', ' 'S3-<2D> <> <EFBFBD> ӹ<EFBFBD> <D3B9> <EFBFBD> <EFBFBD> <EFBFBD> ' ') ' ) ;
SQL. Add( ' AND X.OrderNo = Costing_Table.COrderNo)) * cast(ISNULL(COrtherRate,0) as decimal(18,2))) as decimal(18, 2)) ' ) ;
SQL. Add( ' where COrderNo = ' + QuotedStr( CDS_1. FieldByName( 'OrderNo' ) . AsString) ) ;
// ShowMessage(sql.Text);
ExecSQL;
2024-07-04 16:01:24 +08:00
end ;
end ;
try
with ADOQueryCmd do
begin
Close;
sql. Clear;
sql. Add( ' exec P_Fin_Flow_SetStatus ' ) ;
sql. Add( ' @FFIDS=' + QuotedStr( FFFIDS) ) ;
sql. Add( ',@Operation=' '<27> <> <EFBFBD> <EFBFBD> ' ' ' ) ;
Sql. Add( ',@DCode=' + quotedstr( Trim( DCode) ) ) ;
Sql. Add( ',@DName=' + quotedstr( Trim( DName) ) ) ;
open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
raise Exception. Create( pchar( trim( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) ) ) ;
application. MessageBox( '<27> <> <EFBFBD> ˳ɹ<CBB3> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
InitGrid( ) ;
2024-07-04 16:01:24 +08:00
except
application. MessageBox( PChar( Exception( ExceptObject) . Message ) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
end ;
end ;
procedure TfrmPayableList. btnReChkClick( Sender: TObject) ;
var
2025-11-08 10:16:26 +08:00
FFFIDS, FFFIDS2: string ;
Value: string ;
count: Integer ;
2024-07-04 16:01:24 +08:00
begin
if CDS_1. IsEmpty then
exit;
if not CDS_1. Locate( 'SSel' , True , [ ] ) then
begin
application. MessageBox( '<27> <> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' ) ;
Exit;
end ;
2025-11-08 10:16:26 +08:00
count : = 1 ;
// value :=FConNo;
CDS_1. DisableControls;
2024-07-04 16:01:24 +08:00
with CDS_1 do
begin
2025-11-08 10:16:26 +08:00
First;
while not Eof do
2024-07-04 16:01:24 +08:00
begin
2025-11-08 10:16:26 +08:00
if CDS_1. fieldbyname( 'SSel' ) . AsBoolean then
begin
2026-05-13 09:17:14 +08:00
with ADOQueryTemp do
begin
Close;
SQL. Clear;
SQL. Add( ' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr( CDS_1. FieldByName( 'OrderNo' ) . AsString) + ' and status in(' '10' ', ' '12' ') ' ) ;
open;
end ;
if ADOQueryTemp. IsEmpty = false then
begin
application. MessageBox( PChar( '<27> ƻ<EFBFBD> <C6BB> <EFBFBD> ' + CDS_1. FieldByName( 'OrderNo' ) . AsString + '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> ɻ<EFBFBD> <C9BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㣬<EFBFBD> <EFBFBD> <DEB7> <EFBFBD> <EFBFBD> <EFBFBD> ' ) , '<27> <> ʾ ' ) ;
Exit;
end ;
2025-11-08 10:16:26 +08:00
FFFIDS : = FFFIDS + Trim( CDS_1. fieldbyname( 'FFID' ) . AsString) + ',' ;
if Value = '' then
begin
Value : = FieldByName( 'OrderNo' ) . AsString;
end ;
if Value < > '' then
begin
if Value < > FieldByName( 'OrderNo' ) . AsString then
begin
count : = count + 1 ;
end ;
end ;
end ;
Next;
2024-07-04 16:01:24 +08:00
end ;
2025-11-08 10:16:26 +08:00
end ;
CDS_1. EnableControls;
if count > 1 then
begin
application. MessageBox( 'ѡ <> <D1A1> <EFBFBD> IJ<EFBFBD> <C4B2> <EFBFBD> ͬһ <CDAC> ƻ<EFBFBD> <C6BB> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' ) ;
exit;
end ;
// with CDS_1 do
// begin
// DisableControls;
// while CDS_1.Locate('SSel', True, []) do
// begin
// FFFIDS := FFFIDS + Trim(CDS_1.fieldbyname('FFID').AsString) + ',';
// CDS_1.Delete;
//// Next;
// end;
// EnableControls;
// end;
with ADOQueryCmd do
begin
close;
sql. clear;
sql. add( ' update Costing_Table set HYStatus = 1 where COrderNo =' + QuotedStr( CDS_1. FieldByName( 'OrderNO' ) . AsString) ) ;
// ShowMessage(sql.Text);
ExecSQL;
2024-07-04 16:01:24 +08:00
end ;
try
with ADOQueryCmd do
begin
Close;
sql. Clear;
sql. Add( ' exec P_Fin_Flow_SetStatus ' ) ;
sql. Add( ' @FFIDS=' + QuotedStr( FFFIDS) ) ;
sql. Add( ',@Operation=' '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ' ' ) ;
Sql. Add( ',@DCode=' + quotedstr( Trim( DCode) ) ) ;
Sql. Add( ',@DName=' + quotedstr( Trim( DName) ) ) ;
open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
raise Exception. Create( pchar( trim( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) ) ) ;
application. MessageBox( '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ˳ɹ<CBB3> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
InitGrid( ) ;
2024-07-04 16:01:24 +08:00
except
application. MessageBox( PChar( Exception( ExceptObject) . Message ) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
2025-11-08 10:16:26 +08:00
2024-07-04 16:01:24 +08:00
end ;
end ;
procedure TfrmPayableList. btnAddClick( Sender: TObject) ;
begin
try
frmPayableInput : = TfrmPayableInput. Create( Application) ;
with frmPayableInput do
begin
FFFID : = '' ;
if ShowModal = 1 then
begin
InitGrid( ) ;
end ;
end ;
finally
frmPayableInput. Free;
end ;
end ;
procedure TfrmPayableList. ToolButton1Click( Sender: TObject) ;
begin
try
frmPayableInput : = TfrmPayableInput. Create( Application) ;
with frmPayableInput do
begin
FFFID : = Trim( SELF. CDS_1. fieldbyname( 'FFID' ) . AsString) ;
2025-11-08 10:16:26 +08:00
PState : = '<27> <> <EFBFBD> <EFBFBD> ' ;
2024-07-04 16:01:24 +08:00
if ShowModal = 1 then
begin
InitGrid( ) ;
end ;
end ;
finally
frmPayableInput. Free;
end ;
end ;
2024-09-20 16:26:35 +08:00
procedure TfrmPayableList. ToolButton2Click( Sender: TObject) ;
var
MFFIDS: string ;
begin
if CDS_1. IsEmpty then
exit;
if not CDS_1. Locate( 'SSel' , True , [ ] ) then
begin
application. MessageBox( '<27> <> ѡ <EFBFBD> <D1A1> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' , '<27> <> ʾ ' ) ;
Exit;
end ;
2025-11-08 10:16:26 +08:00
with ADOQueryTemp do
begin
Close;
SQL. Clear;
2026-05-13 09:12:14 +08:00
sql. Add( ' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr( CDS_1. FieldByName( 'OrderNo' ) . AsString) + ' and status in(' '10' ', ' '12' ') ' ) ;
2025-11-08 10:16:26 +08:00
open;
end ;
if not ADOQueryTemp. IsEmpty then
begin
2026-05-13 09:12:14 +08:00
application. MessageBox( '<27> ƻ<EFBFBD> <C6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɻ<EFBFBD> <C9BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㣬<EFBFBD> <E3A3AC> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɾ<EFBFBD> <C9BE> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
Exit;
end ;
2024-09-20 16:26:35 +08:00
with CDS_1 do
begin
DisableControls;
while CDS_1. Locate( 'SSel' , True , [ ] ) do
begin
MFFIDS : = MFFIDS + Trim( CDS_1. fieldbyname( 'FFID' ) . AsString) + ',' ;
CDS_1. Delete;
end ;
EnableControls;
end ;
try
with ADOQueryCmd do
begin
Close;
sql. Clear;
sql. Add( ' exec P_Fin_Flow_Judge ' ) ;
sql. Add( ' @FFIDS=' + QuotedStr( MFFIDS) ) ;
Sql. Add( ',@DCode=' + quotedstr( Trim( DCode) ) ) ;
Sql. Add( ',@DName=' + quotedstr( Trim( DName) ) ) ;
open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
raise Exception. Create( pchar( trim( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) ) ) ;
except
application. MessageBox( PChar( Exception( ExceptObject) . Message ) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
Exit;
end ;
try
frmPayableEdit : = TfrmPayableEdit. Create( Application) ;
with frmPayableEdit do
begin
FFFIDS : = MFFIDS;
if ShowModal = 1 then
begin
InitGrid( ) ;
end ;
end ;
finally
frmPayableEdit. Free;
end ;
end ;
2024-07-04 16:01:24 +08:00
procedure TfrmPayableList. ToolButton4Click( Sender: TObject) ;
begin
if ADOQueryMain. IsEmpty then
Exit;
TcxGridToExcel( self. Caption, cxgrid1) ;
end ;
procedure TfrmPayableList. ToolButton5Click( Sender: TObject) ;
begin
WriteCxGrid( trim( Self. Caption) , Tv1, '<27> <> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ) ;
end ;
2025-11-08 10:16:26 +08:00
procedure TfrmPayableList. Tv1CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean ) ;
2024-07-04 16:01:24 +08:00
begin
2025-11-08 10:16:26 +08:00
if ( AViewInfo. GridRecord. Values[ tv1. GetColumnByFieldName( 'Filler' ) . Index ] < > '<27> Զ<EFBFBD> ' ) and ( AViewInfo. GridRecord. Values[ tv1. GetColumnByFieldName( 'FFAbstract' ) . Index ] < > 'S4-<2D> ִ<EFBFBD> <D6B4> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ' ) then
ACanvas. Font. Color : = clBlue;
2024-07-04 16:01:24 +08:00
// if '<27> Զ<EFBFBD> ' <> AViewInfo.GridRecord.Values[Tv1Column25.Index] then ACanvas.Font.Color := clBlue;
end ;
procedure TfrmPayableList. btnEditClick( Sender: TObject) ;
begin
2025-11-08 10:16:26 +08:00
with ADOQueryTemp do
begin
Close;
SQL. Clear;
2026-05-13 09:12:14 +08:00
sql. Add( ' select * from Trade_Plan_Main where OrderNo = ' + QuotedStr( CDS_1. FieldByName( 'OrderNo' ) . AsString) + ' and status in(' '10' ', ' '12' ') ' ) ;
2025-11-08 10:16:26 +08:00
open;
end ;
if not ADOQueryTemp. IsEmpty then
begin
2026-05-13 09:12:14 +08:00
application. MessageBox( '<27> ƻ<EFBFBD> <C6BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> ɻ<EFBFBD> <C9BB> <EFBFBD> <EFBFBD> <EFBFBD> <EFBFBD> 㣬<EFBFBD> <EFBFBD> <DEB7> <EFBFBD> ' , '<27> <> ʾ ' ) ;
2025-11-08 10:16:26 +08:00
Exit;
end ;
2024-07-04 16:01:24 +08:00
try
with ADOQueryCmd do
begin
Close;
sql. Clear;
sql. Add( ' exec P_Fin_Flow_Judge ' ) ;
sql. Add( ' @FFIDS=' + QuotedStr( Trim( SELF. CDS_1. fieldbyname( 'FFID' ) . AsString) ) ) ;
Sql. Add( ',@DCode=' + quotedstr( Trim( DCode) ) ) ;
Sql. Add( ',@DName=' + quotedstr( Trim( DName) ) ) ;
open;
end ;
if ADOQueryCmd. FieldByName( 'intReturn' ) . AsInteger = - 1 then
raise Exception. Create( pchar( trim( ADOQueryCmd. FieldByName( 'ShowMsg' ) . AsString) ) ) ;
except
application. MessageBox( PChar( Exception( ExceptObject) . Message ) , '<27> <> ʾ <EFBFBD> <CABE> Ϣ' , 0 ) ;
Exit;
end ;
try
frmPayableInput : = TfrmPayableInput. Create( Application) ;
with frmPayableInput do
begin
FFFID : = Trim( SELF. CDS_1. fieldbyname( 'FFID' ) . AsString) ;
if ShowModal = 1 then
begin
InitGrid( ) ;
end ;
end ;
finally
frmPayableInput. Free;
end ;
end ;
procedure TfrmPayableList. OppCoNameKeyPress( Sender: TObject; var Key: Char ) ;
begin
if Key = #13 then
begin
InitGrid( ) ;
end ;
end ;
procedure TfrmPayableList. cxTabControl1Change( Sender: TObject) ;
begin
SetStatus( ) ;
InitGrid( ) ;
end ;
end .