D7myzhenyong/应收应付/U_SDMANAGEINPUT.pas
DESKTOP-E401PHE\Administrator 237de1c308 0
2025-08-26 15:25:51 +08:00

900 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_SDMANAGEINPUT;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, ComCtrls, ToolWin, DB, ADODB, cxControls, cxContainer, cxEdit,
cxTextEdit, cxCurrencyEdit, BtnEdit, StdCtrls, ExtCtrls, cxStyles,
cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage, cxDBData,
cxButtonEdit, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxGridCustomView, cxGrid, cxGridCustomPopupMenu,
cxGridPopupMenu, DBClient, cxDropDownEdit, Menus, cxLookAndFeelPainters,
strUtils, cxButtons, cxImage, cxDBEdit, IdBaseComponent, IdComponent,
IdTCPConnection, IdTCPClient, ShellAPI, IdFTP, cxLookAndFeels, cxNavigator;
type
TfrmSDMANAGEINPUT = class(TForm)
ToolBar1: TToolBar;
TSAVE: TToolButton;
Tclose: TToolButton;
ADOQueryTMP: TADOQuery;
ADOQueryCMD: TADOQuery;
cxStyleRepository1: TcxStyleRepository;
cxStyle1: TcxStyle;
cxGridPopupMenu2: TcxGridPopupMenu;
CDS_HZ: TClientDataSet;
ADOQueryMain: TADOQuery;
DS_HZ: TDataSource;
ADOQueryImage: TADOQuery;
DataSource1: TDataSource;
Panel1: TPanel;
Label1: TLabel;
Label3: TLabel;
Label5: TLabel;
Label6: TLabel;
Label9: TLabel;
Label2: TLabel;
Label10: TLabel;
Label12: TLabel;
Label17: TLabel;
Label13: TLabel;
Label14: TLabel;
ZWBFY: TEdit;
ZSKP: TEdit;
ZYJ: TEdit;
ZGNKF: TEdit;
ZQITA: TEdit;
CRTime: TDateTimePicker;
SDNO: TEdit;
money: TEdit;
BZType: TComboBox;
factoryName: TBtnEditA;
Label7: TLabel;
Note: TMemo;
ToolBar2: TToolBar;
ToolButton2: TToolButton;
ToolButton3: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
v1Column13: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column20: TcxGridDBColumn;
v1Column14: TcxGridDBColumn;
Tv1Column1: TcxGridDBColumn;
Tv1Column2: TcxGridDBColumn;
v1YSKeZhong: TcxGridDBColumn;
cxGrid1Level1: TcxGridLevel;
wxfpno: TEdit;
Tv1Column3: TcxGridDBColumn;
ToolButton1: TToolButton;
Label4: TLabel;
DZMONEY: TEdit;
Tv1Column4: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column6: TcxGridDBColumn;
Tv1Column7: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Label8: TLabel;
ToolButton4: TToolButton;
Tv1Column9: TcxGridDBColumn;
ToolButton5: TToolButton;
ADOQuery1: TADOQuery;
Tv1Column10: TcxGridDBColumn;
ToolButton6: TToolButton;
Label11: TLabel;
TZmoney: TEdit;
Tv1Column11: TcxGridDBColumn;
procedure TcloseClick(Sender: TObject);
procedure TSAVEClick(Sender: TObject);
procedure FormClose(Sender: TObject; var Action: TCloseAction);
procedure FormDestroy(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure QtyKeyPress(Sender: TObject; var Key: Char);
procedure factoryNameBtnClick(Sender: TObject);
procedure WXFPNOBtnClick(Sender: TObject);
procedure WXFPNOBtnUpClick(Sender: TObject);
procedure WXFPNOBtnDnClick(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv1Column1PropertiesChange(Sender: TObject);
procedure Tv1Column1PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure moneyChange(Sender: TObject);
procedure v1Column14PropertiesEditValueChanged(Sender: TObject);
procedure ToolButton4Click(Sender: TObject);
procedure ToolButton5Click(Sender: TObject);
procedure ToolButton6Click(Sender: TObject);
procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure Tv1Column11PropertiesEditValueChanged(Sender: TObject);
private
procedure savedata();
procedure initdata();
procedure HJJE();
procedure DZJE();
{ Private declarations }
public
fkeyNo: string;
fflag: integer;
fSYRName: string;
canshu1: string;
fFlileFlag: string;
{ Public declarations }
end;
var
frmSDMANAGEINPUT: TfrmSDMANAGEINPUT;
implementation
uses
U_DataLink, U_Fun, U_ZDYHelp, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS,
U_CHListsel, U_JHDMAKELISTSEL, U_ProductOrderListSel;
{$R *.dfm}
procedure TfrmSDMANAGEINPUT.HJJE();
var
FMoney, FHuiLv, FBBMoney: double;
begin
if TV1.DataController.Summary.FooterSummaryValues[9] <> NULL then
FMoney := TV1.DataController.Summary.FooterSummaryValues[9]
else
FMoney := 0;
zskp.Text := floattostr(FMoney);
end;
procedure TfrmSDMANAGEINPUT.DZJE();
var
FMoney, FYJ, FWBFY, FQITA, FGNKF, FSKP, fhjhx: double;
JL: Integer;
begin
FMoney := StrToFloatDef(money.TEXT, 0);
FGNKF := StrToFloatDef(ZGNKF.TEXT, 0);
FYJ := StrToFloatDef(ZYJ.TEXT, 0);
FWBFY := StrToFloatDef(ZWBFY.TEXT, 0);
FQITA := StrToFloatDef(ZQITA.TEXT, 0);
FSKP := StrToFloatDef(ZSKP.TEXT, 0);
DZMONEY.TEXT := FLOATTOSTR(FMoney - FYJ - FGNKF - FWBFY - FQITA - FSKP);
fhjhx := 0;
if TV1.DataController.Summary.FooterSummaryValues[8] <> null then
begin
fhjhx := TV1.DataController.Summary.FooterSummaryValues[8];
end;
if CDS_HZ.IsEmpty = FALSE then
begin
JL := CDS_HZ.RecordCount;
with CDS_HZ do
begin
First;
while not Eof do
begin
Edit;
if FGNKF <> 0 then
begin
fieldbyname('GNKFMONEY').VALUE := FGNKF / JL;
end;
if FWBFY <> 0 then
begin
fieldbyname('WBFYMONEY').VALUE := FWBFY / JL;
end;
if FQITA <> 0 then
begin
fieldbyname('QTMONEY').VALUE := FQITA / JL;
end;
if FYJ <> 0 then
begin
fieldbyname('YJMONEY').VALUE := FYJ / JL;
// fieldbyname('YJMONEY').VALUE := StrToFloatDef(fieldbyname('HXNUM').ASSTRING, 0) / 100 * FYJ;
end;
if DZMONEY.TEXT <> '' then
begin
fieldbyname('ZDZJE').VALUE := StrToFloatDef(fieldbyname('HXNUM').ASSTRING, 0) - StrToFloatDef(fieldbyname('SPK').ASSTRING, 0) - StrToFloatDef(fieldbyname('GNKFMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('WBFYMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('QTMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('YJMONEY').ASSTRING, 0) - StrToFloatDef(fieldbyname('SUBTZMONEY').ASSTRING, 0);
end;
Post;
Next;
end;
end;
end;
// if fhjhx <> 0 then
// begin
// ShowMessage(FloatToStr(fhjhx));
fhjhx := RoundFloat((StrToFloatdef(money.Text, 0) - fhjhx), 2);
label8.Caption := <><CEB4><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>' + Trim(FloatToStr(fhjhx));
// end;
end;
procedure TfrmSDMANAGEINPUT.initdata();
begin
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * from YF_Money_CR A where A.YFID=' + quotedstr(trim(fkeyNo)));
// ShowMessage(sql.Text);
open;
end;
if ADOQueryTmp.isempty = False then
begin
SCSHDataNew(ADOQueryTmp, Panel1, 1);
SCSHDataNew(ADOQueryTmp, Panel1, 2);
end
else
begin
ZGNKF.Text := '0';
ZWBFY.Text := '0';
ZQITA.Text := '0';
ZYJ.Text := '0';
money.Text := '0';
ZSKP.Text := '0';
CRTime.DateTime := SGetServerDate(ADOQueryTmp);
end;
with ADOQueryTmp do
begin
close;
sql.Clear;
sql.Add('select * ');
SQL.Add(',DHXMONEY=MXMONEY-(SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=A.SUBWXFPNO AND D.MXORDERNO=A.MXORDERNO)');
SQL.Add(',YHXMONEY=(SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=A.SUBWXFPNO AND D.MXORDERNO=A.MXORDERNO)');
SQL.Add(' from YF_Money_CR_Sub A where YFID=''' + trim(fkeyNo) + '''');
open;
end;
SCreateCDS20(ADOQueryTmp, CDS_HZ);
SInitCDSData20(ADOQueryTmp, CDS_HZ);
end;
procedure TfrmSDMANAGEINPUT.savedata();
var
MaxYFSID, MaxYFID: string;
begin
ADOQueryCmd.Connection.BeginTrans;
try
if trim(fkeyNo) = '' then
begin
if GetLSNo(ADOQueryTmp, MaxYFID, 'SK', 'YF_Money_CR', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
MaxYFID := trim(fkeyNo);
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('select * from YF_Money_CR where YFID=' + quotedstr(fkeyNo));
open;
end;
with ADOQueryCmd do
begin
if trim(fkeyNo) = '' then
begin
append;
Fieldbyname('YFID').value := trim(MaxYFID);
FieldByName('CRType').Value := '<27>տ<EFBFBD><D5BF>Ǽ<EFBFBD>';
FieldByName('CRFlag').Value := <><D3A6><EFBFBD><EFBFBD>';
FieldByName('QtyFlag').Value := -1;
FieldByName('BBMONEY').Value := money.Text;
FieldByName('status').Value := '0';
FieldByName('Filler').Value := Trim(DName);
Fieldbyname('SKtype').value := <><CBAE>';
end
else
begin
edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOQueryTmp);
end;
Fieldbyname('wxfpno').value := Trim(wxfpno.Text);
SSetsaveSqlnew(ADOQueryCmd, 'YF_Money_CR', Self.panel1, 1);
post;
end;
////<2F><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD>
with ADOQueryTMP do
begin
Close;
sql.Clear;
sql.add('select count(*) as AA from YF_Money_CR where sdno=' + quotedstr(Trim(SDNO.Text)));
Open;
if FieldByName('AA').AsInteger > 1 then
begin
ADOQueryCmd.Connection.RollbackTrans;
Application.MessageBox(<><CBAE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end;
with CDS_HZ do
begin
first;
while not eof do
begin
if fieldbyname('YFSID').AsString = '' then
begin
if GetLSNo(ADOQueryTmp, MaxYFSID, 'SKS', 'YF_Money_CR_Sub', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
end
else
begin
MaxYFSID := CDS_HZ.fieldbyname('YFSID').AsString;
end;
with ADOQueryCmd do
begin
close;
sql.Clear;
sql.add('select * from YF_Money_CR_Sub where YFSID=' + Quotedstr(trim(MaxYFSID)));
open;
end;
if ADOQueryCmd.IsEmpty then
begin
ADOQueryCmd.append;
ADOQueryCmd.Fieldbyname('YFSID').value := trim(MaxYFSID);
ADOQueryCmd.Fieldbyname('YFID').value := trim(MaxYFID);
end
else
begin
ADOQueryCmd.edit;
end;
ADOQueryCmd.Fieldbyname('qty').value := 0;
ADOQueryCmd.Fieldbyname('price').value := 0;
ADOQueryCmd.Fieldbyname('kxtype').value := <><CBAE>';
SSetSaveDataCDSNew(ADOQueryCmd, Tv1, CDS_HZ, 'YF_Money_CR_Sub', 0);
ADOQueryCmd.Post;
next;
end;
end;
ADOQueryCmd.Connection.CommitTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ');
fkeyNo := MaxYFID;
Modalresult := 1;
except
ADOQueryCmd.Connection.RollbackTrans;
application.MessageBox('<27><><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', MB_ICONERROR);
end;
end;
procedure TfrmSDMANAGEINPUT.TcloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmSDMANAGEINPUT.TSAVEClick(Sender: TObject);
var
FREAL: Double;
FMONEY1: Double;
begin
if CDS_HZ.IsEmpty then
begin
application.MessageBox('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
exit;
end;
if trim(SDNO.Text) = '' then
begin
application.MessageBox(<><CBAE><EFBFBD><EFBFBD><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
exit;
end;
// if Trim(wxfpno.Text) = '' then
// begin
// application.MessageBox('<27><>Ʊ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
// exit;
// end;
if Trim(factoryName.Text) = '' then
begin
application.MessageBox('<27>ͻ<EFBFBD><CDBB><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD><CEAA>', '<27><>ʾ');
exit;
end;
FMONEY1 := StrToFloatDef(money.Text, 0) - StrToFloatDef(tzmoney.Text, 0);
// if TV1.DataController.Summary.FooterSummaryValues[7] <> null then
// begin
// if TV1.DataController.Summary.FooterSummaryValues[7] < FMONEY1 then
// begin
// application.MessageBox('<27>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ڷ<EFBFBD>Ʊ<EFBFBD><C6B1><EFBFBD><EFBFBD>', '<27><>ʾ');
// exit;
// end;
//
// end;
// if TV1.DataController.Summary.FooterSummaryValues[8] <> null then
// begin
// if TV1.DataController.Summary.FooterSummaryValues[8] < FMONEY1 then
// begin
// application.MessageBox('<27>ջ<EFBFBD><D5BB><EFBFBD><EFBFBD><EFBFBD>ܴ<EFBFBD><DCB4>ں<EFBFBD><DABA><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ');
// exit;
// end;
//
// end;
savedata();
end;
procedure TfrmSDMANAGEINPUT.FormClose(Sender: TObject; var Action: TCloseAction);
begin
Action := cahide;
end;
procedure TfrmSDMANAGEINPUT.FormDestroy(Sender: TObject);
begin
frmSDMANAGEINPUT := nil;
end;
procedure TfrmSDMANAGEINPUT.FormShow(Sender: TObject);
begin
ToolBar1.SetFocus();
SClearData(Panel1, 0);
CRTime.DateTime := SGetServerDate10(adoqueryTmp);
initData();
DZJE();
end;
procedure TfrmSDMANAGEINPUT.QtyKeyPress(Sender: TObject; var Key: Char);
begin
if not (Key in ['0'..'9', '.', '-', #8]) then
Key := #0;
if (Key = '.') and (Pos('.', Tedit(Sender).Text) > 0) then
Key := #0;
end;
procedure TfrmSDMANAGEINPUT.factoryNameBtnClick(Sender: TObject);
begin
try
frmZdyAttachment := TfrmZdyAttachment.Create(Application);
with frmZdyAttachment do
begin
if ShowModal = 1 then
begin
FactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString);
end;
end;
finally
frmZdyAttachment.Free;
end;
end;
procedure TfrmSDMANAGEINPUT.WXFPNOBtnClick(Sender: TObject);
begin
try
frmCHListsel := TfrmCHListsel.Create(Application);
with frmCHListsel do
begin
if ShowModal = 1 then
begin
WXFPNO.Text := Trim(CDS_Main.fieldbyname('A4FPNO').AsString);
end;
end;
finally
frmCHListsel.Free;
end;
end;
procedure TfrmSDMANAGEINPUT.WXFPNOBtnUpClick(Sender: TObject);
begin
try
frmCHListsel := TfrmCHListsel.Create(Application);
with frmCHListsel do
begin
if ShowModal = 1 then
begin
while CDS_Main.Locate('SSel', true, []) do
begin
if WXFPNO.Text = '' then
begin
WXFPNO.Text := Trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ';';
end
else
begin
WXFPNO.Text := Trim(WXFPNO.Text) + Trim(CDS_Main.fieldbyname('A4FPNO').AsString) + ';';
end;
CDS_Main.Delete;
end;
end;
end;
finally
frmCHListsel.Free;
end;
end;
procedure TfrmSDMANAGEINPUT.WXFPNOBtnDnClick(Sender: TObject);
begin
WXFPNO.Text := '';
end;
procedure TfrmSDMANAGEINPUT.ToolButton2Click(Sender: TObject);
var
AA: array[0..100] of string;
i, J, K, Count: Integer;
begin
try
frmJHDMAKEListsel := TfrmJHDMAKEListsel.Create(Application);
with frmJHDMAKEListsel do
begin
if ShowModal = 1 then
begin
while CDS_Main.Locate('SSel', true, []) do
begin
WXFPNO.Text := WXFPNO.Text + CDS_Main.fieldbyname('A4FPNO').AsString + ';';
if factoryName.Text = '' then
begin
factoryName.Text := CDS_Main.fieldbyname('KHName').AsString;
end;
with ADOQueryTMP do
begin
Close;
SQL.Clear;
sql.Add('SELECT ORDERNO,DDHXNUM,(C7BGMoney+(CASE WHEN DDGS>0 THEN ROUND(ADDMONEY/DDGS,2) ELSE 0 END ))C7BGMoney FROM ( ');
SQL.Add('select (sum(C7BGMoney)+sum(isnull(CYFEE,0))) C7BGMoney,orderno ');
SQL.Add(',DDGS=(select count(distinct OrderNo) from JHD_SUB b where B.SVALID=''Y'' AND b.jhid=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
SQL.Add(')');
sql.Add(',DDHXNUM=ISNULL((SELECT SUM(HXNUM) FROM YF_MONEY_CR_SUB D WHERE D.SUBWXFPNO=B.A4FPNO AND D.MXORDERNO=A.ORDERNO),0)');
SQL.Add(',ADDMONEY=(SELECT isnull(jsmoney,0)-isnull(jmmoney,0) FROM JHD_Main B where b.VALID=''Y'' and b.jhid=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
SQL.Add(')from jhd_SUB a INNER JOIN JHD_MAIN B ON A.JHID=B.JHID');
SQL.Add('where A.JHID=' + QuotedStr(Trim(CDS_Main.fieldbyname('jhid').AsString)));
SQL.Add('AND B.VALID=''Y'' AND A.SVALID=''Y''');
sql.Add('GROUP BY ORDERNO,A4FPNO )AA ORDER BY ORDERNO');
// ShowMessage(SQL.Text);
Open;
end;
with ADOQueryTMP do
begin
First;
while not Eof do
begin
with self.CDS_HZ do
begin
append;
FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
FieldByName('YHXMONEY').Value := ADOQueryTMP.fieldbyname('DDHXNUM').AsString;
FieldByName('mxmoney').Value := ADOQueryTMP.fieldbyname('C7BGMoney').AsString;
FieldByName('DHXMONEY').Value := StrToFloatDEF(ADOQueryTMP.fieldbyname('C7BGMoney').AsString, 0) - StrToFloatDEF(ADOQueryTMP.fieldbyname('DDHXNUM').AsString, 0);
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD>';
Post;
end;
Next;
end;
end;
CDS_Main.Delete;
end;
end;
end;
finally
frmJHDMAKEListsel.Free;
end;
DZJE();
// with CDS_HZ do
// begin
// First;
// i := 0;
// while not Eof do
// begin
// AA[i] := Trim(fieldbyname('SUBWXFPNO').AsString);
// i := i + 1;
// Next;
// end;
// end;
// Count := Length(N);
// for i := 0 to Count - 1 do
// begin
// for J := i + 1 to Count - 1 do
// begin
// if N[i] = N[J] then
// begin
// K := J + 1;
// while K < Count do
// begin
// N[K - 1] := N[K];
// Inc(K);
// Dec(Count);
// end;
// end;
// if J >= Count then
// Break;
// end;
// if i >= Count then
// Break;
//
// end;
end;
procedure TfrmSDMANAGEINPUT.v1Column13PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmJHDMAKEListsel := TfrmJHDMAKEListsel.Create(Application);
with frmJHDMAKEListsel do
begin
if ShowModal = 1 then
begin
with self.CDS_HZ do
begin
Edit;
FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
// FieldByName('MXORDERNO').Value := CDS_Main.fieldbyname('hZORDERNO').AsString;
end;
end;
end;
finally
frmJHDMAKEListsel.Free;
end;
end;
procedure TfrmSDMANAGEINPUT.Tv1Column1PropertiesChange(Sender: TObject);
begin
HJJE();
end;
procedure TfrmSDMANAGEINPUT.Tv1Column1PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FQty, FPrice, FMxMoney: double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
tv1.Controller.EditingController.ShowEdit();
HJJE();
end;
procedure TfrmSDMANAGEINPUT.ToolButton3Click(Sender: TObject);
begin
if CDS_HZ.IsEmpty then
exit;
if application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD>', '<27><>ʾ', 1) = 2 then
exit;
if trim(CDS_HZ.fieldbyname('YFSID').asstring) = '' then
begin
CDS_HZ.delete;
HJJE();
end
else
begin
with ADOQueryCmd do
begin
close;
sql.clear;
sql.add('delete from YF_Money_CR_Sub where YFSID=''' + trim(CDS_HZ.fieldbyname('YFSID').asstring) + ''' ');
execsql;
end;
CDS_HZ.delete;
HJJE();
end;
with CDS_HZ do
begin
WXFPNO.TEXT := '';
First;
while not Eof do
begin
WXFPNO.Text := WXFPNO.Text + CDS_HZ.fieldbyname('SUBWXFPNO').AsString + ';';
Next;
end;
end;
DZJE();
end;
procedure TfrmSDMANAGEINPUT.ToolButton1Click(Sender: TObject);
begin
with self.CDS_HZ do
begin
append;
// FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
// FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
FieldByName('mxmoney').Value := 0;
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD>';
Post;
end;
DZJE();
end;
procedure TfrmSDMANAGEINPUT.moneyChange(Sender: TObject);
begin
DZJE();
end;
procedure TfrmSDMANAGEINPUT.v1Column14PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FQty, FPrice, FMxMoney: double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
FQty := StrToFloatDef(ZYJ.Text, 0);
with CDS_HZ do
begin
Edit;
FPrice := FieldByName('HXNUM').AsFloat;
Post;
end;
FMxMoney := strtofloat(format('%.2f', [FPrice * FQty / 100]));
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
FieldbyName('YJMONEY').Value := FMxMoney;
Post;
end;
tv1.Controller.EditingController.ShowEdit();
dzje();
end;
procedure TfrmSDMANAGEINPUT.ToolButton4Click(Sender: TObject);
var
FMONEY: Double;
begin
if money.Text <> '' then
begin
FMONEY := StrToFloatDEF(money.Text, 0) ; //- StrToFloatDEF(TZmoney.Text, 0)
with CDS_HZ do
begin
First;
while not Eof do
begin
Edit;
CDS_HZ.FieldByName('HXNUM').value := 0;
CDS_HZ.FieldByName('DHXMONEY').value := CDS_HZ.FieldByName('MXMONEY').value - CDS_HZ.FieldByName('yhxmoney').value;
Next;
end;
end;
with CDS_HZ do
begin
First;
while not Eof do
begin
FMONEY := FMONEY - CDS_HZ.FieldByName('DHXMONEY').AsFloat;
if FMONEY > 0 then
begin
Edit;
CDS_HZ.FieldByName('HXNUM').value := StrToFloatdef(CDS_HZ.FieldByName('HXNUM').AsString, 0) + CDS_HZ.FieldByName('DHXMONEY').AsFloat;
CDS_HZ.FieldByName('DHXMONEY').value := 0;
Post;
end
else
begin
Edit;
CDS_HZ.FieldByName('HXNUM').value := StrToFloatdef(CDS_HZ.FieldByName('HXNUM').AsString, 0) + FMONEY + CDS_HZ.FieldByName('DHXMONEY').AsFloat;
CDS_HZ.FieldByName('DHXMONEY').value := CDS_HZ.FieldByName('DHXMONEY').value - CDS_HZ.FieldByName('HXNUM').value;
Post;
Break;
end;
Next;
end;
end;
end;
DZJE();
end;
procedure TfrmSDMANAGEINPUT.ToolButton5Click(Sender: TObject);
begin
with CDS_HZ do
begin
First;
while not Eof do
begin
Edit;
FieldByName('HXNUM').AsString := '';
FieldByName('DHXMONEY').AsString := FieldByName('MXMONEY').AsString;
Post;
Next;
end;
end;
end;
procedure TfrmSDMANAGEINPUT.ToolButton6Click(Sender: TObject);
begin
with self.CDS_HZ do
begin
append;
// FieldByName('SUBWXFPNO').Value := CDS_Main.fieldbyname('A4FPNO').AsString;
// FieldByName('MXORDERNO').Value := ADOQueryTMP.fieldbyname('orderno').AsString;
FieldByName('mxmoney').Value := 0;
FieldByName('kxtype').Value := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>';
Post;
end;
DZJE();
end;
procedure TfrmSDMANAGEINPUT.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmProductOrderListSel := TfrmProductOrderListSel.Create(Application);
with frmProductOrderListSel do
begin
if ShowModal = 1 then
begin
with CDS_HZ do
begin
Edit;
fieldbyname('mxorderno').AsString := Trim(frmProductOrderListSel.Order_Main.fieldbyname('orderno').AsString);
end;
end;
end;
finally
frmProductOrderListSel.Free;
end;
end;
procedure TfrmSDMANAGEINPUT.Tv1Column11PropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FQty, FPrice, FMxMoney, FMoney: double;
begin
mvalue := TcxTextEdit(Sender).EditingText;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with CDS_HZ do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
end;
tv1.Controller.EditingController.ShowEdit();
if TV1.DataController.Summary.FooterSummaryValues[16] <> NULL then
FMoney := TV1.DataController.Summary.FooterSummaryValues[16]
else
FMoney := 0;
TZmoney.Text := floattostr(FMoney);
end;
end.