RTFormwork/项目代码/RTBasicsV1/B01基础合同管理/U_PurchaseConInPut.pas
“ddf” 61630656e9 1
2024-07-07 09:35:27 +08:00

897 lines
25 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_PurchaseConInPut;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, cxDataStorage,
cxEdit, DB, cxDBData, cxGridLevel, cxGridCustomTableView, cxGridTableView,
cxGridDBTableView, cxClasses, cxControls, cxGridCustomView, cxGrid, cxMemo,
cxRichEdit, ComCtrls, cxContainer, cxTextEdit, cxMaskEdit, cxButtonEdit,
StdCtrls, ToolWin, DBClient, ADODB, ExtCtrls, BtnEdit, cxCalendar, StrUtils,
cxDropDownEdit, cxGridCustomPopupMenu, cxGridPopupMenu, cxLookAndFeels,
cxLookAndFeelPainters, dxSkinsCore, dxSkinsDefaultPainters, cxNavigator,
dxDateRanges, dxBarBuiltInMenu, dxDateTimeWheelPicker, dxGDIPlusClasses,
Vcl.Menus, MovePanel, cxCheckBox, cxImage, cxDBEdit, Vcl.DBCtrls, U_BaseInput,
System.ImageList, Vcl.ImgList, IdBaseComponent, IdComponent, IdTCPConnection,
IdTCPClient, IdExplicitTLSClientServerBase, IdFTP, ShellAPI;
type
TfrmPurchaseConInPut = class(TfrmBaseInput)
ToolBar1: TToolBar;
TBSave: TToolButton;
TBClose: TToolButton;
ScrollBox1: TScrollBox;
Label3: TLabel;
ConDate: TDateTimePicker;
ToolBar2: TToolBar;
ToolButton1: TToolButton;
ToolButton2: TToolButton;
cxGrid1: TcxGrid;
Tv1: TcxGridDBTableView;
cxGrid1Level1: TcxGridLevel;
v1PRTPrice: TcxGridDBColumn;
ADOTemp: TADOQuery;
ADOCmd: TADOQuery;
DS_1: TDataSource;
Order_Sub: TClientDataSet;
v1PRTOrderQty: TcxGridDBColumn;
Label10: TLabel;
ConNo: TEdit;
Label14: TLabel;
Label20: TLabel;
BuyName: TBtnEditC;
v1XHNo: TcxGridDBColumn;
v1OrderUnit: TcxGridDBColumn;
Label6: TLabel;
v1Column2: TcxGridDBColumn;
v1Column4: TcxGridDBColumn;
v1Column5: TcxGridDBColumn;
v1Column6: TcxGridDBColumn;
v1Column7: TcxGridDBColumn;
VC_SCSCode: TcxGridDBColumn;
cxgrdpmn1: TcxGridPopupMenu;
QtyNote: TBtnEditC;
v1Column1: TcxGridDBColumn;
v1Column8: TcxGridDBColumn;
Sellname: TBtnEditC;
Label27: TLabel;
IsTax: TComboBox;
Tv1Column3: TcxGridDBColumn;
Tv1Column5: TcxGridDBColumn;
Tv1Column8: TcxGridDBColumn;
Tv1Column9: TcxGridDBColumn;
Label5: TLabel;
Currency: TComboBox;
Label11: TLabel;
Label12: TLabel;
YunShu: TBtnEditC;
Payment: TBtnEditC;
Label13: TLabel;
PriceTerms: TBtnEditC;
pm_sub: TPopupMenu;
Tv1Column1: TcxGridDBColumn;
N1: TMenuItem;
Tv1Column7: TcxGridDBColumn;
Label8: TLabel;
PackNote: TBtnEditC;
Label15: TLabel;
Label16: TLabel;
DlyDate: TDateTimePicker;
N2: TMenuItem;
DlyNote: TEdit;
ToolButton3: TToolButton;
Label23: TLabel;
ConType: TComboBox;
procedure TBCloseClick(Sender: TObject);
procedure FormShow(Sender: TObject);
procedure TBSaveClick(Sender: TObject);
procedure ToolButton1Click(Sender: TObject);
procedure ToolButton2Click(Sender: TObject);
procedure BuyNameBtnUpClick(Sender: TObject);
procedure BuyNameBtnDnClick(Sender: TObject);
procedure v1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure v1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
procedure SalesmanBtnUpClick(Sender: TObject);
procedure v1Column15PropertiesEditValueChanged(Sender: TObject);
procedure SellNameBtnUpClick(Sender: TObject);
procedure v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject);
procedure QiYunBtnUpClick(Sender: TObject);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure ToolButton3Click(Sender: TObject);
procedure ExchangeRateKeyPress(Sender: TObject; var Key: Char);
private
FLeft, FTop: Integer;
fuserName, Fstatus: string;
procedure JSMoney();
procedure InitData();
function TestData(): Boolean;
function SaveData(): Boolean;
procedure SetXH();
{ Private declarations }
public
CopyInt: Integer;
PState: string;
fFlileFlag: string;
FConMId: string;
FAuthority, FGSTT: string;
{ Public declarations }
end;
var
frmPurchaseConInPut: TfrmPurchaseConInPut;
newh: hwnd;
implementation
uses
U_DataLink, U_RTFun, U_ZDYHelp, U_CompanySel, U_ClothInfoSel, U_PictureUpload;
{$R *.dfm}
procedure TfrmPurchaseConInPut.SetXH();
var
i: Integer;
begin
with Order_Sub do
begin
First;
i := 1;
while not Eof do
begin
with Order_Sub do
begin
Edit;
FieldByName('XHNoTemp').Value := i;
Post;
end;
i := i + 1;
Next;
end;
end;
with Order_Sub do
begin
Order_Sub.IndexFieldNames := '';
First;
i := 1;
while not Eof do
begin
with Order_Sub do
begin
Edit;
FieldByName('SerialNo').Value := FieldByName('XHNoTemp').AsInteger;
Post;
end;
i := i + 1;
Next;
end;
Order_Sub.IndexFieldNames := 'SerialNo';
end;
end;
procedure TfrmPurchaseConInPut.JSMoney();
var
FConQty, FConPrice, FC_Money: Double;
begin
with Order_Sub do
begin
FConQty := Fieldbyname('ConQty').AsFloat;
FConPrice := Fieldbyname('ConPrice').AsFloat;
end;
//<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EEA3AC><EFBFBD><EFBFBD>С<CEBB><D0A1>
FC_Money := RoundFloat(FConQty * FConPrice, 2);
with Order_Sub do
begin
Edit;
FieldByName('ConTotalAmount').Value := FC_Money;
Post;
end;
tv1.Controller.EditingController.ShowEdit();
end;
function TfrmPurchaseConInPut.TestData(): Boolean;
begin
try
if Trim(ConNo.Text) = '' then
raise Exception.Create('<27><>ͬ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Trim(SellName.Text) = '' then
raise Exception.Create('<27><>Ӫ<EFBFBD><D3AA>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Trim(BuyName.Text) = '' then
raise Exception.Create('<27>Է<EFBFBD><D4B7><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Trim(ConType.Text) = '' then
raise Exception.Create('<27><><EFBFBD>Ͳ<EFBFBD><CDB2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.IsEmpty then
raise Exception.Create('<27><>ϸ<EFBFBD><CFB8><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Code', null, []) then
raise Exception.Create('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Code', '', []) then
raise Exception.Create('<27><>Ʒ<EFBFBD><C6B7><EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Name', null, []) then
raise Exception.Create('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Name', '', []) then
raise Exception.Create('Ʒ<><C6B7><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Color', null, []) then
raise Exception.Create('<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('C_Color', '', []) then
raise Exception.Create('<27><>ɫ<EFBFBD><C9AB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if Order_Sub.Locate('C_MF', null, []) then
// raise Exception.Create('<27>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if Order_Sub.Locate('C_MF', '', []) then
// raise Exception.Create('<27>ŷ<EFBFBD><C5B7><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if Order_Sub.Locate('C_KZ', null, []) then
// raise Exception.Create('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
// if Order_Sub.Locate('C_KZ', '', []) then
// raise Exception.Create('<27><><EFBFBD>ز<EFBFBD><D8B2><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('ConQty', null, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('ConQty', 0, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϊ0<CEAA><30>');
if Order_Sub.Locate('ConUnit', null, []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
if Order_Sub.Locate('ConUnit', '', []) then
raise Exception.Create('<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>λ<EFBFBD><CEBB><EFBFBD><EFBFBD>Ϊ<EFBFBD>գ<EFBFBD>');
Result := True;
except
Result := false;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
end;
end;
procedure TfrmPurchaseConInPut.TBCloseClick(Sender: TObject);
begin
Close;
end;
procedure TfrmPurchaseConInPut.InitData();
var
maxno: string;
begin
//ˢ<>²<EFBFBD>Ʒ<EFBFBD><C6B7>Ϣ
with ADOTemp do
begin
Close;
SQL.Clear;
sql.Add(' select * from BS_Contract_Sub ');
sql.Add('where ConMId=''' + Trim(FConMId) + '''');
sql.Add(' order by SerialNo ');
Open;
end;
SCreateCDS(ADOTemp, Order_Sub);
SInitCDSData(ADOTemp, Order_Sub);
//ˢ<><CBA2><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from BS_Contract_Main where ConMId=''' + Trim(FConMId) + '''');
Open;
end;
SCSHData(ADOTemp, ScrollBox1, 2);
BuyName.TxtCode := Trim(ADOTemp.FieldByName('BuyNo').AsString);
Sellname.TxtCode := Trim(ADOTemp.FieldByName('SellNo').AsString);
Fstatus := Trim(ADOTemp.FieldByName('status').AsString);
if PState = '<27><><EFBFBD><EFBFBD>' then
begin
ConDate.DateTime := SGetServerDateTime(ADOTemp);
DlyDate.DateTime := ConDate.DateTime;
ConNo.Text := '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
end;
if PState = '<27><><EFBFBD><EFBFBD>' then
begin
PState := '<27><><EFBFBD><EFBFBD>';
FConMId := '';
ConNo.Text := '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>';
with Order_Sub do
begin
First;
while not Eof do
begin
if GetLSNo(ADOCmd, maxno, 'SCS', 'BS_Contract_Sub', 4, 1) = False then
begin
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
Edit;
FieldByName('ConMId').Value := '';
FieldByName('ConSId').Value := maxno;
Post;
Next;
end;
end;
end;
end;
procedure TfrmPurchaseConInPut.N1Click(Sender: TObject);
var
FValue, FFValue, FColumn, FFColumn, MHXSID: string;
MXHNO: Integer;
begin
if Fstatus = '1' then
begin
application.MessageBox('<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
MXHNO := Order_Sub.FieldByName('XHNo').ASInteger;
FColumn := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName;
FValue := Trim(Order_Sub.fieldbyname(FColumn).AsString);
MHXSID := Trim(Order_Sub.fieldbyname('HXSID').AsString);
with Order_Sub do
begin
DisableControls;
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean then
begin
Edit;
if FValue = '' then
begin
Order_Sub.FieldByName(FColumn).Value := null;
end
else
begin
Order_Sub.FieldByName(FColumn).Value := FValue;
end;
if FColumn = 'C_HX' then
begin
Order_Sub.FieldByName('HXSID').Value := MHXSID;
end;
Post;
JSMoney();
end;
Next;
end;
EnableControls;
end;
Order_Sub.Locate('XHNO', MXHNO, []);
end;
procedure TfrmPurchaseConInPut.N2Click(Sender: TObject);
var
FValue, MC_Code, MC_Craft, MC_Name, MC_Spec, MC_CF, MC_Color, MC_MF, MC_KZ, MC_Note, MC_Unit, MGcHuaNo, MSuoLv, MC_EName: string;
MXHNO: Integer;
begin
if Fstatus = '1' then
begin
application.MessageBox('<27><>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD><EFBFBD>ˣ<EFBFBD><CBA3>޷<EFBFBD><DEB7><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
exit;
end;
MXHNO := Order_Sub.FieldByName('XHNo').ASInteger;
MC_Code := Order_Sub.fieldbyname('C_Code').AsString;
MC_Craft := Order_Sub.fieldbyname('C_Craft').AsString;
MC_Name := Order_Sub.fieldbyname('C_Name').AsString;
MC_Spec := Order_Sub.fieldbyname('C_Spec').AsString;
MC_CF := Order_Sub.fieldbyname('C_CF').AsString;
MC_Color := Order_Sub.fieldbyname('C_Color').AsString;
MC_MF := Order_Sub.fieldbyname('C_MF').AsString;
MC_KZ := Order_Sub.fieldbyname('C_KZ').AsString;
MC_Note := Order_Sub.fieldbyname('C_Note').AsString;
MC_Unit := Order_Sub.fieldbyname('C_Unit').AsString;
MSuoLv := Order_Sub.fieldbyname('SuoLv').AsString;
MGcHuaNo := Order_Sub.fieldbyname('GcHuaNo').AsString;
MC_EName := Order_Sub.fieldbyname('C_EName').AsString;
with Order_Sub do
begin
DisableControls;
First;
while not Eof do
begin
if FieldByName('SSel').AsBoolean then
begin
Edit;
Order_Sub.fieldbyname('C_Code').Value := MC_Code;
Order_Sub.fieldbyname('C_Craft').Value := MC_Craft;
Order_Sub.fieldbyname('C_Name').Value := MC_Name;
Order_Sub.fieldbyname('C_Spec').Value := MC_Spec;
Order_Sub.fieldbyname('C_CF').Value := MC_CF;
Order_Sub.fieldbyname('C_Color').Value := MC_Color;
Order_Sub.fieldbyname('C_MF').Value := MC_MF;
Order_Sub.fieldbyname('C_KZ').Value := MC_KZ;
Order_Sub.fieldbyname('C_Note').Value := MC_Note;
Order_Sub.fieldbyname('C_Unit').Value := MC_Unit;
Order_Sub.fieldbyname('SuoLv').Value := MSuoLv;
Order_Sub.fieldbyname('GcHuaNo').Value := MGcHuaNo;
Order_Sub.fieldbyname('C_EName').Value := MC_EName;
Post;
end;
Next;
end;
EnableControls;
end;
Order_Sub.Locate('XHNO', MXHNO, []);
end;
procedure TfrmPurchaseConInPut.QiYunBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmPurchaseConInPut.FormShow(Sender: TObject);
begin
inherited;
readCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
fFlileFlag := UserDataFlag + 'HX';
InitData();
end;
function TfrmPurchaseConInPut.SaveData(): Boolean;
var
maxno: string;
fconNO, fmxType, fDate: string;
begin
try
ADOCmd.Connection.BeginTrans;
//////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //////////////////////
if Trim(FConMId) = '' then
begin
if GetLSNo(ADOTemp, maxno, 'CM', 'BS_Contract_Main', 3, 1) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
fDate := FormatDateTime('yy', SGetServerDate(ADOTemp));
if trim(ConNo.Text) = '<27>Զ<EFBFBD><D4B6><EFBFBD><EFBFBD><EFBFBD>' then
begin
if GetLSNo(ADOTemp, fconNO, fDate, 'BS_Contract_Main', 4, 0) = False then
raise Exception.Create(<><C8A1><EFBFBD><EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>ʧ<EFBFBD>ܣ<EFBFBD>');
if ConType.Text = '<27><><EFBFBD><EFBFBD>' then
fconNO := 'N' + fconNO
else
fconNO := 'W' + fconNO;
ConNo.Text := fconNO;
end;
end
else
begin
maxno := Trim(FConMId);
end;
with ADOCmd do
begin
Close;
sql.Clear;
SQL.Add('select * from BS_Contract_Main where ConMId=''' + Trim(FConMId) + '''');
Open;
end;
with ADOCmd do
begin
if Trim(FConMId) = '' then
begin
Append;
FieldByName('Filler').Value := Trim(DName);
FieldByName('status').Value := '0';
end
else
begin
Edit;
FieldByName('Editer').Value := Trim(DName);
FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp);
end;
FieldByName('ConMId').Value := Trim(maxno);
RTSetsavedata(ADOCmd, 'BS_Contract_Main', ScrollBox1, 2);
FieldByName('BuyNo').Value := Trim(BuyName.TxtCode);
FieldByName('SellNo').Value := Sellname.TxtCode;
Post;
end;
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('select * from BS_Contract_Main where ConNo=''' + Trim(ConNo.Text) + '''');
Open;
end;
if ADOCmd.RecordCount > 1 then
raise Exception.Create('<27><>ͬ<EFBFBD><CDAC><EFBFBD>ظ<EFBFBD><D8B8><EFBFBD>');
FConMId := Trim(maxno);
//////////////// <20><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD> //////////////////////
///
//////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> //////////////////////
with Order_Sub do
begin
First;
while not Eof do
begin
maxno := Trim(Order_Sub.fieldbyname('ConSId').AsString);
with ADOCmd do
begin
Close;
SQL.Clear;
sql.Add('select * from BS_Contract_Sub where ConSId=''' + Trim(maxno) + '''');
Open;
end;
with ADOCmd do
begin
if ADOCmd.IsEmpty then
Append
else
Edit;
RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'BS_Contract_Sub', 0);
FieldByName('ConMId').Value := Trim(FConMId);
FieldByName('ConSId').Value := Trim(maxno);
Post;
end;
with Order_Sub do
begin
Edit;
FieldByName('ConSId').Value := Trim(maxno);
Post;
end;
Next;
end;
end;
//////////////// <20><><EFBFBD><EFBFBD><EFBFBD>ӱ<EFBFBD> //////////////////////
///
//////////////// <20><><EFBFBD>º<EFBFBD>ͬ //////////////////////
// with ADOCmd do
// begin
// close;
// sql.Clear;
// sql.Add('EXEC P_Con_Up_PiQty ');
// sql.Add('@DataID=' + quotedstr(Trim(FConMId)));
// execsql;
// end;
//////////////// <20><><EFBFBD>º<EFBFBD>ͬ //////////////////////
ADOCmd.Connection.CommitTrans;
Result := True;
except
ADOCmd.Connection.RollbackTrans;
application.MessageBox(PChar(Exception(ExceptObject).Message), '<27><>ʾ<EFBFBD><CABE>Ϣ', 0);
Result := False;
end;
end;
procedure TfrmPurchaseConInPut.TBSaveClick(Sender: TObject);
begin
ConDate.SetFocus;
if TestData() = false then
exit;
if SaveData() then
begin
Application.MessageBox('<27><><EFBFBD><EFBFBD><EFBFBD>ɹ<EFBFBD><C9B9><EFBFBD>', '<27><>ʾ', 0);
end;
end;
procedure TfrmPurchaseConInPut.v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject);
var
mvalue, FFieldName: string;
FConQty, FConPrice, FC_Money: Double; //<2F><><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>ۣ<EFBFBD><DBA3><EFBFBD><EFBFBD><EFBFBD>
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName);
with Order_Sub do
begin
Edit;
FieldByName(FFieldName).Value := Trim(mvalue);
Post;
FConQty := Fieldbyname('ConQty').AsFloat;
FConPrice := Fieldbyname('ConPrice').AsFloat;
end;
FC_Money := RoundFloat(FConQty * FConPrice, 2);
with Order_Sub do
begin
Edit;
FieldByName('ConQty').Value := FConQty;
FieldByName('ConPrice').Value := FConPrice;
FieldByName('ConTotalAmount').Value := FC_Money;
Post;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPurchaseConInPut.ToolButton1Click(Sender: TObject);
var
i: Integer;
maxno: string;
begin
if GetLSNo(ADOCmd, maxno, 'CS', 'BS_Contract_Sub', 4, 1) = False then
begin
ADOCmd.Connection.RollbackTrans;
Application.MessageBox(<><C8A1><EFBFBD><EFBFBD>ˮ<EFBFBD><CBAE>ʧ<EFBFBD>ܣ<EFBFBD>', '<27><>ʾ', 0);
Exit;
end;
if Trim(ConNo.Text) = '' then
begin
Application.MessageBox('<27><>ͬ<EFBFBD>Ų<EFBFBD><C5B2><EFBFBD>Ϊ<EFBFBD><CEAA>!', '<27><>ʾ', 0);
Exit;
end;
i := Order_Sub.RecordCount; //<2F><>ǰ<EFBFBD><C7B0>dataset<65>ж<EFBFBD><D0B6><EFBFBD><EFBFBD>м<EFBFBD>¼
i := i + 1;
CopyAddRow(Tv1, Order_Sub);
with Order_Sub do
begin
Edit;
FieldByName('SSEL').Value := FALSE;
FieldByName('SerialNo').Value := i;
FieldByName('ConSId').Value := maxno;
FieldByName('C_Color').Value := '';
FieldByName('ConQty').Value := null;
Post;
end;
SetXH();
end;
procedure TfrmPurchaseConInPut.ToolButton2Click(Sender: TObject);
begin
if Order_Sub.IsEmpty then
Exit;
if Application.MessageBox(<><C8B7>Ҫɾ<D2AA><C9BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ', 32 + 4) <> IDYES then
Exit;
while Order_Sub.Locate('SSel', True, []) do
begin
with ADOTemp do
begin
Close;
sql.Clear;
sql.Add('select * from Trade_Plan_Sub where ConSId=''' + Trim(Order_Sub.fieldbyname('ConSId').AsString) + '''');
open;
end;
if ADOTemp.IsEmpty = false then
begin
exit;
application.MessageBox('<27><><EFBFBD><EFBFBD>ϸ<EFBFBD>Ѿ<EFBFBD><D1BE><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD><EFBFBD>', '<27><>ʾ<EFBFBD><CABE>Ϣ');
end;
if Trim(Order_Sub.fieldbyname('ConSId').AsString) <> '' then
begin
with ADOCmd do
begin
Close;
sql.Clear;
sql.Add('delete BS_Contract_Sub where ConSId=''' + Trim(Order_Sub.fieldbyname('ConSId').AsString) + '''');
ExecSQL;
end;
end;
Order_Sub.Delete;
end;
SetXH();
end;
procedure TfrmPurchaseConInPut.ToolButton3Click(Sender: TObject);
begin
WriteCxGrid(trim(self.Caption), Tv1, '<27><><EFBFBD>ۺ<EFBFBD>ͬ<EFBFBD><CDAC><EFBFBD><EFBFBD>');
end;
procedure TfrmPurchaseConInPut.BuyNameBtnUpClick(Sender: TObject);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '<27><>˾';
if ShowModal = 1 then
begin
self.BuyName.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.BuyName.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
procedure TfrmPurchaseConInPut.ExchangeRateKeyPress(Sender: TObject; var Key: Char);
begin
if not (((Key >= '0') and (Key <= '9')) or (Key = '.') or (Key = #8)) then
begin
Key := #0;
end
else if (pos('.', TEdit(Sender).text) <> 0) then
begin
if Key = '.' then
begin
Key := #0;
end;
end;
end;
procedure TfrmPurchaseConInPut.BuyNameBtnDnClick(Sender: TObject);
begin
TBtnEditC(Sender).Text := '';
TBtnEditC(Sender).TxtCode := '';
end;
procedure TfrmPurchaseConInPut.v1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'MPRTCodeName';
flagname := '<27><>Ʒ<EFBFBD><C6B7><EFBFBD><EFBFBD>';
if ShowModal = 1 then
begin
Order_Sub.Edit;
Order_Sub.fieldbyname('PRTCodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
Order_Sub.fieldbyname('PRTCode').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
Order_Sub.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPurchaseConInPut.v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'C_MF';
flagname := '<27>ŷ<EFBFBD><C5B7><EFBFBD>Ϣ';
if ShowModal = 1 then
begin
Order_Sub.Edit;
Order_Sub.fieldbyname('C_MF').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
// Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
Order_Sub.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPurchaseConInPut.v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := 'C_KZ';
flagname := '<27><><EFBFBD><EFBFBD><EFBFBD><EFBFBD>Ϣ';
if ShowModal = 1 then
begin
Order_Sub.Edit;
Order_Sub.fieldbyname('C_KZ').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
// Order_Sub.fieldbyname('PRTCode').Value:=Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString);
Order_Sub.Post;
end;
end;
finally
frmZDYHelp.Free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPurchaseConInPut.v1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer);
var
MCYNo: string;
begin
frmClothInfoSel := TfrmClothInfoSel.Create(self);
with frmClothInfoSel do
begin
if showmodal = 1 then
begin
Order_Sub.Edit;
Order_Sub.fieldbyname('C_Code').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Code').asstring;
Order_Sub.fieldbyname('C_Name').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Name').asstring;
Order_Sub.fieldbyname('C_EName').Value := frmClothInfoSel.CDS_1.fieldbyname('C_EName').asstring;
Order_Sub.fieldbyname('C_Spec').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Spec').asstring;
Order_Sub.fieldbyname('C_Composition').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Composition').asstring;
Order_Sub.fieldbyname('C_Color').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Color').asstring;
Order_Sub.fieldbyname('C_Width').Value := frmClothInfoSel.CDS_1.fieldbyname('C_Width').asstring;
Order_Sub.fieldbyname('C_GramWeight').Value := frmClothInfoSel.CDS_1.fieldbyname('C_GramWeight').asstring;
Order_Sub.Post;
end;
free;
end;
tv1.Controller.EditingController.ShowEdit();
end;
procedure TfrmPurchaseConInPut.SalesmanBtnUpClick(Sender: TObject);
var
fsj: string;
FWZ: Integer;
begin
fsj := Trim(TEdit(Sender).Hint);
FWZ := Pos('/', fsj);
try
frmZDYHelp := TfrmZDYHelp.Create(Application);
with frmZDYHelp do
begin
flag := Copy(fsj, 1, FWZ - 1);
flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ);
if ShowModal = 1 then
begin
TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString);
end;
end;
finally
frmZDYHelp.Free;
end;
end;
procedure TfrmPurchaseConInPut.v1Column15PropertiesEditValueChanged(Sender: TObject);
var
mvalue: string;
begin
mvalue := TcxTextEdit(Sender).EditingText;
if Trim(mvalue) = '' then
begin
mvalue := '0';
end;
with Order_Sub do
begin
Edit;
FieldByName('YongJinPrice').Value := mvalue;
FieldByName('YongJin').Value := FieldByName('YongJinPrice').AsFloat * FieldByName('PRTOrderQty').AsFloat;
Post;
end;
end;
procedure TfrmPurchaseConInPut.SellNameBtnUpClick(Sender: TObject);
begin
try
frmCompanySel := TfrmCompanySel.Create(Application);
with frmCompanySel do
begin
FCoType := '<27><>Ӧ<EFBFBD><D3A6>';
if ShowModal = 1 then
begin
self.Sellname.TxtCode := Trim(frmCompanySel.CDS_1.fieldbyname('CoCode').AsString);
self.Sellname.Text := Trim(frmCompanySel.CDS_1.fieldbyname('CoAbbrName').AsString);
end;
end;
finally
frmCompanySel.Free;
end;
end;
end.