unit U_ConInPutCG; 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, cxNavigator; type TfrmConInPutCG = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; v1PRTPrice: TcxGridDBColumn; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; v1PRTOrderQty: TcxGridDBColumn; v1XHNo: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; CDS_Type: TClientDataSet; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; ToolButton3: TToolButton; v1Column3: TcxGridDBColumn; ScrollBox1: TScrollBox; Label3: TLabel; Label4: TLabel; Label9: TLabel; Label10: TLabel; Label14: TLabel; Label20: TLabel; Label6: TLabel; Label21: TLabel; Label5: TLabel; Label22: TLabel; Label24: TLabel; Label34: TLabel; Label35: TLabel; Label36: TLabel; Label39: TLabel; Label13: TLabel; Label2: TLabel; Label1: TLabel; Label11: TLabel; Label12: TLabel; Label15: TLabel; Label16: TLabel; Label25: TLabel; Label26: TLabel; Label27: TLabel; OrdDate: TDateTimePicker; DlyDate: TDateTimePicker; ConNo: TEdit; BuyName: TBtnEditC; BuyAddress: TEdit; BuyTel: TEdit; BuyFax: TEdit; BuyBankName: TEdit; Salesman: TBtnEditC; ZhiLiangNote: TMemo; PZFYNote: TMemo; BuyBankNo: TEdit; Sellname: TBtnEditC; cgtt: TBtnEditC; JHNote: TBtnEditC; SCSQTY: TEdit; SCSCF: TEdit; SCSSPEC: TEdit; SCSMF: TEdit; SCSKZ: TEdit; SCSCODE: TEdit; GDY: TBtnEditC; SCSNAME: TBtnEditC; Label7: TLabel; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Label8: TLabel; Label17: TLabel; SHNote: TBtnEditC; Label18: TLabel; SHPerson: TBtnEditC; Label19: TLabel; SalesTel: TEdit; GDTel: TEdit; SHTel: TEdit; JBPerson: TBtnEditC; Label23: TLabel; Tv1Column3: TcxGridDBColumn; Label28: TLabel; QtyNote: TEdit; QtyNote1: TEdit; Label29: TLabel; Label30: TLabel; Tv1Column4: TcxGridDBColumn; ComboBox1: TComboBox; ToolButton4: TToolButton; Tv1Column5: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; BuyConNo: TBtnEditC; procedure TBCloseClick(Sender: TObject); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure ToolButton2Click(Sender: TObject); procedure BuyNameBtnUpClick(Sender: TObject); procedure BuyNameBtnDnClick(Sender: TObject); procedure v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); 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 ZhiLiangNoteDblClick(Sender: TObject); procedure v1Column15PropertiesEditValueChanged(Sender: TObject); procedure SellNameBtnUpClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure JHNoteBtnUpClick(Sender: TObject); procedure SCSNAMEBtnUpClick(Sender: TObject); procedure BuyConNoBtnUpClick(Sender: TObject); procedure SHNoteBtnUpClick(Sender: TObject); procedure GDYBtnUpClick(Sender: TObject); procedure SHPersonBtnUpClick(Sender: TObject); procedure JBPersonBtnUpClick(Sender: TObject); procedure ToolButton4Click(Sender: TObject); procedure v1PRTPricePropertiesEditValueChanged(Sender: TObject); procedure QtyNoteKeyPress(Sender: TObject; var Key: Char); procedure QtyNote1KeyPress(Sender: TObject; var Key: Char); procedure PZFYNoteKeyPress(Sender: TObject; var Key: Char); procedure v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private fuserName: string; procedure InitData(); procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); procedure GetSell(MSellName: string); function TestData(): Boolean; function SaveData(): Boolean; procedure GetPB(PBName: string); { Private declarations } public CopyInt: Integer; PState: string; FMainId, FFMainId: string; canshu1, FGSTT: string; FCaption: string; { Public declarations } end; var frmConInPutCG: TfrmConInPutCG; newh: hwnd; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ZDYHelpSel, U_CPManageFMSel, U_ZdyAttachment, U_CPManagePBsel, U_ZdyAttachGYS, U_ProductOrderListSEL, U_CPManageselct; {$R *.dfm} procedure TfrmConInPutCG.GetSell(MSellName: string); begin with ADOTemp do begin Close; sql.Clear; sql.Add('select top 1 A.* '); sql.Add(' from SalesContract_Main A '); SQL.Add('where A.SCMType=''内销'' and A.SellName=' + quotedstr(trim(MSellName))); sql.Add(' order by A.OrdDate desc '); Open; end; SellName.Text := trim(MSellName); end; function TfrmConInPutCG.TestData(): Boolean; begin try if Trim(ConNo.Text) = '' then raise Exception.Create('合同号不能为空!'); // if Trim(KHConNo.Text)='' then raise Exception.Create('客户合同号不能为空!'); // if Trim(QtyNote.Text)='' then raise Exception.Create('溢短装不能为空!'); if Trim(SellName.Text) = '' then raise Exception.Create('供方不能为空!'); if Trim(cgtt.Text) = '' then raise Exception.Create('采购抬头不能为空!'); // if Trim(BuyName.Text) = '' then // raise Exception.Create('需方不能为空!'); if Trim(JHNote.Text) = '' then raise Exception.Create('收货单位不能为空!'); if Order_Sub.IsEmpty then raise Exception.Create('明细不能为空!'); // if Order_Sub.Locate('SCSCode', null, []) then // raise Exception.Create('产品编号不能为空!'); // if Order_Sub.Locate('SCSCode', '', []) then // raise Exception.Create('产品编号不能为空!'); if Order_Sub.Locate('SCSPBNAME', null, []) then raise Exception.Create('品名不能为空!'); if Order_Sub.Locate('SCSPBNAME', '', []) then raise Exception.Create('品名不能为空!'); // if Order_Sub.Locate('SCSColor', null, []) then // raise Exception.Create('颜色不能为空!'); // if Order_Sub.Locate('SCSColor', '', []) then // raise Exception.Create('颜色不能为空!'); // if Order_Sub.Locate('SCSKX',null,[]) then raise Exception.Create('款型不能为空!'); // if Order_Sub.Locate('SCSKX','',[]) then raise Exception.Create('款型不能为空!'); // if Order_Sub.Locate('SCSMF', null, []) then // raise Exception.Create('门幅不能为空!'); // if Order_Sub.Locate('SCSMF', '', []) then // raise Exception.Create('门幅不能为空!'); // if Order_Sub.Locate('SCSKZ', null, []) then // raise Exception.Create('克重不能为空!'); // if Order_Sub.Locate('SCSKZ', '', []) then // raise Exception.Create('克重不能为空!'); // if Order_Sub.Locate('SCSQty', null, []) then // raise Exception.Create('数量不能为空!'); // if Order_Sub.Locate('SCSQty', 0, []) then // raise Exception.Create('数量不能为0!'); if Order_Sub.Locate('SCSUnit', null, []) then raise Exception.Create('数量单位不能为空!'); if Order_Sub.Locate('SCSUnit', '', []) then raise Exception.Create('数量单位不能为空!'); if Order_Sub.Locate('SCSCurrency', null, []) then raise Exception.Create('币种不能为空!'); if Order_Sub.Locate('SCSCurrency', '', []) then raise Exception.Create('币种不能为空!'); Result := True; except Result := false; application.MessageBox(PChar(Exception(ExceptObject).Message), '提示信息', 0); end; end; procedure TfrmConInPutCG.TBCloseClick(Sender: TObject); begin WriteCxGrid(trim(self.Caption), Tv1, '采购合同录入1'); Close; end; procedure TfrmConInPutCG.InitData(); begin //刷新产品信息 with ADOTemp do begin Close; SQL.Clear; sql.Add(' select * from SalesContract_Sub '); sql.Add('where MainId=''' + Trim(FMainId) + ''''); sql.Add(' order by XHNo '); Open; end; SCreateCDS20(ADOTemp, Order_Sub); SInitCDSData20(ADOTemp, Order_Sub); //刷新条款信息 with ADOTemp do begin Close; sql.Clear; sql.Add('select A.*,B.* from SalesContract_Main A INNER JOIN SalesContract_SUB B ON A.MAINID=B.MAINID where A.MainId=''' + Trim(FMainId) + ''''); Open; end; SCSHDataNew(ADOTemp, ScrollBox1, 2); SCSHDataNew(ADOTemp, ScrollBox1, 3); if ADOTemp.FieldByName('ordertype').AsString = '成品采购' then begin ComboBox1.ItemIndex := 1; end else if ADOTemp.FieldByName('ordertype').AsString = '辅料采购' then begin ComboBox1.ItemIndex := 2; end else ComboBox1.ItemIndex := 0; if PState = '新增' then begin Salesman.Text := Trim(DName); OrdDate.DateTime := SGetServerDateTime(ADOTemp); DlyDate.DateTime := OrdDate.DateTime; DlyDate.Checked := False; ConNo.Text := '自动生成'; GetSell(FGSTT); end; if PState = '复制' then begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); DlyDate.DateTime := OrdDate.DateTime; DlyDate.Checked := False; PState := '新增'; FMainId := ''; Salesman.Text := Trim(DName); ConNo.Text := '自动生成'; with Order_Sub do begin First; while not Eof do begin Edit; FieldByName('MainId').Value := ''; FieldByName('SubId').Value := ''; Post; Next; end; end; end; end; procedure TfrmConInPutCG.ZDYHelp(FButn: TcxButtonEdit; LType: string); var FType, ZDYName, FText: string; begin end; procedure TfrmConInPutCG.FormShow(Sender: TObject); begin readCxGrid(trim(self.Caption), Tv1, '采购合同录入1'); InitData(); end; function TfrmConInPutCG.SaveData(): Boolean; var maxno: string; fconNO, fmxType: string; begin try ADOCmd.Connection.BeginTrans; ///保存主表 if Trim(FMainId) = '' then begin if GetLSNo(ADOCmd, maxno, 'SCM', 'SalesContract_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; if trim(ConNo.Text) = '自动生成' then begin if GetLSNo(ADOCmd, fconNO, 'CG', 'SalesContract_Main', 2, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最合同编号失败!', '提示', 0); Exit; end; // fconNO:=copy(fconNO,1,2)+formatdateTime('yy',DServerDate)+copy(fconNO,3,3); ConNo.Text := fconNO; end; end else begin maxno := Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from SalesContract_Main where MainId=''' + Trim(FMainId) + ''''); Open; end; with ADOCmd do begin if Trim(FMainId) = '' then begin Append; FieldByName('Filler').Value := Trim(DName); FieldByName('status').Value := '-1'; end else begin Edit; FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; FieldByName('MainId').Value := Trim(maxno); SSetsaveSqlNew(ADOCmd, 'SalesContract_Main', ScrollBox1, 2); FieldByName('SCMType').Value := '采购'; FieldByName('OrderType').Value := ComboBox1.Text; Post; end; with ADOCmd do begin Close; sql.Clear; sql.Add('select * from SalesContract_Main where ConNo=''' + Trim(ConNo.Text) + ''''); Open; end; if ADOCmd.RecordCount > 1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('合同号重复!', '提示', 0); Exit; end; if PState = '修改' then begin with ADOCmd do begin close; sql.Clear; sql.Add('insert into SY_SysLog(operor,opertime,Model,acction,opevent,result) values( '); sql.Add(' ' + quotedstr(trim(DName))); sql.Add(',getdate() '); sql.Add(',' + quotedstr(trim(FCaption))); sql.Add(',' + quotedstr(trim('修改采购单'))); sql.Add(',' + quotedstr(trim('采购单号:' + trim(ConNo.Text)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); execsql; end; end; FMainId := Trim(maxno); ///保存子表 with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then begin if GetLSNo(ADOCmd, maxno, 'SCS', 'SalesContract_Sub', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin maxno := Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from SalesContract_Sub where MainId=''' + Trim(FMainId) + ''''); sql.Add(' and SubId=''' + Trim(maxno) + ''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(FMainId); FieldByName('SubId').Value := Trim(maxno); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'SalesContract_Sub', 0); SSetsaveSqlNew(ADOCmd, 'SalesContract_sub', ScrollBox1, 3); fieldbyname('huilv').Value := Order_Sub.fieldbyname('huilv').AsFloat; Post; end; Order_Sub.Edit; Order_Sub.FieldByName('SubId').Value := Trim(maxno); //Order_Sub.Post; Next; end; end; ADOCmd.Connection.CommitTrans; Result := True; except ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); Result := False; end; end; procedure TfrmConInPutCG.TBSaveClick(Sender: TObject); begin OrdDate.SetFocus; if TestData() = false then exit; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from SalesContract_Main where BuyConNo=''' + trim(BuyConNo.Text) + ''' '); Open; end; if PState = '新增' then begin if ADOCmd.RecordCount > 0 then begin if Application.MessageBox('该指示单已登记过采购计划,是否继续保存?', '提示', 32 + 4) <> IDYES then Exit; end; end else begin if ADOCmd.RecordCount > 1 then begin if Application.MessageBox('该指示单已登记过采购计划,是否继续保存?', '提示', 32 + 4) <> IDYES then Exit; end; end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); end; end; procedure TfrmConInPutCG.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin // try // frmZDYHelp:=TfrmZDYHelp.Create(Application); // with frmZDYHelp do // begin // flag:='OrdColor'; // flagname:='颜色'; // V1Name.Caption:='中文名称'; // V1Note.Caption:='英文名称'; // fnote:=True; // MainType:=Trim(DName); // if ShowModal=1 then // begin // Self.Order_Sub.Edit; // Self.Order_Sub.FieldByName('PRTColor').Value:=Trim(ClientDataSet1.fieldbyname('ZdyName').AsString); // Self.Order_Sub.FieldByName('SOrdDefStr4').Value:=Trim(ClientDataSet1.fieldbyname('Note').AsString); // end; // end; // finally // frmZDYHelp.Free; // end; end; procedure TfrmConInPutCG.ToolButton1Click(Sender: TObject); var i: Integer; begin if Trim(ConNo.Text) = '' then begin Application.MessageBox('合同号不能为空!', '提示', 0); Exit; end; i := Order_Sub.RecordCount; i := i + 1; CopyAddRow(Tv1, Order_Sub); with Order_Sub do begin Edit; FieldByName('XHNO').Value := i; FieldByName('SCSColor').Value := ''; FieldByName('SCSQty').Value := null; FieldByName('SCSCurrency').Value := '人民币'; FieldByName('huilv').Value := '1'; FieldByName('SCSUnit').Value := '米'; Post; end; end; procedure TfrmConInPutCG.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Order_Sub.fieldbyname('SubId').AsString = '' then begin Order_Sub.Delete; end else begin if Trim(Order_Sub.fieldbyname('SubId').AsString) <> '' then begin if Application.MessageBox('确定要删除数据吗?', '提示', 32 + 4) <> IDYES then Exit; with ADOCmd do begin Close; sql.Clear; sql.Add('delete SalesContract_Sub where SubId=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; end; Order_Sub.Delete; end; end; procedure TfrmConInPutCG.BuyNameBtnUpClick(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); flag := 'buyName'; if ShowModal = 1 then begin buyName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; GetSell(SellName.Text); finally frmZDYHelp.Free; end; // try // frmZdyAttachment := TfrmZdyAttachment.Create(Application); // with frmZdyAttachment do // begin // if self.canshu1 = '业务员' then // canshu1 := '业务员'; // if ShowModal = 1 then // begin // self.BuyName.TxtCode := Trim(CDS_HZ.fieldbyname('CoCode').AsString); // self.BuyName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); // self.BuyAddress.Text := Trim(CDS_HZ.fieldbyname('CoAddress').AsString); // self.BuyTel.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); // self.BuyFax.Text := Trim(CDS_HZ.fieldbyname('Fax').AsString); // self.BuyBankNo.Text := Trim(CDS_HZ.fieldbyname('BankNo').AsString); // self.BuyBankName.Text := Trim(CDS_HZ.fieldbyname('BankName').AsString); // self.Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); // end; // end; // finally // frmZdyAttachment.Free; // end; end; procedure TfrmConInPutCG.BuyNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmConInPutCG.v1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); type TMyFunc = function(App: Tapplication; FormH: hwnd; FormID: integer; Language: integer; WinStyle: integer; GCode: Pchar; GName: Pchar; DataBase: Pchar; Title: PChar; Parameters1: PChar; Parameters2: PChar; Parameters3: PChar; Parameters4: PChar; Parameters5: PChar; Parameters6: PChar; Parameters7: PChar; Parameters8: PChar; Parameters9: PChar; Parameters10: PChar; DataBaseStr: PChar): hwnd; stdcall; var Tf: TMyFunc; Tp: TFarProc; Th: Thandle; LabInt, labname: string; begin //if PPInt=2 then Exit; Ddatabase := StringOfChar(' ', 32); Th := LoadLibrary('LabelSet.dll'); if Th > 0 then begin try Tp := GetProcAddress(Th, 'GetDllForm'); if Tp <> nil then begin Tf := TMyFunc(Tp); newh := Tf(Application, 0, 2, 0, 0, PChar(DCode), PChar(DName), PChar(Ddatabase), PChar('标签模版设置'), PChar(''), PChar(''), '', '', '', '', '', '', '', '', PChar(DConString)); if Trim(PChar(Ddatabase)) <> '' then begin Ddatabase := Trim(PChar(Ddatabase)); LabInt := Trim(LeftBStr(Ddatabase, Pos('|', Ddatabase) - 1)); labname := Trim(RightBStr(Ddatabase, Length(Ddatabase) - Pos('|', Ddatabase))); with Order_Sub do begin Edit; FieldByName('SLbName').Value := labname; FieldByName('SLbInt').Value := LabInt; end; end; end else begin ShowMessage('打印执行错误'); end; finally // FreeLibrary(); end; end else begin ShowMessage('找不到' + Trim('LabelSet.dll')); end; end; procedure TfrmConInPutCG.v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'PriceUnit'; flagname := '价格单位'; if Trim(DParameters1) <> '高权限' then begin TBAdd.Visible := False; TBEdit.Visible := False; TBDel.Visible := False; end; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PriceUnit').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.v1Column4PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTCodeName'; flagname := '产品名称'; if ShowModal = 1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('SCSPBNAME').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(); if Trim(Order_Sub.fieldbyname('SCSPBNAME').AsString) <> '' then GetPB(Trim(Order_Sub.fieldbyname('SCSPBNAME').Value)); end; procedure TfrmConInPutCG.v1Column6PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTMF'; flagname := '门幅信息'; if ShowModal = 1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('PRTMF').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 TfrmConInPutCG.v1Column7PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTKZ'; flagname := '克重信息'; if ShowModal = 1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('PRTKZ').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 TfrmConInPutCG.v1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var MCYNo: string; begin frmCPManagePBsel := TfrmCPManagePBsel.Create(self); with frmCPManagePBsel do begin if showmodal = 1 then begin Order_Sub.Edit; MCYNo := CDS_Main.fieldbyname('CYNo').asstring; Order_Sub.fieldbyname('SCSPBCode').Value := MCYNo; Order_Sub.fieldbyname('SCSPBName').Value := CDS_Main.fieldbyname('CYName').asstring; Order_Sub.fieldbyname('SCSPBMF').Value := CDS_Main.fieldbyname('CYMF').asstring; // Order_Sub.fieldbyname('SCSUnit').Value := CDS_Main.fieldbyname('CYPUNIT').asstring; Order_Sub.fieldbyname('SCSpbKZ').Value := CDS_Main.fieldbyname('CYKZ').asstring; Order_Sub.fieldbyname('SCSPBCF').Value := CDS_Main.fieldbyname('CYCF').asstring; Order_Sub.fieldbyname('SCSPBSpec').Value := CDS_Main.fieldbyname('CYSpec').asstring; // if Self.ComboBox1.ItemIndex = 0 then // begin // Order_Sub.fieldbyname('SCSPBName').Value := CDS_Main.fieldbyname('CYPBName').asstring; // Order_Sub.fieldbyname('SCSPBSpec').Value := CDS_Main.fieldbyname('CYPBSpec').asstring; // Order_Sub.fieldbyname('SCSPBMF').Value := CDS_Main.fieldbyname('PBMF').asstring; // Order_Sub.fieldbyname('SCSpbKZ').Value := CDS_Main.fieldbyname('PBKZ').asstring; // end; Order_Sub.Post; end; free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPutCG.GetPB(PBName: string); begin with ADOTemp do begin Close; sql.Clear; sql.Add('select top 1 A.* '); sql.Add(' from SalesContract_Sub A '); SQL.Add('where A.SCSPBName=' + quotedstr(trim(PBName))); sql.Add(' order by A.subid desc '); // ShowMessage(SQL.Text); Open; end; with Order_Sub do begin Edit; FieldByName('SCSPBMF').Value := ADOTemp.fieldbyname('SCSPBMF').AsString; FieldByName('SCSPBKZ').Value := ADOTemp.fieldbyname('SCSPBKZ').AsString; FieldByName('SCSPBCF').Value := ADOTemp.fieldbyname('SCSPBCF').AsString; FieldByName('SCSPBSpec').Value := ADOTemp.fieldbyname('SCSPBSpec').AsString; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPutCG.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); // V1Note.Caption := '联系方式'; fnote := True; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); // SalesTel.Text := Trim(ClientDataSet1.fieldbyname('note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.ZhiLiangNoteDblClick(Sender: TObject); var fsj: string; FWZ: Integer; i: integer; begin fsj := Trim(TMemo(Sender).Hint); FWZ := Pos('/', fsj); i := 0; try frmZDYHelpSel := TfrmZDYHelpSel.Create(Application); with frmZDYHelpSel do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TMemo(Sender).Lines.Clear; with ClientDataSet1 do begin First; while not Eof do begin if FieldByName('SSel').AsBoolean = True then begin i := i + 1; TMemo(Sender).Lines.Add(FieldByName('ZDYName').AsString) //inttostr(i)+'.'+ end; Next; end; end; end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmConInPutCG.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 TfrmConInPutCG.SellNameBtnUpClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if self.canshu1 = '业务员' then canshu1 := '业务员'; if ShowModal = 1 then begin self.sellName.TxtCode := Trim(CDS_HZ.fieldbyname('ZdyCode').AsString); self.sellName.Text := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); self.JBPerson.Text := Trim(CDS_HZ.fieldbyname('DEFstr4').AsString); self.SalesTel.Text := Trim(CDS_HZ.fieldbyname('DEFstr2').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmConInPutCG.ToolButton3Click(Sender: TObject); var F1, FMJID, fpbname: string; i: Integer; begin frmProductOrderListSel := TfrmProductOrderListSel.create(self); with frmProductOrderListSel do begin if showmodal = 1 then begin order_main.DisableControls; order_main.First; while not order_main.Eof do begin if (order_main.fieldbyname('ssel').AsBoolean) then begin if Order_Sub.IsEmpty = True then begin self.Order_Sub.Append; end else begin self.Order_Sub.Edit; end; // i := Order_Sub.RecordCount; // i := i + 1; Order_Sub.FieldByName('XHNO').Value := 1; self.Order_Sub.FieldByName('SCSPBCODE').Value := trim(order_main.fieldbyname('cyno').AsString); self.Order_Sub.FieldByName('SCSPBNAME').Value := trim(order_main.fieldbyname('cyNAME').AsString); self.Order_Sub.FieldByName('SCSPBMF').Value := trim(order_main.fieldbyname('cyMF').AsString); self.Order_Sub.FieldByName('fromordno').Value := trim(order_main.fieldbyname('OrderNo').AsString); self.Order_Sub.FieldByName('SCSCurrency').Value := 'RMB'; self.Order_Sub.FieldByName('SCSpiqty').Value := order_main.fieldbyname('zongps').Value; self.Order_Sub.FieldByName('SCSPBqty').Value := order_main.fieldbyname('zongqty').value; SCSQTY.Text := order_main.fieldbyname('zongqty').AsString; SCSMF.Text := trim(order_main.fieldbyname('MPRTMF').AsString); SCScode.Text := trim(order_main.fieldbyname('MPRTcode').AsString); SCSkz.Text := trim(order_main.fieldbyname('MPRTkz').AsString); SCSSPEC.Text := trim(order_main.fieldbyname('MPRTspec').AsString); SCSCF.Text := trim(order_main.fieldbyname('MPRTCF').AsString); SCSNAME.Text := Trim(order_main.fieldbyname('MPRTCODENAME').AsString); SCScode.Text := Trim(order_main.fieldbyname('MPRTCODE').AsString); buyconno.Text := Trim(order_main.fieldbyname('conno').AsString); self.Order_Sub.Post; end; order_main.Next; end; order_main.EnableControls; end; free; end; end; procedure TfrmConInPutCG.JHNoteBtnUpClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if self.canshu1 = '业务员' then canshu1 := '业务员'; if ShowModal = 1 then begin self.JHNote.Text := Trim(CDS_HZ.fieldbyname('ZdyName').AsString); self.SHNote.Text := Trim(CDS_HZ.fieldbyname('DEFNote1').AsString); self.GDY.Text := Trim(CDS_HZ.fieldbyname('GDName').AsString); // self.GDY.Text := Trim(CDS_HZ.fieldbyname('CoGDY').AsString); // self.Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmConInPutCG.SCSNAMEBtnUpClick(Sender: TObject); var F1, FMJID: string; i: Integer; begin frmCPManageselct := TfrmCPManageselct.create(self); with frmCPManageselct do begin if showmodal = 1 then begin scscode.Text := frmCPManageselct.CDS_Main.fieldbyname('CYno').asstring; scsname.Text := frmCPManageselct.CDS_Main.fieldbyname('cyName').asstring; SCSMF.Text := frmCPManageselct.CDS_Main.fieldbyname('cyMF').asstring; SCSKZ.Text := frmCPManageselct.CDS_Main.fieldbyname('cyKZ').asstring; SCSSpec.Text := frmCPManageselct.CDS_Main.fieldbyname('cySPEC').asstring; SCSCF.Text := frmCPManageselct.CDS_Main.fieldbyname('cyCF').asstring; // MPRTPBCODE.Text := frmCPManageselct.CDS_Main.fieldbyname('PBCODE').asstring; // MPRTPBNAME.Text := frmCPManageselct.CDS_Main.fieldbyname('PBNAME').asstring; // jgtype.Text := frmCPManageselct.CDS_Main.fieldbyname('JGFS').asstring; // zunit.ItemIndex := zunit.Items.IndexOf(trim(frmCPManageselct.CDS_Main.fieldbyname('cypunit').asstring)); // with ADOTemp do // begin // Close; // sql.Clear; // sql.Add('select * FROM CP_YDANG A WHERE '); // SQL.Add(' A.CYNO=' + QUOTEDSTR(frmCPManageselct.CDS_Main.fieldbyname('pbcode').asstring)); //// SQL.ADD('AND CPLX=''坯布'''); //// SHOWMESSAGE(SQL.Text); // Open; // end; // with Order_Sub do // begin // self.Order_Sub.Append; // i := Order_Sub.RecordCount; // i := i + 1; // FieldByName('XHNO').Value := i; // self.Order_Sub.FieldByName('SCSPBCODE').Value := trim(ADOTemp.fieldbyname('CYNO').AsString); // self.Order_Sub.FieldByName('SCSPBNAME').Value := trim(ADOTemp.fieldbyname('CYNAME').AsString); // self.Order_Sub.FieldByName('SCSPBMF').Value := trim(ADOTemp.fieldbyname('CYMF').AsString); // self.Order_Sub.FieldByName('SCSCurrency').Value := '人民币'; // self.Order_Sub.FieldByName('SCSUnit').Value := frmCPManageselct.CDS_Main.fieldbyname('CYPUNIT').asstring; // self.Order_Sub.Post; // end; end; free; end; end; procedure TfrmConInPutCG.BuyConNoBtnUpClick(Sender: TObject); var F1, FMJID, fpbname: string; i: Integer; begin frmProductOrderListSel := TfrmProductOrderListSel.create(self); with frmProductOrderListSel do begin if ComboBox1.ItemIndex = 1 then begin ssel.visible := True; PopupMenu := PopupMenu1; end else begin FOrderType := '坯布'; end; if showmodal = 1 then begin order_main.DisableControls; SCSQTY.Text := order_main.fieldbyname('XDqty').AsString; //ZXDqty SCSMF.Text := trim(order_main.fieldbyname('PRTMF').AsString); SCScode.Text := trim(order_main.fieldbyname('PRTCode').AsString); SCSkz.Text := trim(order_main.fieldbyname('PRTkz').AsString); SCSSPEC.Text := trim(order_main.fieldbyname('PRTspec').AsString); SCSCF.Text := trim(order_main.fieldbyname('PRTCF').AsString); SCSNAME.Text := Trim(order_main.fieldbyname('PRTCODENAME').AsString); SCScode.Text := Trim(order_main.fieldbyname('PRTCODE').AsString); buyconno.Text := Trim(order_main.fieldbyname('orderno').AsString); label28.Visible := True; label28.Caption := Trim(order_main.fieldbyname('OrderUnit').AsString); order_main.EnableControls; // if ComboBox1.ItemIndex = 1 then // begin Order_Main.DisableControls; order_main.First; while not Order_Main.Eof do begin if Order_Main.FieldByName('ssel').AsBoolean then begin with Order_Sub do begin Append; if ComboBox1.ItemIndex = 0 then begin with self.ADOTemp do begin Close; sql.Clear; sql.Add(' select * from CP_YDang where CYNo=''' + Trim(order_main.fieldbyname('PRTCode').AsString) + ''' '); Open; end; Order_Sub.fieldbyname('SCSPBName').Value := Trim(ADOTemp.fieldbyname('CYPBName').AsString); Order_Sub.fieldbyname('SCSPBMF').Value := trim(ADOTemp.fieldbyname('PBMF').AsString); Order_Sub.fieldbyname('SCSpbKZ').Value := trim(ADOTemp.fieldbyname('PBKZ').AsString); Order_Sub.fieldbyname('SCSPBSpec').Value := trim(ADOTemp.fieldbyname('CYPBSpec').AsString); end else begin Order_Sub.fieldbyname('SCSPBName').Value := Trim(order_main.fieldbyname('PRTCODENAME').AsString); Order_Sub.fieldbyname('SCSPBMF').Value := trim(order_main.fieldbyname('PRTMF').AsString); Order_Sub.fieldbyname('SCSpbKZ').Value := trim(order_main.fieldbyname('PRTkz').AsString); Order_Sub.fieldbyname('SCSPBSpec').Value := trim(order_main.fieldbyname('PRTSpec').AsString); end; Order_Sub.fieldbyname('SCSPBCode').Value := Trim(order_main.fieldbyname('PRTCODE').AsString); Order_Sub.fieldbyname('SCSpbCF').Value := trim(order_main.fieldbyname('PRTCF').AsString); Order_Sub.fieldbyname('SCSColor').Value := trim(order_main.fieldbyname('PRTColor').AsString); Order_Sub.fieldbyname('SCSColorNo').Value := trim(order_main.fieldbyname('SOrddefstr1').AsString); if ComboBox1.Text = '坯布采购' then begin Order_Sub.fieldbyname('SCSUnit').Value := Trim(order_main.fieldbyname('XDUnit').AsString); Order_Sub.fieldbyname('SCSPBQty').Value := order_main.fieldbyname('XDqty').value; //ZXDqty end else begin Order_Sub.fieldbyname('SCSUnit').Value := Trim(order_main.fieldbyname('XDUnit').AsString); Order_Sub.fieldbyname('SCSPBQty').Value := order_main.fieldbyname('XDqty').value; end; Order_Sub.fieldbyname('SCSCurrency').Value := '人民币'; Post; end; end; Order_Main.Next; end; Order_Main.EnableControls; // end; end; free; end; end; procedure TfrmConInPutCG.SHNoteBtnUpClick(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); // V1Note.Caption := '联系方式'; fnote := True; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); // SalesTel.Text := Trim(ClientDataSet1.fieldbyname('note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.GDYBtnUpClick(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); V1Note.Caption := '联系方式'; fnote := True; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); GDTel.Text := Trim(ClientDataSet1.fieldbyname('note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.SHPersonBtnUpClick(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); V1Note.Caption := '联系方式'; fnote := True; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); SHTel.Text := Trim(ClientDataSet1.fieldbyname('note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.JBPersonBtnUpClick(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); V1Note.Caption := '联系方式'; fnote := True; if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); SalesTel.Text := Trim(ClientDataSet1.fieldbyname('note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutCG.ToolButton4Click(Sender: TObject); var FQty, FPrice: double; begin if Order_Sub.IsEmpty then Exit; OneKeyPost(Tv1, Order_Sub); if (Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName = 'SCSPrice') or (Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName = 'SCSPBQTY') then begin Order_sub.First; while not Order_sub.Eof do begin with order_sub do begin FQty := StrToFloatdef(FieldByName('SCSPBQty').AsString, 0); FPrice := StrToFloatdef(FieldByName('SCSPrice').AsString, 0); end; with order_sub do begin Edit; FieldByName('SCSMoney').Value := FQty * FPrice; Post; end; tv1.Controller.EditingController.ShowEdit(); Order_sub.Next; end; end; end; procedure TfrmConInPutCG.v1PRTPricePropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; FQty, FPrice: double; begin with order_sub do begin mvalue := TcxTextEdit(Sender).EditingText; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); end; with order_sub do begin Edit; FieldByName(FFieldName).Value := StrToFloatdef(Trim(mvalue), 0); Post; FQty := StrToFloatdef(FieldByName('SCSPBQty').AsString, 0); FPrice := StrToFloatdef(FieldByName('SCSPrice').AsString, 0); end; with order_sub do begin Edit; FieldByName('SCSMoney').Value := FQty * FPrice; Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPutCG.QtyNoteKeyPress(Sender: TObject; var Key: Char); begin if Key = #39 then begin QtyNote.SetFocus; end; end; procedure TfrmConInPutCG.QtyNote1KeyPress(Sender: TObject; var Key: Char); begin if Key = #39 then begin PZFYNote.SetFocus; end; end; procedure TfrmConInPutCG.PZFYNoteKeyPress(Sender: TObject; var Key: Char); begin if Key = #39 then begin ZhiLiangNote.SetFocus; end; end; procedure TfrmConInPutCG.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SCSUnit'; flagname := '单位'; if ShowModal = 1 then begin Order_Sub.Edit; Order_Sub.fieldbyname('SCSUnit').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; end.