unit U_JYGLCK; interface uses Windows, Messages, SysUtils, StrUtils, Variants, Classes, Graphics, Controls, Forms, Dialogs, cxStyles, cxCustomData, cxGraphics, cxFilter, cxData, MMSystem, cxDataStorage, cxEdit, DB, cxDBData, cxGridCustomTableView, cxGridTableView, cxGridDBTableView, cxGridLevel, cxClasses, cxControls, cxGridCustomView, cxGrid, StdCtrls, ComCtrls, ExtCtrls, ToolWin, cxButtonEdit, cxDropDownEdit, DBClient, ADODB, cxGridCustomPopupMenu, cxGridPopupMenu, BtnEdit, cxContainer, cxTextEdit, cxCurrencyEdit, cxCheckBox, Menus, RM_Common, RM_Class, RM_e_Xls, RM_Dataset, RM_System, RM_GridReport, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, DateUtils, dxSkinsCore, dxSkinsDefaultPainters, dxSkinscxPCPainter; type TfrmJYGLCK = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; Panel1: TPanel; Label1: TLabel; CRTime: TDateTimePicker; Label2: TLabel; CRType: TComboBox; ADOQueryCmd: TADOQuery; ADOQueryTmp: TADOQuery; DataSource1: TDataSource; CDS_Main: TClientDataSet; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGridPopupMenu1: TcxGridPopupMenu; Label8: TLabel; InoutNo: TEdit; Label9: TLabel; ToFactoryName: TBtnEditA; Panel3: TPanel; ADOQueryMain: TADOQuery; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; v1MJXH: TcxGridDBColumn; v1P_Code: TcxGridDBColumn; v1P_CodeName: TcxGridDBColumn; v1P_SPEC: TcxGridDBColumn; v1Price: TcxGridDBColumn; v1P_MF: TcxGridDBColumn; v1P_KZ: TcxGridDBColumn; v1Qty: TcxGridDBColumn; v1QtyUnit: TcxGridDBColumn; v1Money: TcxGridDBColumn; v1Note: TcxGridDBColumn; cxGrid1Level1: TcxGridLevel; PopupMenu1: TPopupMenu; N1: TMenuItem; N2: TMenuItem; ADOQueryPrint: TADOQuery; RM1: TRMGridReport; RMDB_Main: TRMDBDataSet; RMXLSExport1: TRMXLSExport; v1Column1: TcxGridDBColumn; v1Column2: TcxGridDBColumn; v1Column3: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; btn1: TToolButton; cxGrid2: TcxGrid; TV3: TcxGridDBTableView; cxGridDBColumn1: TcxGridDBColumn; cxGridDBColumn2: TcxGridDBColumn; cxGridDBColumn3: TcxGridDBColumn; cxGridDBColumn4: TcxGridDBColumn; cxGridDBColumn5: TcxGridDBColumn; cxGridDBColumn6: TcxGridDBColumn; cxGridDBColumn7: TcxGridDBColumn; cxGridDBColumn8: TcxGridDBColumn; cxGridLevel2: TcxGridLevel; qry1: TADOQuery; CDS_BJ: TClientDataSet; DS_BJ: TDataSource; pnl1: TPanel; lbl1: TLabel; CYNO: TEdit; lbl2: TLabel; Edit1: TEdit; cxGrid3: TcxGrid; TV7: TcxGridDBTableView; cxGridDBColumn9: TcxGridDBColumn; cxGridDBColumn10: TcxGridDBColumn; cxGridDBColumn11: TcxGridDBColumn; cxGridDBColumn12: TcxGridDBColumn; cxGridDBColumn13: TcxGridDBColumn; cxGridLevel1: TcxGridLevel; CDS_YPXZ: TClientDataSet; DS_YPXZ: TDataSource; N3: TMenuItem; cV7Column5: TcxGridDBColumn; cv1Column6: TcxGridDBColumn; Edit2: TEdit; Label3: TLabel; SHDiZhi: TBtnEditA; Label4: TLabel; SHer: TBtnEditA; SHDianHua: TEdit; Label5: TLabel; Label6: TLabel; CPLeiBie: TComboBox; v1Column6: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Label7: TLabel; ZBZNOTE: TEdit; Label10: TLabel; Salesman: TBtnEditA; Tv1Column2: TcxGridDBColumn; Tv1Column3: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; ADOQuery1: TADOQuery; ADOTMP: TADOQuery; Label11: TLabel; YWZB: TBtnEditA; ADOQuery2: TADOQuery; ToolButton3: TToolButton; Label12: TLabel; SEASON2: TComboBox; Tv1Column5: TcxGridDBColumn; YWNO: TEdit; SEASON: TEdit; procedure FormDestroy(Sender: TObject); procedure FormCreate(Sender: TObject); procedure FormClose(Sender: TObject; var Action: TCloseAction); procedure FormShow(Sender: TObject); procedure TBSaveClick(Sender: TObject); procedure v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton1Click(Sender: TObject); procedure TBCloseClick(Sender: TObject); procedure ToFactoryNameBtnClick(Sender: TObject); procedure v1QtyPropertiesEditValueChanged(Sender: TObject); procedure FHAddressBtnDnClick(Sender: TObject); procedure v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton2Click(Sender: TObject); procedure N1Click(Sender: TObject); procedure N2Click(Sender: TObject); procedure btn1Click(Sender: TObject); procedure CYNOKeyPress(Sender: TObject; var Key: Char); procedure Edit1KeyPress(Sender: TObject; var Key: Char); procedure TV7DblClick(Sender: TObject); procedure TV3DblClick(Sender: TObject); procedure N3Click(Sender: TObject); procedure TV7MouseLeave(Sender: TObject); procedure Edit2KeyPress(Sender: TObject; var Key: Char); procedure Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); procedure SHerBtnClick(Sender: TObject); procedure SHDiZhiBtnClick(Sender: TObject); procedure SalesmanBtnClick(Sender: TObject); procedure CRTypeChange(Sender: TObject); procedure Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); procedure YWZBBtnClick(Sender: TObject); procedure ToolButton3Click(Sender: TObject); procedure Tv1Column5PropertiesEditValueChanged(Sender: TObject); private procedure GetKC(MScan: string; MScanType: string); procedure InitGrid(); procedure GetYP(); function savedate(): Boolean; { Private declarations } public fkeyNO, fxiugai: string; FType: integer; fCKName: string; canshu1: string; jyfs: string; yingcang: string; FCK: string; { Public declarations } end; var frmJYGLCK: TfrmJYGLCK; implementation uses U_DataLink, U_Fun10, U_ZDYHelp, U_ZdyAttachment, U_ZDYHelpSel, U_ZdyAttachGYS, U_PieceSampleKcList, U_ZdyAttachmentBJ, U_YPKC, U_PieceSampleKcListSEL, U_CPManageSel; {$R *.dfm} procedure TfrmJYGLCK.GetKC(MScan: string; MScanType: string); begin with ADOQueryTmp do begin close; sql.Clear; SQL.Add('exec P_Get_YPKC @Scan=' + quotedstr(trim(MScan))); SQL.Add(',@ScanType=' + quotedstr(Trim(MScanType))); // showmessage(SQL.Text); open; end; if ADOQueryTmp.IsEmpty then begin Application.MessageBox('编号错误!', '提示', 0); Exit; Edit1.Text := ''; end else begin if ADOQueryTmp.RecordCount = 1 then begin if CDS_Main.Locate('P_Code;P_COLOR', VarArrayOf([trim(ADOQueryTmp.fieldbyname('P_Code').AsString), trim(ADOQueryTmp.fieldbyname('P_COLOR').AsString)]), []) then begin if Application.MessageBox('已存在该样品,是否继续添加?', '提示', 32 + 4) <> IDYES then Exit; end; CDS_Main.append; CDS_Main.FieldByName('P_Code').Value := trim(ADOQueryTmp.fieldbyname('P_Code').AsString); CDS_Main.FieldByName('P_CodeName').Value := trim(ADOQueryTmp.fieldbyname('P_CodeName').AsString); CDS_Main.FieldByName('P_spec').Value := trim(ADOQueryTmp.fieldbyname('P_spec').AsString); CDS_Main.FieldByName('P_cf').Value := trim(ADOQueryTmp.fieldbyname('P_cf').AsString); CDS_Main.FieldByName('P_MF').Value := trim(ADOQueryTmp.fieldbyname('P_MF').AsString); CDS_Main.FieldByName('P_KZ').Value := trim(ADOQueryTmp.fieldbyname('P_KZ').AsString); CDS_Main.FieldByName('P_cf').Value := trim(ADOQueryTmp.fieldbyname('P_cf').AsString); CDS_Main.FieldByName('P_color').Value := trim(ADOQueryTmp.fieldbyname('P_color').AsString); CDS_Main.FieldByName('mjid').Value := trim(ADOQueryTmp.fieldbyname('mjid').AsString); CDS_Main.FieldByName('Qty').Value := ADOQueryTmp.fieldbyname('kcQty').AsFloat; CDS_Main.FieldByName('QtyUnit').Value := trim(ADOQueryTmp.fieldbyname('QtyUnit').AsString); CDS_Main.FieldByName('Price').Value := 0; CDS_Main.FieldByName('Money').Value := 0; CDS_Main.FieldByName('QtyUnit').Value := 'M'; CDS_Main.Post; // InitHistoryPrice(trim(ADOQueryTmp.fieldbyname('CYNo').AsString)); Edit1.Text := ''; end; if ADOQueryTmp.RecordCount > 1 then begin SCreateCDS20(ADOQueryTmp, CDS_YPXZ); SInitCDSData20(ADOQueryTmp, CDS_YPXZ); cxGrid3.Visible := True; cxGrid3.SetFocus; Edit1.Text := ''; end; end; end; function TfrmJYGLCK.savedate(): Boolean; var MaxNo, MaxNo2, finoutno: string; I: Integer; begin result := false; // if trim(fkeyNO) = '' then // begin // I := 0; // while I = 0 do // begin // if GetLSNo(ADOQueryCmd, fkeyNo, 'YCK', 'CK_Sample_CR', 3, 1) = False then // begin // Application.MessageBox('取最大号失败!', '提示', 0); // CDS_Main.EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Exit; // end; // with ADOTMP do // begin // close; // SQL.Clear; // sql.Add('select * from CK_Sample_CR where INOUTNO=''' + trim(fkeyNO) + ''' '); // open; // end; // // if ADOTMP.IsEmpty then // I := 1; // end; // InoutNo.Text := fkeyNO; // end; try ADOQueryCmd.Connection.BeginTrans; CDS_Main.DisableControls; if FType = 0 then begin if GetLSNo(ADOQueryCmd, finoutno, 'YCK', 'CK_Sample_ID', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Exit; end; with ADOQueryTmp do begin close; sql.Clear; sql.Add('INSERT INTO CK_Sample_ID(INOUTNO,YWNO)'); SQL.Add('VALUES(' + QuotedStr(Trim(finoutno))); SQL.Add(',' + QuotedStr(Trim(YWNO.Text))); SQL.Add(')'); ExecSQL; end; end; // if (fType = 0) then // begin // if GetLSNo(ADOQueryTmp, fkeyNo, 'YCK', 'CK_Sample_CR', 3, 1) = False then // begin // Application.MessageBox('取最大号失败!', '提示', 0); // CDS_Main.EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Exit; // end; // // inoutNo.Text := trim(fkeyNo); // end; CDS_Main.First; with CDS_Main do begin while not eof do begin with ADOQueryCmd do begin close; sql.Clear; sql.Add('select * from CK_Sample_CR'); sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString))); open; end; if ADOQueryCmd.IsEmpty then begin if GetLSNo(ADOQueryTmp, MaxNo, 'SPC', 'CK_Sample_CR', 3, 1) = False then begin ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; ADOQueryCmd.Append; ADOQueryCmd.FieldByName('Filler').Value := trim(DName); ADOQueryCmd.FieldByName('FillTime').Value := dateTimetostr(SGetServerDateTime(adoqueryTmp)); ADOQueryCmd.FieldByName('Chkstatus').Value := '-1'; end else begin MaxNo := Trim(CDS_Main.FieldByName('CRNO').AsString); ADOQueryCmd.Edit; ADOQueryCmd.FieldByName('editer').Value := trim(dName); ADOQueryCmd.FieldByName('editTime').Value := SGetServerDateTime(adoqueryTmp); end; if (FCK = '1') and (Trim(CDS_Main.FieldByName('CRNO').AsString) = '') then begin ADOQueryCmd.FieldByName('Chkstatus').Value := 0; ADOQueryCmd.FieldByName('jsperson').Value := null; end; ADOQueryCmd.FieldByName('inoutNo').Value := trim(inoutNo.Text); ADOQueryCmd.FieldByName('CRNO').Value := trim(MaxNo); ADOQueryCmd.FieldByName('CKName').Value := trim(fCKName); ADOQueryCmd.FieldByName('ToFactoryName').Value := trim(ToFactoryName.Text); ADOQueryCmd.FieldByName('SHer').Value := trim(SHer.Text); ADOQueryCmd.FieldByName('SHDiZhi').Value := trim(SHDiZhi.Text); ADOQueryCmd.FieldByName('SHDianHua').Value := trim(SHDianHua.Text); ADOQueryCmd.FieldByName('CPLeiBie').Value := trim(CPLeiBie.Text); ADOQueryCmd.FieldByName('SALESMAN').Value := trim(SALESMAN.Text); ADOQueryCmd.FieldByName('ywzb').Value := trim(ywzb.Text); ADOQueryCmd.FieldByName('SEASON').Value := trim(SEASON.Text); ADOQueryCmd.FieldByName('SEASON2').Value := trim(SEASON2.Text); ADOQueryCmd.FieldByName('ZBZNOTE').Value := trim(ZBZNOTE.Text); ADOQueryCmd.FieldByName('CRTime').Value := formatdateTime('yyyy-MM-dd', CRTIme.Date); ADOQueryCmd.FieldByName('CRType').Value := trim(CRType.Text); ADOQueryCmd.FieldByName('CRFlag').Value := '出库'; ADOQueryCmd.FieldByName('VisType').Value := '寄样'; ADOQueryCmd.FieldByName('CRQtyFlag').Value := -1; //保存明细 RTSetSaveDataCDS(ADOQueryCmd, Tv1, CDS_Main, 'CK_Sample_CR', 0); //保存隐藏字段 ADOQueryCmd.FieldByName('mainID').Value := trim(fieldbyname('mainID').AsString); ADOQueryCmd.FieldByName('subID').Value := trim(fieldbyname('subID').AsString); ADOQueryCmd.FieldByName('MJID').Value := trim(fieldbyname('MJID').AsString); ADOQueryCmd.FieldByName('Rollnum').Value := fieldbyname('Rollnum').AsInteger; if FType = 0 then begin ADOQueryCmd.FieldByName('YWNO').Value := trim(YWNO.Text); end; if fkeyNo <> '' then begin ADOQueryCmd.FieldByName('XGFALG').Value := 1; end; ADOQueryCmd.Post; if (ADOQueryCmd.fieldbyname('mjid').AsString <> '') and (ADOQueryCmd.fieldbyname('CKLX').AsString = '样品仓库') then begin if (CPLeiBie.Text = '样布') then begin with ADOQueryCmd do begin Close; SQL.Clear; SQL.Add('exec P_Up_SampleKc ' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString))); // showmessage(sql.Text); Open; end; if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '操作失败' then begin CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('出库数量超出库存数量!', '提示', 0); Exit; end; end; end; if (CDS_Main.fieldbyname('CKLX').AsString = '调样仓库') and (CPLeiBie.Text = '样布') then begin if fType = 0 then begin if CDS_Main.fieldbyname('qty').AsFloat > CDS_Main.fieldbyname('kcqty1').AsFloat then begin CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('申请数量大于库存数量!', '提示', 0); Exit; end; end else begin // with ADOQuery2 do // begin // Close; // SQL.Clear; // sql.Add('select QTY from CK_Sample_CR'); // sql.Add('where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString))); //// showmessage(sql.Text); // Open; // end; // // if CDS_Main.fieldbyname('qty').AsFloat > StrToFloatDEF(CDS_Main.fieldbyname('kcqty1').AsString, 0) + StrToFloatDEF(ADOQuery2.fieldbyname('QTY').AsString, 0) then // begin // CDS_Main.EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('申请数量大于库存数量!', '提示', 0); // Exit; // end; end; with ADOQuery1 do begin close; sql.Clear; sql.Add('select * from YP_INout'); sql.Add('where FROMCRNO= ' + quotedstr(Trim(MaxNo))); SQL.Add('AND VALID=''Y'''); // ShowMessage(SQL.Text); open; end; if ADOQuery1.IsEmpty = True then begin if GetLSNo(ADOTMP, MaxNo2, 'YC', 'YP_INout', 4, 1) = False then begin CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; ADOQuery1.Append; ADOQuery1.FieldByName('Filler').Value := trim(DName); ADOQuery1.FieldByName('FillTime').Value := dateTimetostr(SGetServerDateTime(ADOTMP)); end else begin MaxNo2 := Trim(CDS_Main.fieldbyname('crno').AsString); ADOQuery1.Edit; ADOQuery1.FieldByName('editer').Value := trim(dName); ADOQuery1.FieldByName('editTime').Value := SGetServerDateTime(ADOTMP); end; ADOQuery1.FieldByName('CRNO').Value := trim(MaxNo2); ADOQuery1.FieldByName('CRID').Value := Trim(MaxNo2); ADOQuery1.FieldByName('CRQtyFlag').Value := -1; ADOQuery1.FieldByName('CRFlag').Value := '出库'; ADOQuery1.FieldByName('CRTIME').Value := dateTimetostr(SGetServerDateTime(ADOTMP)); ADOQuery1.FieldByName('frommainID').Value := trim(CDS_Main.fieldbyname('mainID').AsString); ADOQuery1.FieldByName('fromsubID').Value := trim(CDS_Main.fieldbyname('subID').AsString); ADOQuery1.FieldByName('factoryName').Value := trim(CDS_Main.fieldbyname('fromFactoryName').AsString); ADOQuery1.FieldByName('YWY').Value := Salesman.Text; ADOQuery1.FieldByName('P_Code').Value := trim(CDS_Main.fieldbyname('P_Code').AsString); ADOQuery1.FieldByName('P_CodeName').Value := trim(CDS_Main.fieldbyname('P_CodeName').AsString); ADOQuery1.FieldByName('P_COLOR').Value := trim(CDS_Main.fieldbyname('P_COLOR').AsString); ADOQuery1.FieldByName('P_SPEC').Value := trim(CDS_Main.fieldbyname('P_SPEC').AsString); ADOQuery1.FieldByName('P_CF').Value := trim(CDS_Main.fieldbyname('P_CF').AsString); ADOQuery1.FieldByName('P_HX').Value := trim(CDS_Main.fieldbyname('P_HX').AsString); ADOQuery1.FieldByName('P_SMF').Value := trim(CDS_Main.fieldbyname('P_MF').AsString); ADOQuery1.FieldByName('P_SKZ').Value := trim(CDS_Main.fieldbyname('P_KZ').AsString); ADOQuery1.FieldByName('Qty').Value := CDS_Main.fieldbyname('Qty').Value; ADOQuery1.FieldByName('QtyUnit').Value := trim(CDS_Main.fieldbyname('QtyUnit').AsString); ADOQuery1.FieldByName('Price').Value := CDS_Main.fieldbyname('Price').VALUE; ADOQuery1.FieldByName('Money').Value := CDS_Main.fieldbyname('Money').VALUE; ADOQuery1.FieldByName('kuwei').Value := trim(CDS_Main.fieldbyname('kuwei').AsString); ADOQuery1.FieldByName('status').Value := 1; ADOQuery1.FieldByName('CKNAME').Value := '样品仓库'; ADOQuery1.FieldByName('CRType').Value := '寄样出库'; ADOQuery1.FieldByName('custName').Value := trim(ToFactoryName.Text); ADOQuery1.FieldByName('ywy').Value := trim(Salesman.Text); ADOQuery1.FieldByName('FROMCRNO').Value := trim(MaxNo); ADOQuery1.Post; end; // with ADOQueryTmp do // begin // Close; // SQL.Clear; // SQL.Add(' select K1=ISNULL(SUM(X.CRQtyFlag*X.Qty),0) from CK_Sample_CR X WHERE MJID= ' + quotedstr(trim(CDS_Main.fieldbyname('MJID').AsString))); // SQL.Add('VALID=''Y'''); // Open; // end; // if ADOQueryTmp.FieldByName('K1').AsFloat <= 0 then // begin // CDS_Main.EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('入库数量少于出库数量!', '提示', 0); // Exit; // end; // // if Trim(ADOQueryCmd.FieldByName('Msg').AsString) = '操作失败' then // begin // CDS_Main.EnableControls; // ADOQueryCmd.Connection.RollbackTrans; // Application.MessageBox('入库数量少于出库数量!', '提示', 0); // Exit; // end; if FType = 0 then begin with ADOQueryTmp do begin Close; SQL.Clear; SQL.Add('UPDATE CK_Sample_CR SET INOUTNO=(SELECT INOUTNO FROM CK_Sample_ID B WHERE B.YWNO=CK_Sample_CR.YWNO)'); SQL.Add('WHERE YWNO=' + QuotedStr(Trim(YWNO.Text))); SQL.Add('AND YWNO IS NOT NULL '); ExecSQL; end; end; Edit; FieldByName('CRNO').Value := trim(MaxNo); post; next; end; end; CDS_Main.EnableControls; ADOQueryCmd.Connection.CommitTrans; result := true; except CDS_Main.EnableControls; ADOQueryCmd.Connection.RollbackTrans; end; end; procedure TfrmJYGLCK.InitGrid(); begin try if fxiugai <> '' then begin with adoqueryMain do begin close; sql.Clear; sql.Add('select A.*,KCQTY1=ISNULL(KCQTY,0) from CK_Sample_CR A'); sql.Add('where A.inoutno=' + quotedstr(trim(fxiugai))); sql.Add('and valid=''Y'''); if FCK = '1' then begin sql.Add(' and isnull(A.Chkstatus,''-1'')=''0'''); sql.Add('and a.jsperson is not null'); end; open; end; end else begin with adoqueryMain do begin close; sql.Clear; sql.Add('select A.*,KCQTY1=ISNULL(KCQTY,0) from CK_Sample_CR A'); sql.Add('where A.crno=' + quotedstr(trim(fkeyNO))); sql.Add('and valid=''Y'''); if FCK = '1' then begin sql.Add(' and isnull(A.Chkstatus,''-1'')=''0'''); sql.Add('and a.jsperson is not null'); end; open; end; end; SCreateCDS20(adoqueryMain, CDS_Main); SInitCDSData20(adoqueryMain, CDS_Main); if not CDS_Main.IsEmpty then begin CRTime.Date := CDS_Main.fieldbyname('CRTime').AsDateTime; CRType.ItemIndex := CRType.Items.IndexOf(trim(CDS_Main.fieldbyname('CRType').AsString)); CPLeiBie.ItemIndex := CPLeiBie.Items.IndexOf(trim(CDS_Main.fieldbyname('CPLeiBie').AsString)); SALESMAN.TEXT := trim(CDS_Main.fieldbyname('SALESMAN').AsString); InoutNO.Text := trim(CDS_Main.fieldbyname('InoutNO').AsString); ToFactoryName.Text := trim(CDS_Main.fieldbyname('ToFactoryName').AsString); SHer.Text := trim(CDS_Main.fieldbyname('SHer').AsString); SHDiZhi.Text := trim(CDS_Main.fieldbyname('SHDiZhi').AsString); SHDianHua.Text := trim(CDS_Main.fieldbyname('SHDianHua').AsString); ZBZNOTE.TEXT := trim(CDS_Main.fieldbyname('ZBZNOTE').AsString); ywzb.TEXT := trim(CDS_Main.fieldbyname('ywzb').AsString); SEASON.TEXT := trim(CDS_Main.fieldbyname('SEASON').AsString); SEASON2.ItemIndex := SEASON2.Items.IndexOf(trim(CDS_Main.fieldbyname('SEASON2').AsString)); end; finally end; end; procedure TfrmJYGLCK.FormDestroy(Sender: TObject); begin frmJYGLCK := nil; end; procedure TfrmJYGLCK.FormCreate(Sender: TObject); begin CRTime.Date := SGetServerDate10(ADOQueryTmp); end; procedure TfrmJYGLCK.FormClose(Sender: TObject; var Action: TCloseAction); begin Action := cahide; WriteCxGrid(trim(self.Caption), Tv1, '样品仓库1'); end; procedure TfrmJYGLCK.FormShow(Sender: TObject); var fbhType, fInoutNo, FKHNO: string; begin readCxGrid(trim(self.Caption), Tv1, '样品仓库1'); InitGrid(); if jyfs = '日常' then begin // edit2.Visible := false; cyno.Visible := False; // lbl1.Visible := False; end; if jyfs = '库存' then begin // edit1.Visible := False; // lbl2.Visible := False; end; if fType = 0 then begin if GetLSNo(ADOQueryCmd, FKHNO, Trim(DCode), 'CK_Sample_ID', 3, 1) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; ywno.Text := trim(FKHNO); end; // if canshu1 = '录入' then // begin // CRType.Items.Clear; // // CRType.Items.Add('赠送出库'); // CRType.Items.Add('销售出库'); // end; with ADOTMP do begin close; sql.Clear; SQL.Add(' select TOP 1 Udept from SY_User where USERname=' + QuotedStr(Trim(dname))); // ShowMessage(sql.Text); open; end; if ADOTMP.IsEmpty = False then begin if Pos('销售', Trim(ADOTMP.fieldbyname('UDEPT').AsString)) > 0 then begin CRType.Items.Clear; CRType.Items.Add('赠送出库'); CRType.Items.Add('销售出库'); CRType.ItemIndex := 1; end; end; end; procedure TfrmJYGLCK.TBSaveClick(Sender: TObject); var finoutno: string; D1, D2: TDateTime; D3: Integer; begin if cds_main.IsEmpty then exit; ToolBar1.SetFocus; D1 := CRTime.Date; D2 := SGetServerDate10(ADOQueryTmp); D3 := DaysBetween(D1, D2); if (D3 > 60) or (D3 < -60) then begin application.MessageBox('日期不能选择两个月以外的日期!', '提示信息', 0); exit; end; if trim(CRType.Text) = '' then begin application.MessageBox('出库类型不能为空!', '提示信息', 0); exit; end; if (trim(SEASON.Text) = '') or (trim(SEASON2.Text) = '') then begin application.MessageBox('季度不能为空!', '提示信息', 0); exit; end; if trim(CRType.Text) = '赠送出库' then begin if trim(ZBZNOTE.Text) = '' then begin application.MessageBox('赠送出库总备注不能为空!', '提示信息', 0); exit; end; end; if trim(CPLeiBie.Text) = '' then begin application.MessageBox('样品类型不能为空!', '提示信息', 0); exit; end; if trim(Salesman.Text) = '' then begin application.MessageBox('业务员不能为空!', '提示信息', 0); exit; end; if trim(ywzb.Text) = '' then begin application.MessageBox('业务组别不能为空!', '提示信息', 0); exit; end; if trim(ToFactoryName.Text) = '' then begin application.MessageBox('收货单位不能为空!', '提示信息', 0); exit; end; if CRType.Text = '销售出库' then begin if cds_main.Locate('Price', NULL, []) then begin application.MessageBox('销售出库单价不能为空!', '提示信息', 0); exit; end; if cds_main.Locate('Price', '0', []) then begin application.MessageBox('销售出库单价不能为0!', '提示信息', 0); exit; end; end; if cds_main.Locate('Qty', 0, []) then begin application.MessageBox('数量不能为空!', '提示信息', 0); exit; end; if cds_main.Locate('Qty', NULL, []) then begin application.MessageBox('数量不能为空!', '提示信息', 0); exit; end; if cds_main.Locate('QtyUnit', '', []) then begin application.MessageBox('数量单位不能为空!', '提示信息', 0); exit; end; if cds_main.Locate('QtyUnit', NULL, []) then begin application.MessageBox('数量单位不能为空!', '提示信息', 0); exit; end; // with ADOTMP do // begin // close; // sql.Clear; // sql.Add('EXEC P_UP_BH'); // ExecSQL; // end; if savedate() then begin application.MessageBox('数据保存成功!', '提示信息'); Modalresult := 1; end else begin application.MessageBox('数据保存失败!', '提示信息', MB_ICONERROR); end; end; procedure TfrmJYGLCK.v1P_CodeNamePropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'Cloth'; flagname := '坯布名称'; if ShowModal = 1 then begin Self.CDS_Main.Edit; Self.CDS_Main.FieldByName('P_CodeName').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); Self.CDS_Main.FieldByName('P_Code').Value := Trim(ClientDataSet1.fieldbyname('ZDYNo').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJYGLCK.ToolButton1Click(Sender: TObject); var FMJID: string; begin frmPieceSampleKcListsel := TfrmPieceSampleKcListSEL.create(self); with frmPieceSampleKcListsel do begin fType := 10; fCKName := trim(self.fCKName); if showmodal = 1 then begin cds_main.DisableControls; cds_main.First; while not cds_main.Eof do begin //and (not self.cds_main.Locate('MJID', trim(cds_main.fieldbyname('MJID').AsString), [])) if (cds_main.fieldbyname('ssel').AsBoolean) then begin self.cds_main.Append; self.cds_main.FieldByName('cklx').Value := trim(cds_main.fieldbyname('CKTYPE').AsString); self.cds_main.FieldByName('OrderNo').Value := trim(cds_main.fieldbyname('OrderNo').AsString); self.cds_main.FieldByName('mainID').Value := trim(cds_main.fieldbyname('mainID').AsString); self.cds_main.FieldByName('subID').Value := trim(cds_main.fieldbyname('subID').AsString); self.cds_main.fieldbyname('fromFactoryName').Value := trim(cds_main.fieldbyname('fromFactoryName').AsString); self.cds_main.fieldbyname('FactoryName').Value := trim(cds_main.fieldbyname('FactoryName').AsString); self.cds_main.fieldbyname('JGId').Value := trim(cds_main.fieldbyname('JGId').AsString); self.cds_main.FieldByName('MJID').Value := trim(cds_main.fieldbyname('MJID').AsString); self.cds_main.FieldByName('P_Code').Value := trim(cds_main.fieldbyname('P_Code').AsString); self.cds_main.FieldByName('P_CodeName').Value := trim(cds_main.fieldbyname('P_CodeName').AsString); self.cds_main.FieldByName('kuwei').Value := trim(cds_main.fieldbyname('kuwei').AsString); self.cds_main.FieldByName('P_spec').Value := trim(cds_main.fieldbyname('P_spec').AsString); self.cds_main.FieldByName('P_Color').Value := trim(cds_main.fieldbyname('P_Color').AsString); self.cds_main.FieldByName('P_HX').Value := trim(cds_main.fieldbyname('P_HX').AsString); self.cds_main.FieldByName('P_CF').Value := trim(cds_main.fieldbyname('P_CF').AsString); self.cds_main.FieldByName('P_MF').Value := trim(cds_main.fieldbyname('P_MF').AsString); self.cds_main.FieldByName('P_KZ').Value := trim(cds_main.fieldbyname('P_KZ').AsString); // self.cds_main.FieldByName('gangno').Value := trim(cds_main.fieldbyname('gangno').AsString); self.cds_main.FieldByName('RollNum').Value := cds_main.fieldbyname('RollNum').AsFloat; if (CPLeiBie.Text = '色卡') or (CPLeiBie.Text = '挂板') then begin self.cds_main.FieldByName('Qty').Value := 1; end else begin self.cds_main.FieldByName('Qty').Value := 0; end; self.cds_main.FieldByName('KCQty1').Value := cds_main.fieldbyname('kcQty').AsFloat; self.cds_main.FieldByName('QtyUnit').Value := trim(cds_main.fieldbyname('QtyUnit').AsString); // self.cds_main.FieldByName('KCDATE').Value := cds_main.fieldbyname('kcQty').AsFloat; self.cds_main.FieldByName('Price').Value := 0; self.cds_main.FieldByName('Money').Value := 0; self.cds_main.Post; end; cds_main.Next; end; cds_main.EnableControls; end; free; end; end; procedure TfrmJYGLCK.TBCloseClick(Sender: TObject); begin writeCxGrid(trim(self.Caption), Tv1, '样品仓库'); close; end; procedure TfrmJYGLCK.ToFactoryNameBtnClick(Sender: TObject); begin if (trim(CRType.Text) = '加工出库') or (trim(CRType.Text) = '生产出库') or (trim(CRType.Text) = '退货出库') or (trim(CRType.Text) = '回修出库') or (trim(CRType.Text) = '捞色/打色') then begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin canshu1 := Self.canshu1; if ShowModal = 1 then begin ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); SHDianHua.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); SHer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); YWZB.Text := Trim(CDS_HZ.fieldbyname('SalesCLASS').AsString); end; end; finally frmZdyAttachGYS.Free; end; end else begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin canshu1 := Self.canshu1; if ShowModal = 1 then begin ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); SHDianHua.Text := Trim(CDS_HZ.fieldbyname('Telephone').AsString); SHer.Text := Trim(CDS_HZ.fieldbyname('Contacts').AsString); Salesman.Text := Trim(CDS_HZ.fieldbyname('Salesman').AsString); SHDiZhi.Text := Trim(CDS_HZ.fieldbyname('MXADDRESS').AsString); YWZB.Text := Trim(CDS_HZ.fieldbyname('SalesCLASS').AsString); // ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); // ToFactoryName.Text := Trim(CDS_HZ.fieldbyname('CoName').AsString); end; end; finally frmZdyAttachment.Free; end; end; end; procedure TfrmJYGLCK.v1QtyPropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Main do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); FieldbyName('Money').Value := format('%.2f', [FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat + STRTOFLOATDEF(FieldByName('LSMONEY').ASSTRING, 0)]); Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmJYGLCK.FHAddressBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmJYGLCK.v1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin // try // frmOrderListSel:=TfrmOrderListSel.Create(Application); // with frmOrderListSel do // begin // if ShowModal=1 then // begin // Self.CDS_Main.Edit; // Self.CDS_Main.FieldByName('OrderNo').Value:=Trim(Order_Main.fieldbyname('OrderNo').AsString); // Self.CDS_Main.FieldByName('MainId').Value:=Trim(Order_Main.fieldbyname('MainId').AsString); // end; // end; // finally // frmOrderListSel.Free; // end; // self.tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmJYGLCK.v1Column5PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MLType'; flagname := '面料类型'; if ShowModal = 1 then begin CDS_Main.Edit; CDS_Main.FieldByName('P_Type').Value := Trim(ClientDataSet1.fieldbyname('zdyName').AsString); CDS_Main.Post; end; end; finally frmZDYHelp.Free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmJYGLCK.ToolButton2Click(Sender: TObject); begin if CDS_Main.IsEmpty then exit; if Trim(CDS_Main.FieldByName('CRNO').AsString) = '' then begin CDS_Main.Delete; end else begin ADOQueryCmd.Connection.BeginTrans; with ADOQueryCmd do begin Close; SQL.Clear; sql.Add('update CK_Sample_CR set Valid=''N'' where CRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString))); sql.Add('delete yp_inout where FROMCRNO=' + quotedstr(Trim(CDS_Main.FieldByName('CRNO').AsString))); 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(self.Caption))); sql.Add(',' + quotedstr(trim('样品领用删除'))); sql.Add(',' + quotedstr(trim('单号:' + trim(CDS_Main.FieldByName('crno').AsString)))); sql.Add(',' + quotedstr(trim('成功'))); sql.Add(')'); ExecSQL; end; ADOQueryCmd.Connection.CommitTrans; CDS_Main.Delete; end; end; procedure TfrmJYGLCK.N1Click(Sender: TObject); begin SelOKNo(CDS_Main, True); end; procedure TfrmJYGLCK.N2Click(Sender: TObject); begin SelOKNo(CDS_Main, False); end; procedure TfrmJYGLCK.btn1Click(Sender: TObject); var k1: string; begin try frmZdyAttachmentCB := TfrmZdyAttachmentCB.Create(Application); with frmZdyAttachmentCB do begin ToolButton1.Visible := True; canshu1 := Self.canshu1; yingcang := '报价'; if ShowModal = 1 then begin self.GetKC(Trim(CDS_Main.fieldbyname('p_code').AsString), '样品编号'); end; end; finally frmZdyAttachmentCB.Free; end; end; procedure TfrmJYGLCK.CYNOKeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin if Length(Trim(CYNO.Text)) < 4 then Exit; GetKC(Trim(CYNO.Text), '样品编号'); end; end; procedure TfrmJYGLCK.Edit1KeyPress(Sender: TObject; var Key: Char); begin // if Key = #13 then // begin // if Length(Trim(Edit1.Text)) < 4 then // Exit; // GetKC(Trim(Edit1.Text), '样品条码'); // end; if Key = #13 then begin if Length(Trim(edit1.Text)) < 4 then Exit; with ADOQueryTmp do begin close; sql.Clear; sql.Add('select * from CK_Sample_CR where crno=' + quotedstr(trim(Edit1.Text))); // showmessage(SQL.Text); open; end; Edit1.Text := ''; if ADOQueryTmp.IsEmpty then begin application.MessageBox('此编号错误!', '提示信息', MB_ICONERROR); Edit1.Text := ''; end else begin CDS_MAIN.Append; CDS_MAIN.FieldByName('P_Code').Value := trim(ADOQueryTmp.fieldbyname('P_Code').AsString); CDS_MAIN.FieldByName('P_CodeName').Value := trim(ADOQueryTmp.fieldbyname('P_CodeName').AsString); CDS_MAIN.FieldByName('P_spec').Value := trim(ADOQueryTmp.fieldbyname('P_spec').AsString); CDS_MAIN.FieldByName('P_cf').Value := trim(ADOQueryTmp.fieldbyname('P_cf').AsString); CDS_MAIN.FieldByName('P_MF').Value := trim(ADOQueryTmp.fieldbyname('P_MF').AsString); CDS_MAIN.FieldByName('P_KZ').Value := trim(ADOQueryTmp.fieldbyname('P_KZ').AsString); CDS_MAIN.FieldByName('kuwei').Value := trim(ADOQueryTmp.fieldbyname('kuwei').AsString); CDS_MAIN.FieldByName('qty').Value := trim(ADOQueryTmp.fieldbyname('kcqty').AsString); CDS_MAIN.FieldByName('P_color').Value := trim(ADOQueryTmp.fieldbyname('P_color').AsString); CDS_MAIN.FieldByName('mjid').Value := trim(ADOQueryTmp.fieldbyname('mjid').AsString); CDS_MAIN.FieldByName('qtyunit').Value := trim(ADOQueryTmp.fieldbyname('qtyunit').AsString); CDS_MAIN.FieldByName('fromFactoryName').Value := trim(ADOQueryTmp.fieldbyname('fromFactoryName').AsString); CDS_Main.Post; end; end; end; procedure TfrmJYGLCK.TV7DblClick(Sender: TObject); begin GetYP(); end; procedure TfrmJYGLCK.GetYP(); begin // if Trim(CDS_YPXZ.fieldbyname('MJID').AsString) <> '' then // begin // CDS_MAIN.append; // CDS_MAIN.FieldByName('P_Code').Value := trim(CDS_YPXZ.fieldbyname('P_Code').AsString); // CDS_MAIN.FieldByName('P_CodeName').Value := trim(CDS_YPXZ.fieldbyname('P_CodeName').AsString); //// CDS_MAIN.FieldByName('P_CodeNameE').Value := trim(CDS_YPXZ.fieldbyname('CYEName').AsString); // CDS_MAIN.FieldByName('P_spec').Value := trim(CDS_YPXZ.fieldbyname('P_spec').AsString); // CDS_MAIN.FieldByName('P_cf').Value := trim(CDS_YPXZ.fieldbyname('P_cf').AsString); // CDS_MAIN.FieldByName('P_MF').Value := trim(CDS_YPXZ.fieldbyname('P_MF').AsString); // CDS_MAIN.FieldByName('P_KZ').Value := trim(CDS_YPXZ.fieldbyname('P_KZ').AsString); // CDS_MAIN.FieldByName('kuwei').Value := trim(CDS_YPXZ.fieldbyname('kuwei').AsString); // CDS_MAIN.FieldByName('qty').Value := 0; // CDS_MAIN.FieldByName('KC1qty').Value := trim(CDS_YPXZ.fieldbyname('kcqty').AsString); // // //// CDS_MAIN.FieldByName('MiDu').Value := trim(CDS_YPXZ.fieldbyname('MiDu').AsString); // CDS_MAIN.FieldByName('P_color').Value := trim(CDS_YPXZ.fieldbyname('P_color').AsString); // CDS_MAIN.FieldByName('mjid').Value := trim(CDS_YPXZ.fieldbyname('mjid').AsString); // CDS_MAIN.FieldByName('qtyunit').Value := trim(CDS_YPXZ.fieldbyname('qtyunit').AsString); // CDS_MAIN.FieldByName('fromFactoryName').Value := trim(CDS_YPXZ.fieldbyname('fromFactoryName').AsString); //// cds1.FieldByName('DLYDATE').Value := ''; // CDS_MAIN.Post; // cxGrid3.Visible := False; // end // else // begin CDS_MAIN.append; CDS_MAIN.FieldByName('P_Code').Value := trim(CDS_YPXZ.fieldbyname('CYNO').AsString); CDS_MAIN.FieldByName('P_CodeName').Value := trim(CDS_YPXZ.fieldbyname('CYNAME').AsString); CDS_MAIN.FieldByName('qtyunit').Value := '个'; // CDS_MAIN.FieldByName('fromFactoryName').Value := trim(CDS_YPXZ.fieldbyname('fromFactoryName').AsString); // cds1.FieldByName('DLYDATE').Value := ''; CDS_MAIN.Post; cxGrid3.Visible := False; // end; // if trim(yingcang) = '报价' then // begin // cxGrid3.Visible := True; // end; // InitHistoryPrice(trim(CDS_YPXZ.fieldbyname('CYNo').AsString)); // InitPB(trim(CDS_YPXZ.fieldbyname('CYNo').AsString)); end; procedure TfrmJYGLCK.TV3DblClick(Sender: TObject); begin cxGrid2.Visible := False; end; procedure TfrmJYGLCK.N3Click(Sender: TObject); begin cxgrid2.Visible := True; end; procedure TfrmJYGLCK.TV7MouseLeave(Sender: TObject); begin // if Trim(yingcang) = '报价' then // begin // if Application.MessageBox('关闭选择寄样窗口?', '', 32 + 4) <> IDYES then // begin // Exit; // end // else // begin // cxGrid3.Visible := False; // end; // // end; // if trim(yingcang) = '报价' then // begin // cxGrid3.Visible := False; // end; end; procedure TfrmJYGLCK.Edit2KeyPress(Sender: TObject; var Key: Char); begin if Key = #13 then begin with ADOQueryTmp do begin Close; SQL.Clear; sql.Add('select * from cp_ydang where CYNO LIKE' + quotedstr('%' + Trim(Edit2.Text) + '%')); open; end; SCreateCDS20(ADOQueryTmp, CDS_YPXZ); SInitCDSData20(ADOQueryTmp, CDS_YPXZ); cxGrid3.Visible := True; cxGrid3.SetFocus; // frmCPManageSel := TfrmCPManageSel.Create(self); // with frmCPManageSel do // begin // CYNO.Text := Edit2.Text; // if showmodal = 1 then // begin // self.CDS_Main.Edit; // self.CDS_Main.fieldbyname('P_Code').Value := CDS_Main.fieldbyname('CYNo').asstring; // self.CDS_Main.fieldbyname('P_CodeName').Value := CDS_Main.fieldbyname('CYName').asstring; // self.CDS_MAIN.FieldByName('QtyUnit').Value := '个'; //// self.CDS_Main.fieldbyname('P_SPEC').Value := CDS_Main.fieldbyname('CYSpec').asstring; //// self.CDS_Main.fieldbyname('P_CF').Value := CDS_Main.fieldbyname('CYCF').asstring; //// self.CDS_Main.fieldbyname('P_Color').Value := CDS_Main.fieldbyname('CYColor').asstring; //// self.CDS_Main.fieldbyname('P_HX').Value := CDS_Main.fieldbyname('CYHX').asstring; //// self.CDS_Main.fieldbyname('P_MF').Value := CDS_Main.fieldbyname('CYMF').asstring; //// self.CDS_Main.fieldbyname('P_KZ').Value := CDS_Main.fieldbyname('CYKZ').asstring; // self.CDS_Main.Post; // end; // free; // end; // tv1.Controller.EditingController.ShowEdit(); // with ADOQueryTmp do // begin // close; // sql.Clear; // sql.Add('select * from cp_ydang where cyno=' + quotedstr(Trim(Edit2.Text))); // // open; // end; // if ADOQueryTmp.IsEmpty then // begin // application.MessageBox('此编号错误!', '提示信息', MB_ICONERROR); // Edit2.Text := ''; // end // else // begin // CDS_MAIN.append; // CDS_MAIN.FieldByName('P_Code').Value := trim(ADOQueryTmp.fieldbyname('CYNO').AsString); // CDS_MAIN.FieldByName('P_CodeName').Value := trim(ADOQueryTmp.fieldbyname('CYNAME').AsString); // CDS_MAIN.FieldByName('QtyUnit').Value := '个'; // CDS_MAIN.Post; // end; end; // if Key = #13 then // begin // with ADOQueryTmp do // begin // close; // sql.Clear; // SQL.Add('exec P_Get_YPKC @Scan=' + quotedstr(trim(edit2.text))); // SQL.Add(',@ScanType=''样品编号'''); // open; // end; // if ADOQueryTmp.IsEmpty then // begin // application.MessageBox('此编号错误!', '提示信息', MB_ICONERROR); // Edit2.Text := ''; // end // else // begin // // try // // frmYPKC := TfrmYPKC.Create(Application); // with frmYPKC do // begin // fcode := Edit2.Text; // // Edit2.Text := ''; // if ShowModal = 1 then // begin // if trim(Order_Main.fieldbyname('mjid').AsString) <> '' then // begin // CDS_MAIN.append; // CDS_MAIN.FieldByName('P_Code').Value := trim(Order_Main.fieldbyname('P_Code').AsString); // CDS_MAIN.FieldByName('P_CodeName').Value := trim(Order_Main.fieldbyname('P_CodeName').AsString); // // CDS_MAIN.FieldByName('P_spec').Value := trim(Order_Main.fieldbyname('P_spec').AsString); // CDS_MAIN.FieldByName('P_cf').Value := trim(Order_Main.fieldbyname('P_cf').AsString); // CDS_MAIN.FieldByName('P_MF').Value := trim(Order_Main.fieldbyname('P_MF').AsString); // CDS_MAIN.FieldByName('P_KZ').Value := trim(Order_Main.fieldbyname('P_KZ').AsString); // CDS_MAIN.FieldByName('kuwei').Value := trim(Order_Main.fieldbyname('kuwei').AsString); // CDS_MAIN.FieldByName('qty').Value := 0; // // CDS_MAIN.FieldByName('KCqty1').Value := trim(Order_Main.fieldbyname('kcqty').AsString); // // CDS_MAIN.FieldByName('P_color').Value := trim(Order_Main.fieldbyname('P_color').AsString); // CDS_MAIN.FieldByName('mjid').Value := trim(Order_Main.fieldbyname('mjid').AsString); // CDS_MAIN.FieldByName('qtyunit').Value := trim(Order_Main.fieldbyname('qtyunit').AsString); // CDS_MAIN.FieldByName('fromFactoryName').Value := trim(Order_Main.fieldbyname('fromFactoryName').AsString); // // CDS_MAIN.Post; // end // else // begin // CDS_MAIN.append; // CDS_MAIN.FieldByName('P_Code').Value := trim(Order_Main.fieldbyname('P_Code').AsString); // CDS_MAIN.FieldByName('P_CodeName').Value := trim(Order_Main.fieldbyname('P_CodeName').AsString); // // CDS_MAIN.FieldByName('P_spec').Value := trim(Order_Main.fieldbyname('P_spec').AsString); // CDS_MAIN.FieldByName('P_cf').Value := trim(Order_Main.fieldbyname('P_cf').AsString); // CDS_MAIN.FieldByName('P_MF').Value := trim(Order_Main.fieldbyname('P_MF').AsString); // CDS_MAIN.FieldByName('P_KZ').Value := trim(Order_Main.fieldbyname('P_KZ').AsString); // CDS_MAIN.FieldByName('kuwei').Value := trim(Order_Main.fieldbyname('kuwei').AsString); // CDS_MAIN.FieldByName('qty').Value := '0'; // // CDS_MAIN.FieldByName('P_color').Value := trim(Order_Main.fieldbyname('P_color').AsString); // CDS_MAIN.FieldByName('mjid').Value := ''; // CDS_MAIN.FieldByName('qtyunit').Value := 'M'; // CDS_MAIN.FieldByName('fromFactoryName').Value := trim(Order_Main.fieldbyname('fromFactoryName').AsString); // // CDS_MAIN.Post; // end; // end; // // end; // finally // frmYPKC.Free; // end; // end; // end; end; procedure TfrmJYGLCK.Tv1MouseDown(Sender: TObject; Button: TMouseButton; Shift: TShiftState; X, Y: Integer); begin // if CDS_Main.IsEmpty = True then // begin // Exit; // end // else // begin // with qry1 do // begin // close; // sql.Clear; // sql.Add('select A.* '); // if trim(ToFactoryName.Text) <> '' then // begin // SQL.Add(',KKK=(case when custName=' + quotedstr(trim(ToFactoryName.Text))); // SQL.Add(' then 0 else 1 end)'); // end; // SQL.Add('from KH_CP_BJ A'); // sql.Add('where P_Code=' + quotedstr(trim(cds_main.fieldbyname('P_Code').AsString))); // // sql.Add('and BJXJ= ''报价'' '); // if (canshu1 <> '管理') then // begin // sql.Add(' and [dbo].[IsByKH](A.custname,' + quotedstr(trim(DNAME)) + ')>0 '); // end; // if trim(ToFactoryName.Text) <> '' then // begin // SQL.Add('order by KKK,CRTime desc'); // end // else // begin // SQL.Add('order by CRTime desc'); // end; //// ShowMessage(SQL.Text); // open; // end; // SCreateCDS20(QRY1, CDS_BJ); // SInitCDSData20(QRY1, CDS_BJ); // end; end; procedure TfrmJYGLCK.SHerBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SHer'; flagname := '收货人'; fnote := True; V1Note.Caption := '电话'; if ShowModal = 1 then begin self.SHer.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); self.SHDianHua.Text := Trim(ClientDataSet1.fieldbyname('Note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJYGLCK.SHDiZhiBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SHDiZhi'; flagname := '收地址'; if ShowModal = 1 then begin self.SHDiZhi.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJYGLCK.SalesmanBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'Salesman'; flagname := '业务员'; if ShowModal = 1 then begin SALESMAN.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJYGLCK.CRTypeChange(Sender: TObject); begin if crtype.Text = '内部领用' then begin ToFactoryName.ReadOnly := False; end else begin ToFactoryName.ReadOnly := True; end; ToFactoryName.Text := ''; end; procedure TfrmJYGLCK.Tv1CustomDrawIndicatorCell(Sender: TcxGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxCustomGridIndicatorItemViewInfo; var ADone: Boolean); var FValue: string; FBounds: TRect; begin FBounds := AViewInfo.Bounds; if (AViewInfo is TcxGridIndicatorRowItemViewInfo) then begin ACanvas.FillRect(FBounds); ACanvas.DrawComplexFrame(FBounds, clBtnHighlight, clBtnShadow, [bBottom, bLeft, bRight], 1); FValue := IntToStr(TcxGridIndicatorRowItemViewInfo(AViewInfo).GridRecord.Index + 1); InflateRect(FBounds, -1, -1); //Platform specific. May not work on Linux. ACanvas.Font.Color := clBlack; ACanvas.Brush.Style := bsClear; ACanvas.DrawText(FValue, FBounds, cxAlignCenter or cxAlignTop); ADone := True; end; end; procedure TfrmJYGLCK.YWZBBtnClick(Sender: TObject); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'SalesCLASS'; flagname := '业务组别'; if ShowModal = 1 then begin YWZB.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmJYGLCK.ToolButton3Click(Sender: TObject); var FValue, FFValue, FColumn, FFColumn: string; begin ToolBar1.SetFocus; if CDS_Main.IsEmpty then Exit; if Application.MessageBox('确定要一键替换吗', '提示', 1) = 2 then exit; FColumn := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; FFColumn := Tv1.Controller.FocusedColumn.Summary.GroupFormat; FValue := Trim(CDS_Main.fieldbyname(FColumn).AsString); if Trim(FFColumn) <> '' then begin FFValue := Trim(CDS_Main.fieldbyname(FFColumn).AsString); end; with CDS_Main do begin DisableControls; First; while not Eof do begin Edit; if FValue = '' then begin CDS_Main.FieldByName(FColumn).Value := null; end else begin CDS_Main.FieldByName(FColumn).Value := FValue; end; if Trim(FFColumn) <> '' then begin if FFValue = '' then begin CDS_Main.FieldByName(FFColumn).Value := null; end else begin CDS_Main.FieldByName(FFColumn).Value := FFValue; end; end; if (FColumn = 'Qty') or (FColumn = 'Price') then begin CDS_Main.FieldByName('money').Value := CDS_Main.FieldByName('price').AsFloat * CDS_Main.FieldByName('qty').AsFloat; end; Post; Next; end; EnableControls; end; end; procedure TfrmJYGLCK.Tv1Column5PropertiesEditValueChanged(Sender: TObject); var mvalue, FFieldName: string; begin mvalue := TcxTextEdit(Sender).EditingText; if Trim(mvalue) = '' then begin mvalue := '0'; end; FFieldName := Trim(Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName); with CDS_Main do begin Edit; FieldByName(FFieldName).Value := Trim(mvalue); FieldbyName('Money').Value := format('%.2f', [FieldByName('Qty').AsFloat * FieldByName('Price').AsFloat + STRTOFLOATDEF(FieldByName('LSMONEY').ASSTRING, 0) - STRTOFLOATDEF(FieldByName('JMMONEY').ASSTRING, 0)]); Post; end; tv1.Controller.EditingController.ShowEdit(); end; end.