unit U_OrderDYInPut; 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, cxCurrencyEdit, cxGridCustomPopupMenu, cxGridPopupMenu, RM_Common, RM_Preview, RM_System, RM_Class, RM_GridReport, Menus, cxLookAndFeels, cxLookAndFeelPainters, cxNavigator, cxDropDownEdit; type TfrmOrderDYInPut = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label1: TLabel; OrderNo: TEdit; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; ADOQuery1: TADOQuery; Label3: TLabel; Label14: TLabel; OrdDate: TDateTimePicker; Label11: TLabel; MPRTSL: TBtnEditC; Label15: TLabel; HZLFactory: TBtnEditC; Label16: TLabel; PBFactory: TBtnEditC; Label17: TLabel; YCLFactory: TBtnEditC; Label18: TLabel; MPRTZHName: TEdit; Label20: TLabel; Label22: TLabel; MPRTYaoFeng: TBtnEditC; MPRTJiBenNote: TBtnEditC; Label24: TLabel; MPRTTeBieNote: TBtnEditC; Label29: TLabel; Label30: TLabel; MPRTColorLaoDu2: TBtnEditC; MPRTColorLaoDu3: TBtnEditC; Label34: TLabel; MPRTZuRanXing: TBtnEditC; Label35: TLabel; MPRTKuanNO: TBtnEditC; Label38: TLabel; MPRTTangJin: TBtnEditC; Label39: TLabel; OrdDefDate1: TDateTimePicker; Label40: TLabel; OrdDefDate2: TDateTimePicker; CPCFBi: TEdit; Label45: TLabel; v1Column1: TcxGridDBColumn; orddefstr2: TEdit; orddefstr3: TEdit; Label48: TLabel; CDS_CON: TClientDataSet; DSCON: TDataSource; v1Column8: TcxGridDBColumn; cxGridPopupMenu1: TcxGridPopupMenu; ADOQueryLabel: TClientDataSet; RMGridReport1: TRMGridReport; OpenDialog1: TOpenDialog; ADOQueryLabel10: TADOQuery; Label8: TLabel; Note: TBtnEditC; PopupMenu2: TPopupMenu; N11: TMenuItem; v1Column11: TcxGridDBColumn; Shortened: TBtnEditC; ToolButton7: TToolButton; QryCheckNet: TADOQuery; ADOQuery2: TADOQuery; Panel2: TPanel; ToolBar2: TToolBar; ToolButton1: TToolButton; Edit1: TEdit; ToolButton2: TToolButton; ToolButton3: TToolButton; ToolButton6: TToolButton; Label32: TLabel; Label33: TLabel; JGFactoryName: TBtnEditC; Tv1Column1: TcxGridDBColumn; Tv1Column2: TcxGridDBColumn; Tv1Column6: TcxGridDBColumn; Tv1Column8: TcxGridDBColumn; Tv1Column9: TcxGridDBColumn; Tv1Column4: TcxGridDBColumn; Tv1Column5: TcxGridDBColumn; Tv1Column10: TcxGridDBColumn; Tv1Column12: TcxGridDBColumn; Label31: TLabel; CustomerNoName: TBtnEditC; Tv1Column3: TcxGridDBColumn; Tv1Column13: TcxGridDBColumn; Tv1Column14: TcxGridDBColumn; Tv1Column15: TcxGridDBColumn; Tv1Column16: TcxGridDBColumn; Label2: TLabel; Label4: TLabel; GDY: TBtnEditC; Label5: TLabel; DlyDate: TDateTimePicker; Tv1Column7: TcxGridDBColumn; Tv1Column11: TcxGridDBColumn; Tv1Column18: TcxGridDBColumn; JGFactoryName2: TEdit; Tv1Column17: TcxGridDBColumn; Tv1Column19: TcxGridDBColumn; Tv1Column20: TcxGridDBColumn; 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 v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure v1PriceUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton3Click(Sender: TObject); procedure YCLFactoryBtnUpClick(Sender: TObject); procedure MPRTSCTeBieNoteBtnUpClick(Sender: TObject); procedure MPRTBZNoteDblClick(Sender: TObject); procedure v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure ToolButton6Click(Sender: TObject); procedure N11Click(Sender: TObject); procedure MPRTBQCodeNameBtnDnClick(Sender: TObject); procedure ToolButton7Click(Sender: TObject); procedure v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); procedure JGFactoryNameBtnDnClick(Sender: TObject); procedure JGFactoryNameBtnUpClick(Sender: TObject); procedure Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column15PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure CustomerNoNameBtnUpClick(Sender: TObject); procedure JGFactoryName2BtnUpClick(Sender: TObject); procedure Tv1Column17PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column19PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column20PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private procedure InitData(); procedure InitKC(); procedure CJEWM(); procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); function SaveData(): Boolean; function SelfConnData(): Boolean; function getOrderNo(fconNo: string): string; procedure OpenLabel(); { Private declarations } public PState, CopyInt, PriceFlag: Integer; FMainId, FFMainId, FOrderNo: string; FXS: Integer; canshu1: string; fFlileFlag: string; { Public declarations } end; var frmOrderDYInPut: TfrmOrderDYInPut; newh: hwnd; implementation uses U_DataLink, U_ZDYHelp, U_Fun, U_ZDYHelpSel, U_ZdyAttachment, U_ZdyAttachGYS, U_CPManageSel, getpic, U_LabelList; {$R *.dfm} function TfrmOrderDYInPut.getOrderNo(fconNo: string): string; var str1: string; i: integer; begin str1 := trim(fconNo) + '01'; with ADOTemp do begin close; sql.Clear; sql.Add('select MainID from JYOrder_Main where orderNo=' + quotedstr(trim(str1))); open; end; if not ADOTemp.IsEmpty then begin for i := 1 to 99 do begin str1 := trim(fconNo) + rightstr(inttostr(100 + i), 2); with ADOCmd do begin close; sql.Clear; sql.Add('select MainID from JYOrder_Main where orderNo=' + quotedstr(trim(str1))); open; end; if ADOCmd.IsEmpty then break; end; end; result := str1; end; procedure TfrmOrderDYInPut.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid('指示单录入AA', Tv1, '生产指示单管理'); end; procedure TfrmOrderDYInPut.InitData(); begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); OrdDefDate1.DateTime := OrdDate.DateTime; OrdDefDate2.DateTime := OrdDate.DateTime; with ADOQuery1 do begin Close; SQL.Clear; sql.Add(' select * from JYOrderFY_Sub where 1=1 '); if PState = 1 then begin sql.Add(' and MainId=''' + Trim(FMainId) + ''''); end; if PState = 0 then begin sql.Add(' and 1<>1'); end; Open; end; SCreateCDS20(ADOQuery1, Order_Sub); SInitCDSData20(ADOQuery1, Order_Sub); with ADOQuery1 do begin Close; sql.Clear; sql.Add('select * '); sql.Add(' from JYOrderFY_Main A where MainId=''' + Trim(FMainId) + ''''); // showmessage(sql.text); Open; end; SCSHDataNew(ADOQuery1, ScrollBox1, 2); JGFactoryName.TxtCode := ADOQuery1.FieldByName('JGFactory').AsString; // Shortened.Text := ADOQuery1.fieldbyname('Shortened').AsString; if trim(DdataBase) = '查询' then begin end; if PState = 0 then begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); OrdDefDate1.DateTime := OrdDate.DateTime; OrdDefDate2.DateTime := OrdDate.DateTime; end else begin end; if CopyInt = 99 then begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); OrdDefDate1.DateTime := OrdDate.DateTime; OrdDefDate2.DateTime := OrdDate.DateTime; PState := 0; FMainId := ''; OrderNo.Text := ''; with Order_Sub do begin First; while not Eof do begin Edit; FieldByName('MainId').Value := ''; FieldByName('SubId').Value := ''; FieldByName('hxFile').Value := ''; Post; Next; end; end; end; end; procedure TfrmOrderDYInPut.InitKC(); begin end; procedure TfrmOrderDYInPut.ZDYHelp(FButn: TcxButtonEdit; LType: string); var FType, ZDYName, FText: string; begin end; procedure TfrmOrderDYInPut.FormShow(Sender: TObject); begin readCxGrid('指示单录入AA', Tv1, '生产指示单管理'); OrderNo.Text := ''; if PState = 1 then begin end; fFlileFlag := UserDataFlag + 'YP'; // fFlileFlag := UserDataFlag; // ShowMessage(fFlileFlag); InitData(); end; function TfrmOrderDYInPut.SaveData(): Boolean; var maxno, Smaxno: string; begin try ADOCmd.Connection.BeginTrans; ///保存主表 if Trim(FMainId) = '' then begin if GetLSNo(ADOCmd, maxno, 'JM', 'JYOrderFY_Main', 3, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; // OrderNo.Text:=getOrderNo(trim(conNo.Text)); end else begin maxno := Trim(FMainId); end; with ADOCmd do begin Close; sql.Clear; SQL.Add('select * from JYOrderFY_Main where MainId=''' + Trim(FMainId) + ''''); Open; end; with ADOCmd do begin if Trim(FMainId) = '' then begin Append; end else begin Edit; end; FieldByName('MainId').Value := Trim(maxno); SSetsaveSqlNew(ADOCmd, 'JYOrderFY_Main', ScrollBox1, 2); FieldByName('JGFactory').Value := Trim(JGFactoryName.TxtCode); // FieldByName('JGFactory2').Value := Trim(JGFactoryName2.TxtCode); FieldByName('Orddefstr15').Value := '按订单颜色'; if Trim(FMainId) = '' then begin FieldByName('Filler').Value := Trim(DName); end else begin FieldByName('Editer').Value := Trim(DName); FieldByName('EditTime').Value := SGetServerDateTime(ADOTemp); end; Post; end; FFMainId := Trim(maxno); with ADOCmd do begin Close; sql.Clear; sql.Add('select * from JYOrderFY_Main where orderno=''' + Trim(OrderNo.Text) + ''''); Open; end; if ADOCmd.RecordCount > 1 then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('订单号重复!', '提示', 0); Exit; end; ///保存子表 with Order_Sub do begin First; while not Eof do begin if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then begin if GetLSNo(ADOCmd, Smaxno, 'JS', 'JYOrderFY_Sub', 4, 1) = False then begin ADOCmd.Connection.RollbackTrans; Application.MessageBox('取子流水号失败!', '提示', 0); Exit; end; end else begin Smaxno := Trim(Order_Sub.fieldbyname('SubId').AsString); end; with ADOCmd do begin Close; SQL.Clear; sql.Add('select * from JYOrderFY_Sub where MainId=''' + Trim(maxno) + ''''); sql.Add(' and SubId=''' + Trim(Smaxno) + ''''); Open; end; with ADOCmd do begin if Trim(Order_Sub.fieldbyname('SubId').AsString) = '' then Append else Edit; FieldByName('MainId').Value := Trim(maxno); FieldByName('SubId').Value := Trim(Smaxno); RTSetSaveDataCDS(ADOCmd, Tv1, Order_Sub, 'JYOrderFY_Sub', 0); FieldByName('Sorddefstr10').Value := Order_Sub.FieldByName('Sorddefstr10').AsString; fieldbyname('PRTPrice').Value := Order_Sub.FieldByName('PRTPrice').AsFloat; fieldbyname('priceUnit').Value := Order_Sub.FieldByName('priceUnit').AsString; fieldbyname('PRTOrderQty').Value := Order_Sub.FieldByName('PRTOrderQty').AsFloat; fieldbyname('huilv').Value := Order_Sub.FieldByName('huilv').AsFloat; fieldbyname('SordQty1').Value := Order_Sub.FieldByName('SordQty1').AsFloat; fieldbyname('SordQty2').Value := Order_Sub.FieldByName('SordQty2').AsFloat; FieldByName('OrderNo').Value := Trim(orderNo.Text); Post; end; CJEWM(); Next; end; end; ADOCmd.Connection.CommitTrans; Result := True; except Result := False; ADOCmd.Connection.RollbackTrans; Application.MessageBox('保存失败!', '提示', 0); end; end; procedure TfrmOrderDYInPut.CJEWM(); var Txt, fImagePath, maxNo: string; Moudle: THandle; Makebar: TMakebar; Mixtext: TMixtext; begin try Moudle := LoadLibrary('MakeQRBarcode.dll'); @Makebar := GetProcAddress(Moudle, 'Make'); @Mixtext := GetProcAddress(Moudle, 'MixText'); Txt := Trim(order_Sub.fieldbyname('Subid').AsString); fImagePath := ExtractFilePath(Application.ExeName) + 'image\temp.bmp'; if not DirectoryExists(pchar(ExtractFilePath(Application.ExeName) + 'image')) then CreateDirectory(pchar(ExtractFilePath(Application.ExeName) + 'image'), nil); if FileExists(fImagePath) then DeleteFile(fImagePath); Makebar(pchar(Txt), Length(Txt), 3, 3, 0, PChar(fImagePath), 3); with ADOCmd do begin Close; SQL.Clear; SQL.Add('select * from TP_File '); sql.Add('where TFID=' + quotedstr(trim(Txt))); sql.Add('and TFType=''EWM'''); open; if isempty then begin append; fieldbyname('TFID').Value := trim(Txt); fieldbyname('WBID').Value := trim(order_Sub.fieldbyname('Mainid').AsString); fieldbyname('TFType').Value := 'EWM'; fieldbyname('FillTime').Value := SGetServerDateTime(ADOTemp); tblobfield(FieldByName('Filesother')).LoadFromFile(fImagePath); post; end; end; except application.MessageBox('条形码生成失败!', '提示信息', MB_ICONERROR); order_Sub.EnableControls; exit; end; end; procedure TfrmOrderDYInPut.TBSaveClick(Sender: TObject); var FDate, maxno: string; begin OrdDate.SetFocus; FDate := FormatDateTime('yyyymmdd', Now); if Trim(OrderNo.Text) = '' then begin if GetLSNo(ADOCmd, maxno, 'SO' + FDate, 'JYOrder_Main', 3, 0) = False then begin Application.MessageBox('取最大号失败!', '提示', 0); Exit; end; OrderNo.Text := FDate + '-' + inttostr(StrToInt(Copy(maxno, 11, 3))); end; if Trim(OrderNo.Text) = '' then begin Application.MessageBox('指示单号不能为空!', '提示', 0); Exit; end; if Order_Sub.IsEmpty then begin Application.MessageBox('明细不能为空!', '提示', 0); Exit; end; if PState = 1 then begin if Trim(OrderNo.Text) <> Trim(FOrderNo) then begin end; end; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); ModalResult := 1; end; end; procedure TfrmOrderDYInPut.v1PRTColorPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrdColor'; flagname := '颜色'; V1Name.Caption := '中文名称'; V1Note.Caption := '英文名称'; fnote := True; 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 TfrmOrderDYInPut.ToolButton1Click(Sender: TObject); var i, a: Integer; begin // if Trim(OrderNo.Text) = '' then // begin // Application.MessageBox('订单号不能为空!', '提示', 0); // Exit; // end; for a := 1 to StrToIntDef(Edit1.Text, 1) do begin if VarIsNull(Tv1.DataController.Summary.FooterSummaryValues[2]) = True then begin i := 0; end else i := Tv1.DataController.Summary.FooterSummaryValues[2]; i := i + 1; CopyAddRow(Tv1, Order_Sub); with Order_Sub do begin Edit; FieldByName('XHNO').Value := IntToStr(i); FieldByName('PRTColor').Value := ''; FieldByName('PRTOrderQty').Value := null; FieldByName('SOrddefstr4').Value := null; FieldByName('SOrddefstr2').Value := null; FieldByName('SOrddefstr10').Value := null; FieldByName('hxFile').Value := ''; FieldByName('QRCOLNO').Value := ''; FieldByName('PRTPTColNo').Value := ''; FieldByName('PRTKuanNO').Value := ''; Post; // TV1.Controller.EditingController.Edit.PostEditValue; end; end; end; procedure TfrmOrderDYInPut.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; 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 JYOrderFY_Sub where SubId=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''''); ExecSQL; end; end; Order_Sub.Delete; end; procedure TfrmOrderDYInPut.v1OrderUnitPropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var mvalues: string; begin mvalues := tv1.Columns[tv1.Controller.FocusedColumn.index].DataBinding.FieldName; try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'OrderUnit'; flagname := '数量单位'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName(mvalues).Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderDYInPut.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 TfrmOrderDYInPut.ToolButton3Click(Sender: TObject); var mvalue: string; FBYQTY: Double; begin if Order_Sub.IsEmpty then Exit; OneKeyPost(Tv1, Order_Sub); if Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName = 'PRTOrderQty' then begin Order_Sub.First; while not Order_Sub.Eof do begin mvalue := Order_Sub.fieldbyname('PRTOrderQty').AsString; if mvalue = '' then Exit; with Order_Sub do begin Edit; FieldByName('BYQTY').Value := FloatToStr(FBYQTY); Post; end; Tv1.Controller.EditingController.ShowEdit(); Order_Sub.Next; end; end; end; procedure TfrmOrderDYInPut.YCLFactoryBtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := Copy(fsj, 1, FWZ - 1); flagname := Copy(fsj, FWZ + 1, Length(fsj) - FWZ); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderDYInPut.MPRTSCTeBieNoteBtnUpClick(Sender: TObject); var fsj: string; FWZ: Integer; begin fsj := Trim(TEdit(Sender).Hint); FWZ := Pos('/', fsj); 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 TEdit(Sender).Text := ReturnStr; end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmOrderDYInPut.MPRTBZNoteDblClick(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 // MPRTBZNote.Lines.Clear; with ClientDataSet1 do begin First; while not Eof do begin if FieldByName('SSel').AsBoolean = True then begin i := i + 1; // MPRTBZNote.Lines.Add(inttostr(i)+'.'+FieldByName('ZDYName').AsString) end; Next; end; end; end; end; finally frmZDYHelpSel.Free; end; end; procedure TfrmOrderDYInPut.v1Column8PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('HXFile').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'HX'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('HXFile').Value := trim(fkeyNo); end; free; end; end; procedure TfrmOrderDYInPut.OpenLabel(); begin if ADOQueryLabel.IsEmpty then exit; with RMGridReport1 do begin LoadFromBlobField(tblobfield(ADOQueryLabel.fieldbyname('labelFile'))); //Preview :=RMPreview1; ShowReport; end; end; procedure TfrmOrderDYInPut.ToolButton6Click(Sender: TObject); var hmem: THandle; pstr: PChar; ArrStr: TStringList; i, x, h, Row, Z: Integer; FColumn: string; begin //检查剪贴板类容类型 if IsClipboardFormatAvailable(CF_TEXT) then begin OpenClipboard(0); hmem := GetClipboardData(CF_TEXT); pstr := GlobalLock(hmem); // ShowMessage(pstr); pstr := PAnsiChar(StringReplace(pstr, #$A, #$A#$3F, [rfReplaceAll])); // pstr := PAnsiChar(StringReplace(pstr, #$D#$A#$D, #$D#$A#$20#$D, [rfReplaceAll])); // ShowMessage(pstr); ArrStr := TStringList.Create; ArrStr.Clear; ExtractStrings([#13], [], PChar(pstr), ArrStr); GlobalUnlock(hmem); CloseClipboard; end; ArrStr.Delete(ArrStr.Count - 1); Row := Tv1.Controller.FocusedRowIndex; Order_Sub.Locate('xhno', Row + 1, []); x := (Tv1.DataController.RowCount - (Row + 1)); // showmessage(ArrStr.Text); //自动增行 if x < ArrStr.count then begin for i := x to ArrStr.count - 2 do begin if VarIsNull(Tv1.DataController.Summary.FooterSummaryValues[2]) = True then begin h := 0; end else h := Tv1.DataController.Summary.FooterSummaryValues[2]; h := h + 1; with Order_Sub do begin Append; FieldByName('XHNO').Value := IntToStr(h); Post; end; end; end; Order_Sub.Locate('xhno', Row + 1, []); i := 0; Z := 0; FColumn := Tv1.Controller.FocusedColumn.DataBinding.FilterFieldName; with Order_Sub do begin DisableControls; while not Eof do begin edit; if ArrStr.Count > i then begin if (FColumn <> 'SCSEColor') and (FColumn <> 'SCSQty') and (FColumn <> 'SCSNote') and (FColumn <> 'SCSPrice') and (FColumn <> 'BYQTY') and (FColumn <> 'PRTOrderQty') then begin if ArrStr[i] <> '?' then begin Order_Sub.FieldByName(FColumn).Value := StringReplace(ArrStr[i], '?', '', [rfReplaceAll]); Z := i; end else begin Order_Sub.FieldByName(FColumn).Value := ''; // StringReplace(ArrStr[Z], '?', '', [rfReplaceAll]); end; end else begin if (FColumn <> 'SCSQty') and (FColumn <> 'SCSPrice') and (FColumn <> 'BYQTY') and (FColumn <> 'PRTOrderQty') then begin Order_Sub.FieldByName(FColumn).Value := StringReplace(ArrStr[i], '?', '', [rfReplaceAll]); end else begin Order_Sub.FieldByName(FColumn).Value := StrToFloatDef(trim(StringReplace(ArrStr[i], '?', '', [rfReplaceAll])), 0); end; end; end else Break; i := i + 1; Post; Next; end; EnableControls; end; end; procedure TfrmOrderDYInPut.N11Click(Sender: TObject); begin toolbutton6.Click; end; procedure TfrmOrderDYInPut.MPRTBQCodeNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmOrderDYInPut.ToolButton7Click(Sender: TObject); begin if SelfConnData() = false then begin Application.MessageBox('网络链接失败,请重新保存', '提示', 0); Exit; end; end; function TfrmOrderDYInPut.SelfConnData(): Boolean; begin try with QryCheckNet do begin Close; sql.Clear; //查询一个小表检测网络 SQL.Add('select getdate()'); Open; end; Result := true; except // if Application.MessageBox('是否重新连接网络!','提示',32+4)<>IDYES then Exit; if not Assigned(DataLink_TradeManage) then DataLink_TradeManage := TDataLink_TradeManage.Create(Application); try with DataLink_TradeManage.ADOLink do begin //if not Connected then begin Connected := false; ConnectionString := DConString; LoginPrompt := false; Connected := true; end; end; Result := true; except Result := false; end; end; end; procedure TfrmOrderDYInPut.v1PRTOrderQtyPropertiesEditValueChanged(Sender: TObject); var mvalue: string; FBYQTY: Double; begin mvalue := TcxTextEdit(Sender).EditingText; if mvalue = '' then Exit; with Order_Sub do begin Edit; FieldByName('PRTOrderQty').Value := mvalue; // FieldByName('BYQTY').Value := FloatToStr(FBYQTY); Post; end; Tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmOrderDYInPut.JGFactoryNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmOrderDYInPut.JGFactoryNameBtnUpClick(Sender: TObject); begin try frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); with frmZdyAttachGYS do begin if self.canshu1 <> '高权限' then canshu1 := '业务员'; FZSD := '1'; if ShowModal = 1 then begin JGFactoryName.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString) + ' ' + Trim(CDS_HZ.fieldbyname('Linkman').AsString) + ' ' + Trim(CDS_HZ.fieldbyname('MobileNo').AsString); JGFactoryName.TxtCode := Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); end; end; finally frmZdyAttachGYS.Free; end; end; procedure TfrmOrderDYInPut.Tv1Column1PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin frmCPManageSel := TfrmCPManageSel.Create(self); with frmCPManageSel do begin if showmodal = 1 then begin order_sub.Edit; Order_Sub.FieldByName('prtcode').Value := CDS_Main.fieldbyname('CYNo').asstring; Order_Sub.FieldByName('prtcodename').Value := CDS_Main.fieldbyname('CYName').asstring; Order_Sub.FieldByName('PRTQF').Value := CDS_Main.fieldbyname('CYQF').asstring; Order_Sub.FieldByName('PRTMF').Value := CDS_Main.fieldbyname('CYMF').asstring; Order_Sub.FieldByName('PRTKZ').Value := CDS_Main.fieldbyname('CYKZ').asstring; Order_Sub.FieldByName('PRTSpec').Value := CDS_Main.fieldbyname('CYSpec').asstring; Order_Sub.FieldByName('HXFile').Value := adoqueryPicture.fieldbyname('FileName').AsString; Order_Sub.Post; end; free; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmOrderDYInPut.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTDSGY'; flagname := '对色光源'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PRTDSGY').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderDYInPut.Tv1Column9PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTDYFS'; flagname := '打样份数'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('DYFS').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderDYInPut.Tv1Column15PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin try frmZDYHelp := TfrmZDYHelp.Create(Application); with frmZDYHelp do begin flag := 'MPRTDSGY'; flagname := '对色光源'; if ShowModal = 1 then begin Self.Order_Sub.Edit; Self.Order_Sub.FieldByName('PRTDSGY').Value := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmOrderDYInPut.CustomerNoNameBtnUpClick(Sender: TObject); begin try frmZdyAttachment := TfrmZdyAttachment.Create(Application); with frmZdyAttachment do begin fkhType := ''; if self.canshu1 <> '高权限' then canshu1 := '业务员'; if ShowModal = 1 then begin CustomerNoName.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString); CustomerNoName.TxtCode := Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); end; end; finally frmZdyAttachment.Free; end; end; procedure TfrmOrderDYInPut.JGFactoryName2BtnUpClick(Sender: TObject); begin // try // frmZdyAttachGYS := TfrmZdyAttachGYS.Create(Application); // with frmZdyAttachGYS do // begin // if self.canshu1 <> '高权限' then // canshu1 := '业务员'; // FZSD := '1'; // if ShowModal = 1 then // begin // JGFactoryName2.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString) + ' ' + Trim(CDS_HZ.fieldbyname('Linkman').AsString) + ' ' + Trim(CDS_HZ.fieldbyname('MobileNo').AsString); // JGFactoryName2.TxtCode := Trim(CDS_HZ.fieldbyname('ZDYCode').AsString); // end; // end; // finally // frmZdyAttachGYS.Free; // end; end; procedure TfrmOrderDYInPut.Tv1Column17PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('HXFileF').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'HX'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('HXFileF').Value := trim(fkeyNo); end; free; end; end; procedure TfrmOrderDYInPut.Tv1Column19PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('HXFileS').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'HX'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('HXFileS').Value := trim(fkeyNo); end; free; end; end; procedure TfrmOrderDYInPut.Tv1Column20PropertiesButtonClick( Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('HXFileH').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'HX'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('HXFileH').Value := trim(fkeyNo); end; free; end; end; end.