unit U_ConInPutNX; 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, dxSkinsCore, dxSkinBlack, dxSkinBlue, dxSkinBlueprint, dxSkinCaramel, dxSkinCoffee, dxSkinDarkRoom, dxSkinDarkSide, dxSkinDevExpressDarkStyle, dxSkinDevExpressStyle, dxSkinFoggy, dxSkinGlassOceans, dxSkinHighContrast, dxSkiniMaginary, dxSkinLilian, dxSkinLiquidSky, dxSkinLondonLiquidSky, dxSkinMcSkin, dxSkinMetropolis, dxSkinMetropolisDark, dxSkinMoneyTwins, dxSkinOffice2007Black, dxSkinOffice2007Blue, dxSkinOffice2007Green, dxSkinOffice2007Pink, dxSkinOffice2007Silver, dxSkinOffice2010Black, dxSkinOffice2010Blue, dxSkinOffice2010Silver, dxSkinOffice2013DarkGray, dxSkinOffice2013LightGray, dxSkinOffice2013White, dxSkinPumpkin, dxSkinSeven, dxSkinSevenClassic, dxSkinSharp, dxSkinSharpPlus, dxSkinSilver, dxSkinSpringTime, dxSkinStardust, dxSkinSummer2008, dxSkinTheAsphaltWorld, dxSkinsDefaultPainters, dxSkinValentine, dxSkinVS2010, dxSkinWhiteprint, dxSkinXmas2008Blue, dxSkinscxPCPainter; type TfrmConInPutNX = class(TForm) ToolBar1: TToolBar; TBSave: TToolButton; TBClose: TToolButton; ScrollBox1: TScrollBox; Label3: TLabel; OrdDate: TDateTimePicker; Label4: TLabel; DlyDate: TDateTimePicker; Label7: TLabel; ToolBar2: TToolBar; ToolButton1: TToolButton; ToolButton2: TToolButton; cxGrid1: TcxGrid; Tv1: TcxGridDBTableView; cxGrid1Level1: TcxGridLevel; v1PRTColor: TcxGridDBColumn; v1PRTPrice: TcxGridDBColumn; ADOTemp: TADOQuery; ADOCmd: TADOQuery; DataSource1: TDataSource; Order_Sub: TClientDataSet; v1PRTOrderQty: TcxGridDBColumn; Label9: TLabel; Label10: TLabel; ConNo: TEdit; Label14: TLabel; Label20: TLabel; FromPlace: TBtnEditC; BuyName: TBtnEditC; v1XHNo: TcxGridDBColumn; v1OrderUnit: TcxGridDBColumn; Label6: TLabel; Label15: TLabel; Label17: TLabel; Label18: TLabel; SellBankNo: TBtnEditC; SellAddress: TEdit; Label19: TLabel; SellBankName: TEdit; Label21: TLabel; BuyAddress: TEdit; v1Column3: TcxGridDBColumn; Label8: TLabel; SellTel: TEdit; Label23: TLabel; SellFax: TEdit; CDS_Type: TClientDataSet; Label5: TLabel; Label16: TLabel; Label28: TLabel; Label22: TLabel; Label24: TLabel; BuyTel: TEdit; BuyFax: TEdit; Label31: TLabel; Label34: TLabel; BuyConNo: TEdit; Label35: TLabel; Label36: TLabel; BuyBankName: TEdit; v1Column2: TcxGridDBColumn; v1Column4: TcxGridDBColumn; v1Column5: TcxGridDBColumn; v1Column6: TcxGridDBColumn; v1Column7: TcxGridDBColumn; v1Column10: TcxGridDBColumn; v1Column11: TcxGridDBColumn; v1Column12: TcxGridDBColumn; cxGridPopupMenu2: TcxGridPopupMenu; Salesman: TBtnEditC; Label38: TLabel; Label39: TLabel; ZhiLiangNote: TMemo; QtyNote: TBtnEditC; PZFYNote: TMemo; ChuanYangNote: TMemo; YSBiaoZhunNote: TMemo; Payment: TMemo; YiYiNote: TMemo; Note: TMemo; v1Column1: TcxGridDBColumn; BuyBankNo: TEdit; Label1: TLabel; JHNote: TMemo; v1Column8: TcxGridDBColumn; v1Column9: TcxGridDBColumn; Sellname: TBtnEditC; v1Column13: TcxGridDBColumn; Tv1Column1: TcxGridDBColumn; Label2: TLabel; JHQX: TBtnEditC; Label11: TLabel; FKSJ: TBtnEditC; Label12: TLabel; KH: TBtnEditC; Tv1Column2: TcxGridDBColumn; Tv1Column3: 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 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 SellBankNoBtnUpClick(Sender: TObject); procedure SellNameBtnUpClick(Sender: TObject); procedure Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); procedure Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); private fuserName: string; procedure InitData(); function getOrderNo(fconNo: string): string; procedure ZDYHelp(FButn: TcxButtonEdit; LType: string); procedure GetSell(MSellName: string); procedure GetTOP(MSellName: string); function TestData(): Boolean; function SaveData(): Boolean; { Private declarations } public CopyInt: Integer; PState: string; FMainId, FFMainId: string; canshu1, FGSTT: string; fFlileFlag: string; { Public declarations } end; var frmConInPutNX: TfrmConInPutNX; newh: hwnd; implementation uses U_DataLink, U_Fun, U_ZDYHelp, U_ZDYHelpSel, U_CPManageFMSel, U_ZdyAttachment,getpic, U_CPManageselct; {$R *.dfm} function TfrmConInPutNX.getOrderNo(fconNo: string): string; var str1, SJ: string; i: integer; begin str1 := trim(fconNo); with ADOTemp do begin close; sql.Clear; sql.Add('select MainID from SalesContract_Main where ConNo=' + quotedstr(trim(str1))); open; end; if ADOTemp.IsEmpty then //not begin with ADOCmd do begin close; sql.Clear; sql.Add('select RIGHT(YEAR(getdate()) * 10000 + MONTH(getdate()) * 100 + DAY(getdate()), 6) as sj'); // ShowMessage(sql.text); open; end; SJ := trim(ADOCmd.FieldByName('SJ').AsString); for i := 1 to 99 do begin // str1 := trim(fconNo) + rightstr(inttostr(100 + i), 3); str1 := trim(SJ) + rightstr(inttostr(1000 + i), 3); with ADOCmd do begin close; sql.Clear; sql.Add('select MainID from SalesContract_Main where ConNo=' + quotedstr(trim(str1))); open; end; if ADOCmd.IsEmpty then break; end; end; result := str1; end; procedure TfrmConInPutNX.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; SellAddress.Text := trim(ADOTemp.FieldByName('SellAddress').AsString); SellTel.Text := trim(ADOTemp.FieldByName('SellTel').AsString); SellBankNo.Text := trim(ADOTemp.FieldByName('SellBankNo').AsString); SellBankName.Text := trim(ADOTemp.FieldByName('SellBankName').AsString); SellFax.Text := trim(ADOTemp.FieldByName('SellFax').AsString); SellName.Text := trim(MSellName); end; procedure TfrmConInPutNX.GetTOP(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.Filltime desc '); // ShowMessage(sql.text); Open; end; SellAddress.Text := trim(ADOTemp.FieldByName('SellAddress').AsString); SellTel.Text := trim(ADOTemp.FieldByName('SellTel').AsString); SellBankNo.Text := trim(ADOTemp.FieldByName('SellBankNo').AsString); SellBankName.Text := trim(ADOTemp.FieldByName('SellBankName').AsString); SellFax.Text := trim(ADOTemp.FieldByName('SellFax').AsString); SellName.Text := trim(ADOTemp.FieldByName('SellName').AsString); //trim(MSellName); self.BuyName.TxtCode := Trim(ADOTemp.fieldbyname('BuyNo').AsString); self.BuyName.Text := Trim(ADOTemp.fieldbyname('BuyName').AsString); self.BuyAddress.Text := Trim(ADOTemp.fieldbyname('BuyAddress').AsString); self.BuyTel.Text := Trim(ADOTemp.fieldbyname('BuyTel').AsString); self.BuyFax.Text := Trim(ADOTemp.fieldbyname('BuyFax').AsString); self.BuyBankNo.Text := Trim(ADOTemp.fieldbyname('BuyBankNo').AsString); self.BuyBankName.Text := Trim(ADOTemp.fieldbyname('BuyBankName').AsString); self.Salesman.Text := Trim(ADOTemp.fieldbyname('Salesman').AsString); end; function TfrmConInPutNX.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(BuyName.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('SCSName', null, []) then // raise Exception.Create('品名不能为空!'); // if Order_Sub.Locate('SCSName', '', []) 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 TfrmConInPutNX.TBCloseClick(Sender: TObject); begin Close; WriteCxGrid(trim(self.Caption), Tv1, '销售合同管理'); end; procedure TfrmConInPutNX.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 * from SalesContract_Main where MainId=''' + Trim(FMainId) + ''''); Open; // ShowMessage(SQL.text); end; SCSHDataNew(ADOTemp, ScrollBox1, 2); if PState = '新增' then begin OrdDate.DateTime := SGetServerDateTime(ADOTemp); DlyDate.DateTime := OrdDate.DateTime; ConNo.Text := '自动生成'; GetSell(FGSTT); end; if PState = '复制' then begin 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; if (PState = '修改') or (PState = '查看') then begin end else begin GetTOP(SellName.Text); end; end; procedure TfrmConInPutNX.ZDYHelp(FButn: TcxButtonEdit; LType: string); var FType, ZDYName, FText: string; begin end; procedure TfrmConInPutNX.FormShow(Sender: TObject); begin readCxGrid(trim(self.Caption), Tv1, '销售合同管理'); InitData(); end; function TfrmConInPutNX.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 ConNo.Text := getOrderNo(trim(ConNo.Text)); // if GetLSNo(ADOCmd, fconNO, 'NX', '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 := '内销'; 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; 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); 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 TfrmConInPutNX.TBSaveClick(Sender: TObject); begin OrdDate.SetFocus; if TestData() = false then exit; if SaveData() then begin Application.MessageBox('保存成功!', '提示', 0); end; end; procedure TfrmConInPutNX.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 TfrmConInPutNX.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 := 'RMB'; FieldByName('huilv').Value := '1'; Post; end; end; procedure TfrmConInPutNX.ToolButton2Click(Sender: TObject); begin if Order_Sub.IsEmpty then Exit; if Order_Sub.fieldbyname('SubId').AsString = '' then begin Order_Sub.Delete; end else begin with ADOTemp do begin Close; sql.Clear; sql.Add('select * from JYOrder_sub where conSubId=''' + Trim(Order_Sub.fieldbyname('SubId').AsString) + ''''); open; end; if ADOTemp.IsEmpty = false then begin exit; application.MessageBox('该明细已经在生产!', '提示信息'); end; 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 TfrmConInPutNX.BuyNameBtnUpClick(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); // condefstr10.Text := Trim(CDS_HZ.fieldbyname('ZDYNameZ').AsString); // Self.CTMAddress.Text := Trim(CDS_HZ.fieldbyname('DEFNote1').AsString); // Self.CTMTelNo.Text := Trim(CDS_HZ.fieldbyname('DEFstr1').AsString); // Self.CTMFaxNo.Text := Trim(CDS_HZ.fieldbyname('DEFstr3').AsString); // Self.CTMbankNo.Text := Trim(CDS_HZ.fieldbyname('defstr12').AsString); // Self.CTMbankName.Text := Trim(CDS_HZ.fieldbyname('defstr13').AsString); // Self.ShippMent.Text := Trim(CDS_HZ.fieldbyname('DEFNote2').AsString); // Self.Payment.Text := Trim(CDS_HZ.fieldbyname('DEFNote3').AsString); // Self.ConNo.Text := Trim(CDS_HZ.fieldbyname('zdyNameZ').AsString); // end; // end; // finally // frmZdyAttachment.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('ZDYCode').AsString); self.BuyName.Text := Trim(CDS_HZ.fieldbyname('ZDYName').AsString); self.BuyAddress.Text := Trim(CDS_HZ.fieldbyname('DEFNote1').AsString); self.BuyTel.Text := Trim(CDS_HZ.fieldbyname('DEFstr1').AsString); self.BuyFax.Text := Trim(CDS_HZ.fieldbyname('DEFstr3').AsString); self.BuyBankNo.Text := Trim(CDS_HZ.fieldbyname('defstr12').AsString); self.BuyBankName.Text := Trim(CDS_HZ.fieldbyname('defstr13').AsString); self.Salesman.Text := Trim(CDS_HZ.fieldbyname('DEFstr5').AsString); end; end; finally frmZdyAttachment.Free; end; end; procedure TfrmConInPutNX.BuyNameBtnDnClick(Sender: TObject); begin TBtnEditC(Sender).Text := ''; TBtnEditC(Sender).TxtCode := ''; end; procedure TfrmConInPutNX.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 TfrmConInPutNX.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 TfrmConInPutNX.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('PRTCodeName').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 TfrmConInPutNX.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 TfrmConInPutNX.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 TfrmConInPutNX.v1Column10PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); var MCYNo: string; begin frmCPManageselct := TfrmCPManageselct.Create(self); with frmCPManageselct do begin if showmodal = 1 then begin Order_Sub.Edit; MCYNo := CDS_Main.fieldbyname('CYNo').asstring; Order_Sub.fieldbyname('SCSCode').Value := MCYNo; Order_Sub.fieldbyname('SCSName').Value := CDS_Main.fieldbyname('CYName').asstring; Order_Sub.fieldbyname('SCSSpec').Value := CDS_Main.fieldbyname('CYSpec').asstring; Order_Sub.fieldbyname('SCSCF').Value := CDS_Main.fieldbyname('CYCF').asstring; Order_Sub.fieldbyname('SCSColor').Value := CDS_Main.fieldbyname('CYColor').asstring; Order_Sub.fieldbyname('SCSHX').Value := CDS_Main.fieldbyname('CYHX').asstring; Order_Sub.fieldbyname('SCSMF').Value := CDS_Main.fieldbyname('CYMF').asstring; Order_Sub.fieldbyname('SCSKZ').Value := CDS_Main.fieldbyname('CYKZ').asstring; Order_Sub.fieldbyname('SCSNote').Value := CDS_Main.fieldbyname('CYNote').asstring; Order_Sub.Post; end; free; end; with ADOTemp do begin close; sql.Clear; sql.Add('select top 1 SCSEName from SalesContract_Sub where SCSCode=' + quotedstr(trim(MCYNo))); sql.Add(' order by subid desc'); open; Order_Sub.Edit; Order_Sub.fieldbyname('SCSEName').Value := ADOTemp.Fieldbyname('SCSEName').asstring; Order_Sub.Post; end; tv1.Controller.EditingController.ShowEdit(); end; procedure TfrmConInPutNX.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); if ShowModal = 1 then begin TEdit(Sender).Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutNX.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 TfrmConInPutNX.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 TfrmConInPutNX.SellBankNoBtnUpClick(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 := 'SellBankNo'; V1Name.Caption := '银行账户'; V1Note.Caption := '开户行'; fnote := True; if ShowModal = 1 then begin SellBankNo.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); SellBankName.Text := Trim(ClientDataSet1.fieldbyname('Note').AsString); end; end; finally frmZDYHelp.Free; end; end; procedure TfrmConInPutNX.SellNameBtnUpClick(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 := 'SellName'; if ShowModal = 1 then begin SellName.Text := Trim(ClientDataSet1.fieldbyname('ZDYName').AsString); end; end; GetSell(SellName.Text); finally frmZDYHelp.Free; end; end; procedure TfrmConInPutNX.Tv1Column2PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('HXTP').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'HXTP'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('HXTP').Value := trim(fkeyNo); end; free; end; end; procedure TfrmConInPutNX.Tv1Column3PropertiesButtonClick(Sender: TObject; AButtonIndex: Integer); begin FormGetPic := TFormGetPic.create(self); with FormGetPic do begin fFlileFlag := self.fFlileFlag; fkeyNo := Order_Sub.fieldbyname('YSTP').asstring; pat1 := 'FileName'; pic1 := 'FilesOther'; FTFType := 'YSTP'; if showmodal = 1 then begin Order_Sub.edit; Order_Sub.fieldbyname('YSTP').Value := trim(fkeyNo); end; free; end; end; end.