📄 unit_ordercheck.~pas
字号:
unit Unit_OrderCheck;
interface
uses
Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
Dialogs, dxExEdtr, StdCtrls, Buttons, dxDBGrid, dxTL, dxDBCtrl, dxCntner,
cxLabel, cxDBLabel, cxControls, cxContainer, cxEdit, cxGroupBox,
cxRadioGroup, ComCtrls, Menus, dxDBTLCl, dxGrClms,DB;
type
TForm_OrderCheck = class(TForm)
Bt_Ok: TBitBtn;
Bt_Cancel: TBitBtn;
PC_ReturnCheck: TPageControl;
TS_PlanAttribute: TTabSheet;
RG_Plan: TcxRadioGroup;
RG_WeiSRD: TcxRadioGroup;
Label_CustName: TcxLabel;
DBLabel_ProductType: TcxDBLabel;
DBLabel_PEDate: TcxDBLabel;
Label_PlanDate: TcxLabel;
DBGrid_WeiSDJ: TdxDBGrid;
DBGrid_WeiSDJColumn5: TdxDBGridColumn;
DBGrid_WeiSDJColumn1: TdxDBGridColumn;
DBGrid_WeiSDJID: TdxDBGridMaskColumn;
DBGrid_WeiSDJcCusCode: TdxDBGridColumn;
DBGrid_WeiSDJColumn4: TdxDBGridColumn;
DBGrid_WeiSDJColumn6: TdxDBGridColumn;
DBGrid_WeiSDJs: TdxDBGrid;
DBGrid_WeiSDJsSaleState: TdxDBGridCheckColumn;
DBGrid_WeiSDJsAutoID: TdxDBGridMaskColumn;
DBGrid_WeiSDJsID: TdxDBGridMaskColumn;
DBGrid_WeiSDJscInvCode: TdxDBGridColumn;
DBGrid_WeiSDJscInvName: TdxDBGridColumn;
DBGrid_WeiSDJsiQuantity: TdxDBGridMaskColumn;
DBGrid_WeiSDJsiUnitPrice: TdxDBGridMaskColumn;
DBGrid_WeiSDJsiMoney: TdxDBGridCurrencyColumn;
DBGrid_WeiSDJsState: TdxDBGridMaskColumn;
DBGrid_WeiSDJsiInvSCost: TdxDBGridMaskColumn;
DBGrid_WeiSDJsiInvSPrice: TdxDBGridMaskColumn;
cxDBLabel1: TcxDBLabel;
cxDBLabel2: TcxDBLabel;
RB_WeiSRDs: TcxRadioGroup;
cxLabel1: TcxLabel;
cxLabel2: TcxLabel;
cxLabel3: TcxLabel;
cxLabel4: TcxLabel;
cxDBLabel3: TcxDBLabel;
cxDBLabel4: TcxDBLabel;
cxDBLabel5: TcxDBLabel;
cxDBLabel6: TcxDBLabel;
cxDBLabel7: TcxDBLabel;
PopupMenu_Order: TPopupMenu;
N1: TMenuItem;
PopupMenu_WeisDJs: TPopupMenu;
N2: TMenuItem;
N3: TMenuItem;
procedure DBGrid_WeiSDJsCustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused,
ANewItemRow: Boolean; var AText: String; var AColor: TColor;
AFont: TFont; var AAlignment: TAlignment; var ADone: Boolean);
procedure N1Click(Sender: TObject);
procedure N2Click(Sender: TObject);
procedure PopupMenu_WeisDJsPopup(Sender: TObject);
procedure Bt_OkClick(Sender: TObject);
procedure Bt_CancelClick(Sender: TObject);
private
{ Private declarations }
public
{ Public declarations }
end;
var
Form_OrderCheck: TForm_OrderCheck;
ID: Integer;
implementation
uses Unit_Data;
{$R *.dfm}
procedure TForm_OrderCheck.DBGrid_WeiSDJsCustomDrawCell(Sender: TObject;
ACanvas: TCanvas; ARect: TRect; ANode: TdxTreeListNode;
AColumn: TdxTreeListColumn; ASelected, AFocused, ANewItemRow: Boolean;
var AText: String; var AColor: TColor; AFont: TFont;
var AAlignment: TAlignment; var ADone: Boolean);
begin
IF Form_Data.Table__WeiSDJs.FieldValues['iUnitPrice'] = 0 Then
DBGrid_WeiSDJs.Canvas.Font.Color := clRED;
end;
procedure TForm_OrderCheck.N1Click(Sender: TObject);
begin
Form_Data.Table__WeiSDJ.Active := False ;
Form_Data.Table__WeiSDJ.Active := True ;
Form_Data.Table__WeiSDJs.Active := False ;
Form_Data.Table__WeiSDJs.Active := True ;
end;
procedure TForm_OrderCheck.N2Click(Sender: TObject);
Var
sCusCode,sInvCode,sCusName,sInvName,sCustType,sInvSCost,sPrice,sRate,sDJNo,: String;
bLocate: Boolean;
Opt: TLocateOptions;
begin
IF Form_Data.Table__WeiSDJ.FieldByName('价格类别').AsString ='' Then sCustType := ''
Else sCustType := Form_Data.Table__WeiSDJ.FieldValues['价格类别'];
ID:=Form_Data.Table__WeiSDJs.FieldValues['AutoID'];
IF (sCustType = '外省客户') AND (Form_Data.Table__WeiSDJs.FieldValues['外省价'] <> 0) Then
sPrice := Form_Data.Table__WeiSDJs.FieldValues['外省价']
Else IF (sCustType = '弄怀客户') AND (Form_Data.Table__WeiSDJs.FieldValues['弄怀价'] <> 0) Then
sPrice := Form_Data.Table__WeiSDJs.FieldValues['弄怀价']
Else
sPrice := Form_Data.Table__WeiSDJs.FieldValues['iInvSCost'];
sRate := floattostr(Round(strtofloat(sPrice)*100/Form_Data.Table__WeiSDJs.FieldValues['iInvSCost']*100)/100);
sInvSCost := Form_Data.Table__WeiSDJs.FieldValues['iInvSCost'];
sDJNo := '订单编号: ' + Form_Data.Table__WeiSDJ.FieldByName('单据编号').AsString+' '+UserName;
Opt:= [LoPartialKey];
sCusCode := Form_Data.Table__WeiSDJ.FieldValues['cCusCode'] ;
sInvCode := Form_Data.Table__WeiSDJs.FieldValues['cInvCode'] ;
sCusName := Form_Data.Table__WeiSDJ.FieldByName('客户名称').AsString;
sInvName := Form_Data.Table__WeiSDJs.FieldByName('cInvName').AsString;
bLocate := Form_Data.Table__SA_CusUprice.Locate('cCusCode;cInvCode',varArrayof([sCusCode,sInvCode]),Opt);
IF MessageDlg('请再确认: '+#13+#13+'你的作业将货品的限制销退功能关闭,详细资料如下: '+#13+'客户: ['+ sCusCode +'] '+ sCusName +#13+'货品: ['+ sInvCode +'] '+ sInvName +#13+#13+#13+'[确定]请单击 OK 按钮,[取消]请单击 Cancel 按钮' ,mtInformation,[mbOK,mbCancel],0) = mrOk Then
Begin
IF bLocate = False Then
Begin
Form_Data.SQL.Close;
Form_Data.SQL.SQL.Clear;
Form_Data.SQL.SQL.Add('INSERT INTO SA_CusUPrice');
Form_Data.SQL.SQL.Add('(cCusCode, cInvCode, iInvSCost, iCusDisRate, iInvNowCost,cMemo)');
Form_Data.SQL.SQL.Add('VALUES ('''+ sCusCode +''','''+ sInvCode +''','+ sInvSCost +','+ sRate +','+ sPrice +','''+ sDJNo +''')');
Form_Data.SQl.ExecSQL;
Form_Data.Table__SA_CusUprice.Close;
Form_Data.Table__SA_CusUprice.Open;
With Form_Data.Table__WeiSDJs do
Begin
Form_Data.Table__WeiSDJs.Edit;
Form_Data.Table__WeiSDJs.FieldValues['iUnitPrice'] := sPrice;
Form_Data.Table__WeiSDJs.FieldValues['iMoney'] := Form_Data.Table__WeiSDJs.FieldValues['iUnitPrice']* Form_Data.Table__WeiSDJs.FieldValues['iQuantity'];
Form_Data.Table__WeiSDJs.Post;
end;
End Else Begin
Showmessage('客户报价资料库已有指定价,但已失效状态,如需修改请咨询采销部经理! ')
end;
Form_Data.Table__WeiSDJs.Active := False ;
Form_Data.Table__WeiSDJs.Active := True ;
Form_Data.Table__WeiSDJs.Locate('AutoID',ID,[]);
End Else Exit;
end;
procedure TForm_OrderCheck.PopupMenu_WeisDJsPopup(Sender: TObject);
begin
IF Form_Data.Table__WeiSDJs.FieldValues['iUnitPrice'] = 0 Then
Begin
N2.Visible := True;
N3.Visible := False;
End Else
Begin
N3.Visible := True;
N2.Visible := False;
End;
end;
procedure TForm_OrderCheck.Bt_OkClick(Sender: TObject);
begin
Form_Data.SQL.Close;
Form_Data.SQL.SQL.Clear;
Form_Data.SQL.SQL.Add('UPDATE SO_SODetails ');
Form_Data.SQL.SQL.Add('SET iQuotedPrice = iUnitPrice, ');
Form_Data.SQL.SQL.Add('iTaxUnitPrice = iUnitPrice, ');
Form_Data.SQL.SQL.Add('iNatUnitPrice = iUnitPrice, ');
Form_Data.SQL.SQL.Add('iSum = iMoney, ');
Form_Data.SQL.SQL.Add('iNatMoney = iMoney, ');
Form_Data.SQL.SQL.Add('iNatSum = iMoney ');
Form_Data.SQL.SQL.Add('Where (iQuotedPrice = 0 ) AND (id = '+ intTOStr(Form_Data.Table__WeiSDJs.FieldByName('ID').AsInteger) +') ');
Form_Data.SQL.ExecSQL;
Form_Data.SQL.Close;
Form_Data.SQL.SQL.Clear;
Form_Data.SQL.SQL.Add('Delete SO_SODetails ');
Form_Data.SQL.SQL.Add('Where (iUnitPrice = 0 ) AND (id = '+ intTOStr(Form_Data.Table__WeiSDJs.FieldByName('ID').AsInteger) +') ');
Form_Data.SQL.ExecSQL;
Form_Data.SQL.Close;
Form_Data.SQL.SQL.Clear;
Form_Data.SQL.SQL.Add('UPDATE SO_SOMain ');
Form_Data.SQL.SQL.Add('Set iStatus = ''1'', cVerifier = ''WG.''+'''+ UserName +'''');
Form_Data.SQL.SQL.Add('Where (id = '+ intTOStr(Form_Data.Table__WeiSDJs.FieldByName('ID').AsInteger) +') ');
Form_Data.SQL.ExecSQL;
Form_Data.Table__WeiSDJ.Active := False ;
Form_Data.Table__WeiSDJs.Active := False ;
Form_Data.Table__WeiSDJ.Active := True ;
Form_Data.Table__WeiSDJs.Active := True ;
end;
procedure TForm_OrderCheck.Bt_CancelClick(Sender: TObject);
begin
Close;
end;
end.
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -