unit U_XHInPut; 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,jpeg, IdBaseComponent, IdComponent, IdTCPConnection, IdTCPClient, IdFTP, cxPC, cxGridCustomPopupMenu, cxGridPopupMenu, FTComboBox; type TfrmXHInPut = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; TBSave: TToolButton; DataSource1: TDataSource; Order_Sub: TClientDataSet; cxGrid1: TcxGrid; TV1: TcxGridDBTableView; V2Column2: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column8: TcxGridDBColumn; V1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; v1PRTPrice: TcxGridDBColumn; v1PriceUnit: TcxGridDBColumn; V2XHMoney: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; TADD: TToolButton; TDEL: TToolButton; V1filltime: TcxGridDBColumn; V1XHNote: TcxGridDBColumn; V1CostomerNoName: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure TADDClick(Sender: TObject); procedure TDELClick(Sender: TObject); procedure V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure V1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); procedure v1PRTPricePropertiesEditValueChanged(Sender: TObject); procedure V1CostomerNoNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private procedure InitData(); function SaveData():Boolean; { Private declarations } public canshu1:String; PState,CopyInt:Integer; FMainId:String; { Public declarations } end; var frmXHInPut: TfrmXHInPut; implementation uses U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_GYSList, U_ZdyAttachment; {$R *.dfm} procedure TfrmXHInPut.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmXHInPut.InitData(); begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from JYOrderML_Main where Mainid='''+Trim(FMainId)+''''); Open; end; SCreateCDS20(ADOQuery1,Order_Sub); SInitCDSData20(ADOQuery1,Order_Sub); end; procedure TfrmXHInPut.FormShow(Sender: TObject); begin InitData(); end; function TfrmXHInPut.SaveData():Boolean; var maxno,maxsubno:String; begin Result:=False; try ADOCmd.Connection.BeginTrans; with Order_Sub do begin First; while not Eof do begin if Trim(FMainId)='' then begin if GetLSNo(ADOCmd,maxsubno,'ML','JYOrderML_Main',3,1)=False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!','提示',0); Exit; end; end else begin maxsubno:=Trim(Order_Sub.fieldbyname('Mainid').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrderML_Main where Mainid='''+Trim(maxsubno)+''''); Open; end; with ADOCmd do begin if isempty then Append else Edit; FieldByName('Mainid').Value:=Trim(maxsubno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderML_Main',2); Post; end; Order_Sub.Edit; Order_Sub.FieldByName('Mainid').Value:=Trim(maxsubno); //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; FMainId:=Trim(maxsubno); Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmXHInPut.TBSaveClick(Sender: TObject); begin ToolBar1.SetFocus; if SaveData() then begin Application.MessageBox('保存成功!','提示',0); Modalresult:=1; end; end; procedure TfrmXHInPut.TADDClick(Sender: TObject); begin with Order_Sub do begin Append; fieldbyname('filltime').Value:=now; Post; end; end; procedure TfrmXHInPut.TDELClick(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Trim(Order_Sub.fieldbyname('Mainid').AsString)<>'' then begin if Application.MessageBox('确定要删除数据吗?','提示',32+4)<>IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete JYOrderML_Main where Mainid='''+Trim(Order_Sub.fieldbyname('Mainid').AsString)+''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmXHInPut.V2Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PrtCode'; flagname:='产品编号'; //fnote:=True; //V1Note.Caption:='品名'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PrtCode').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PrtCodeName'; flagname:='品名'; //fnote:=True; //V1Note.Caption:='品名'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PrtCodeName').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PRTspec'; flagname:='规格成份'; //fnote:=True; //V1Note.Caption:='品名'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PRTspec').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PRTColor'; flagname:='颜色'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PRTColor').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='HXPRTMF'; flagname:='门幅'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PRTMF').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='HXPRTKZ'; flagname:='克重'; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('PRTKZ').AsString:=Trim(frmZDYHelp.ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmXHInPut.V1PRTOrderQtyPropertiesEditValueChanged( 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('PRTOrderQty').Value:=mvalue; fieldbyname('XHMoney').Value:=fieldbyname('PRTPrice').AsFloat*strtofloat(mvalue); end; end; procedure TfrmXHInPut.v1PRTPricePropertiesEditValueChanged( 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('PRTPrice').Value:=mvalue; fieldbyname('XHMoney').Value:=fieldbyname('PRTOrderQty').AsFloat*strtofloat(mvalue); end; end; procedure TfrmXHInPut.V1CostomerNoNamePropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin try frmZdyAttachment:=TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin fkhType:=''; if ShowModal=1 then begin with Order_Sub do begin edit; fieldbyname('CostomerNoName').Value:=CDS_HZ.fieldbyname('ZdyName').AsString; end; end; end; finally frmZdyAttachment.Free; end; end; end.