unit U_FZCInPut; 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 TfrmFHXXInPut = class(TForm) ToolBar1: TToolBar; TBClose: TToolButton; ScrollBox1: TScrollBox; ADOTemp: TADOQuery; ADOCmd: TADOQuery; ADOQuery1: TADOQuery; TBSave: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; DataSource1: TDataSource; Order_Sub: TClientDataSet; ToolButton1: TToolButton; ToolButton2: TToolButton; v1CustomerNoName: TcxGridDBColumn; v1CustomerNo: TcxGridDBColumn; v1FHLXR: TcxGridDBColumn; v1CustomerJC: TcxGridDBColumn; v1FHPrice: TcxGridDBColumn; v1ConNo: TcxGridDBColumn; v1KHConNO: TcxGridDBColumn; v1styleno: TcxGridDBColumn; v1PrtCode: TcxGridDBColumn; v1PrtCodeName: TcxGridDBColumn; v1PRTspec: TcxGridDBColumn; v1PRTColor: TcxGridDBColumn; v1PRTOrderQty: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; cxStyleRepository1: TcxStyleRepository; cxStyle1: TcxStyle; cxStyle2: TcxStyle; v1BZType: TcxGridDBColumn; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure v1PrtCodePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTspecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private procedure InitData(); function SaveData():Boolean; { Private declarations } public canshu1:String; PState,CopyInt:Integer; FMainId:String; { Public declarations } end; var frmFHXXInPut: TfrmFHXXInPut; implementation uses U_DataLink,U_ZDYHelp,U_RTFun,U_ZDYHelpSel,U_GYSList, U_ZdyAttachment,U_ContractList_CS; {$R *.dfm} procedure TfrmFHXXInPut.TBCloseClick(Sender: TObject); begin Close; end; procedure TfrmFHXXInPut.InitData(); begin with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * from JYOrderFH_Main where Mainid='''+Trim(FMainId)+''''); Open; end; SCreateCDS20(ADOQuery1,Order_Sub); SInitCDSData20(ADOQuery1,Order_Sub); end; procedure TfrmFHXXInPut.FormShow(Sender: TObject); begin InitData(); end; function TfrmFHXXInPut.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(Order_Sub.fieldbyname('Mainid').AsString)='' then begin if GetLSNo(ADOCmd,maxsubno,'FH','JYOrderFH_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 JYOrderFH_Main where Mainid='''+Trim(maxsubno)+''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('Mainid').AsString)='' then begin Append; fieldbyname('filltime').Value:=SGetServerDate10(ADOQuery1); end else Edit; FieldByName('Mainid').Value:=Trim(maxsubno); RTSetSaveDataCDS(ADOCmd,Tv1,Order_Sub,'JYOrderFH_Main',0); fieldbyname('PRTOrderQty').Value:=Order_Sub.fieldbyname('PRTOrderQty').AsFloat; fieldbyname('OrdDefStr1').Value:=Order_Sub.fieldbyname('OrdDefStr1').AsString; fieldbyname('OrdDefStr2').Value:=Order_Sub.fieldbyname('OrdDefStr2').AsString; fieldbyname('DlyPlace').Value:=trim(order_Sub.fieldbyname('DlyPlace').AsString); FieldByName('FHLXR').Value:=trim(order_Sub.fieldbyname('FHLXR').AsString); fieldbyname('OrdDate').Value:=SGetServerDate10(ADOQuery1); fieldbyname('filler').Value:=trim(DName); Post; end; Order_Sub.Edit; Order_Sub.FieldByName('Mainid').Value:=Trim(maxsubno); //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; Result:=True; except Result:=False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!','提示',0); end; end; procedure TfrmFHXXInPut.TBSaveClick(Sender: TObject); begin ToolBar1.SetFocus; if Order_Sub.IsEmpty then exit; if order_Sub.Locate('ConNo','',[])=true then begin application.MessageBox('合同号不能为空','提示'); exit; end; if order_Sub.Locate('ConNo',null,[])=true then begin application.MessageBox('合同号不能为空','提示'); exit; end; if SaveData() then begin Application.MessageBox('保存成功!','提示',0); Modalresult:=1; end; end; procedure TfrmFHXXInPut.ToolButton2Click(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 JYOrderFH_Main where MainId='''+Trim(Order_Sub.fieldbyname('MainId').AsString)+''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmFHXXInPut.v1PrtCodePropertiesButtonClick(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(ClientDataSet1.fieldbyname('ZdyName').AsString); fieldbyname('PrtCodeName').AsString:=Trim(ClientDataSet1.fieldbyname('Note').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHXXInPut.v1PRTspecPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp:=TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag:='PRTspec'; flagname:='规格成分'; if ShowModal=1 then begin with order_Sub do begin edit; fieldbyname('PRTspec').AsString:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHXXInPut.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(ClientDataSet1.fieldbyname('ZdyName').AsString); end; end; end; finally frmZDYHelp.Free; end; end; procedure TfrmFHXXInPut.v1ConNoPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin frmConTractList_CS:=TfrmConTractList_CS.Create(self); with frmConTractList_CS do begin if showmodal=1 then begin with Order_Sub do begin edit; fieldbyname('ConNo').AsString:=Order_Main.fieldbyname('ConNO').AsString; fieldbyname('StyleNo').AsString:=Order_Main.fieldbyname('StyleNo').AsString; fieldbyname('CustomerNoName').AsString:=Order_Main.fieldbyname('CustomerNoName').AsString; fieldbyname('KHConNo').AsString:=Order_Main.fieldbyname('KHConNo').AsString; fieldbyname('PrtCodeName').AsString:=Order_Main.fieldbyname('PrtCodeName').AsString; fieldbyname('PRTspec').AsString:=Order_Main.fieldbyname('PRTspec').AsString; fieldbyname('PRTColor').AsString:=Order_Main.fieldbyname('PRTColor').AsString; fieldbyname('OrdDefStr1').AsString:=Order_Main.fieldbyname('Subid').AsString; fieldbyname('OrdDefStr2').AsString:=Order_Main.fieldbyname('Mainid').AsString; fieldbyname('PrtCode').AsString:=Order_Main.fieldbyname('PrtCode').AsString; fieldbyname('PRTOrderQty').Value:=Order_Main.fieldbyname('PRTOrderQty').AsFloat; fieldbyname('OrderUnit').AsString:=Order_Main.fieldbyname('OrderUnit').AsString; //post; end; end; free; end; end; end.