⭐ 欢迎来到虫虫下载站! | 📦 资源下载 📁 资源专辑 ℹ️ 关于我们
⭐ 虫虫下载站

📄 unit_planchang.pas

📁 用友ERP功能扩展
💻 PAS
字号:
unit Unit_PlanChang;

interface

uses
  Windows, Messages, SysUtils, Variants, Classes, Graphics, Controls, Forms,
  Dialogs, cxGraphics, StdCtrls, Buttons, cxMemo, cxTextEdit, cxGroupBox,
  cxDropDownEdit, cxCalendar, cxLabel, cxMaskEdit, cxLookupEdit,
  cxDBLookupEdit, cxDBLookupComboBox, cxRadioGroup, cxControls,
  cxContainer, cxEdit, ComCtrls,DB;

type
  TForm_PlanChang = class(TForm)
    PC_ProductAppend: TPageControl;
    TS_PlanAttribute: TTabSheet;
    RG_PlanType: TcxRadioGroup;
    RB_PlanTypeRetrun: TcxRadioButton;
    RB_PlanTypeNewAdd: TcxRadioButton;
    RB_PlanTypeOldSale: TcxRadioButton;
    RB_PlantypeNewSale: TcxRadioButton;
    cxRadioGroup1: TcxRadioGroup;
    LCB_ProductCode: TcxLookupComboBox;
    Label_ProductName: TcxLabel;
    cxRadioGroup3: TcxRadioGroup;
    DE_PlanDate: TcxDateEdit;
    DE_EndDate: TcxDateEdit;
    cxRadioGroup4: TcxRadioGroup;
    cxLabel1: TcxLabel;
    cxLabel2: TcxLabel;
    GB_Cust: TcxGroupBox;
    RB_AllCustomer: TcxRadioButton;
    RB_SaleBadCust: TcxRadioButton;
    RB_DefineCust: TcxRadioButton;
    TE_CustNumber: TcxTextEdit;
    GB_OldSalePrice: TcxGroupBox;
    TE_OldSalePrice: TcxTextEdit;
    Memo_Plan: TcxMemo;
    Bt_Ok: TBitBtn;
    BitBtn2: TBitBtn;
    procedure BitBtn2Click(Sender: TObject);
    procedure RB_PlantypeNewSaleClick(Sender: TObject);
    procedure RB_PlanTypeRetrunClick(Sender: TObject);
    procedure RB_PlanTypeOldSaleClick(Sender: TObject);
    procedure RB_PlanTypeNewAddClick(Sender: TObject);
    procedure LCB_ProductCodePropertiesChange(Sender: TObject);
    procedure RB_DefineCustClick(Sender: TObject);
    procedure RB_AllCustomerClick(Sender: TObject);
    procedure FormShow(Sender: TObject);
    procedure Bt_OkClick(Sender: TObject);
  private
    { Private declarations }
  public
    { Public declarations }
  end;

var
  Form_PlanChang: TForm_PlanChang;
  iType: Integer;
  sType,sPBName: String;
implementation
uses  Unit_Data;

{$R *.dfm}

procedure TForm_PlanChang.BitBtn2Click(Sender: TObject);
begin
    Close;
end;

procedure TForm_PlanChang.RB_PlantypeNewSaleClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanChang.RB_PlanTypeRetrunClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanChang.RB_PlanTypeOldSaleClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanChang.RB_PlanTypeNewAddClick(Sender: TObject);
begin
    IF RB_PlanTypeOldSale.Checked = True Then
    Begin
        GB_OldSalePrice.Enabled := True;
        TE_OldSalePrice.Enabled := True;
    end Else Begin
        GB_OldSalePrice.Enabled := False;
        TE_OldSalePrice.Enabled := False;
    End;

end;

procedure TForm_PlanChang.LCB_ProductCodePropertiesChange(Sender: TObject);
begin
    IF LCB_ProductCode.Text <> '' Then
    Begin
    Label_ProductName.Caption := Form_Data.Table__Inventory.Lookup('cInvCode',LCB_ProductCode.Text,'cInvName');
    Bt_Ok.Enabled := True ;
    end;

end;

procedure TForm_PlanChang.RB_DefineCustClick(Sender: TObject);
begin
    IF RB_DeFineCust.Checked = True  Then
    TE_CustNumber.Enabled := True
    Else TE_CustNumber.Enabled := False;


end;

procedure TForm_PlanChang.RB_AllCustomerClick(Sender: TObject);
begin
    IF RB_AllCustomer.Checked = True  Then
    TE_CustNumber.Enabled := False
    Else TE_CustNumber.Enabled := True;


end;

procedure TForm_PlanChang.FormShow(Sender: TObject);
begin

    sPBName:= Form_Data.SQL_Plan.FieldByName('计划单号').asString;
    sType := Form_Data.SQL_Plan.FieldByName('计划类别').asString;
    IF sType = '新款首铺' Then RB_PlanTypeNewSale.Checked := True
    Else IF sType = '商品调回' Then RB_PlanTypeRetrun.Checked  := True
    Else IF sType = '滞销重铺' Then RB_PlanTypeOldSale.Checked := True
    Else IF sType = '新款加铺' Then  RB_PlanTypeNewAdd.Checked := True
    Else begin
        Showmessage('不明计划类别!请确认');
        Exit;
    end;

    LCB_ProductCode.Text      := Form_Data.SQL_Plan.FieldByName('商品代码').asString;
    Label_ProductName.Caption := Form_Data.SQL_Plan.FieldByName('商品名称').asString;
    TE_CustNumber.Text        := Form_Data.SQL_Plan.FieldByName('客户数').asString;
    DE_PlanDate.Date          := Form_Data.SQL_Plan.FieldByName('计划起日').asDatetime;
    DE_EndDate.Date           := Form_Data.SQL_Plan.FieldByName('计划止日').asDatetime;
    Memo_Plan.Text            := Form_Data.SQL_Plan.FieldByName('备注').asString;


end;

procedure TForm_PlanChang.Bt_OkClick(Sender: TObject);
Var
    iType,iCust: Integer;
    bLocate: Boolean;
    Opt: TLocateOptions;
begin

    iCust := 0;
    // 确认客户信息;
    IF (RB_DefineCust.Checked = True AND ((TE_CustNumber.Text ='') OR (STRTOINT(TE_CustNumber.Text) = 0 )))Then
    Begin
        Showmessage('请输入新计划的客户信息!');
        Exit;
    End;

    IF RB_PlanTypeNewSale.Checked = True Then iType := 1
    Else IF RB_PlanTypeRetrun.Checked = True Then iType := 2
    Else IF RB_PlanTypeOldSale.Checked = True Then iType := 3
    Else IF RB_PlanTypeNewAdd.Checked = True Then iType := 4
    Else begin
        Showmessage('不明计划类别!请确认');
        Exit;
    end;

    IF RB_DefineCust.Checked = True Then iCust := StrToInt(TE_CustNumber.Text)
    Else IF RB_AllCustomer.Checked = True Then
    Begin
        Form_Data.SQL.Close;
        Form_Data.SQL.SQL.Clear;
        Form_Data.SQL.SQL.Add('SELECT DISTINCT SaleDealList.cInvCode, Customer.cCusCode, Customer.cCusAbbName');
        Form_Data.SQL.SQL.Add('FROM SaleDealList INNER JOIN Customer ON SaleDealList.cCusCode = Customer.cCusCode');
        Form_Data.SQL.SQL.Add('WHERE cInvCode = '''+ LCB_ProductCode.Text +'''');
        Form_Data.SQL.SQL.Add('ORDER BY SaleDealList.cInvCode');
        Form_Data.SQL.Open;

        iCust := Form_Data.SQL.RecordCount;
    End;

    // 写定位代码,以修改.
    Opt:= [LoPartialKey];
    bLocate := Form_Data.Table__Plan.Locate('PBName',sPBName,Opt);

    IF bLocate = True Then
    Begin
        With Form_Data.Table__Plan do
        Begin
            Form_Data.Table__Plan.Edit;
            Form_Data.Table__Plan.FieldValues['PTCode'] := iType;
            Form_Data.Table__Plan.FieldValues['PSDate'] := DE_PlanDate.Date;
            Form_Data.Table__Plan.FieldValues['PEDate'] := DE_EndDate.Date;
            Form_Data.Table__Plan.FieldValues['PBProd'] := LCB_ProductCode.Text;
            Form_Data.Table__Plan.FieldValues['PBCust'] := iCust;
            Form_Data.Table__Plan.FieldValues['PBMemo'] := Memo_Plan.Text;
            Form_Data.Table__Plan.FieldValues['PMaker'] := UserName;
            Form_Data.Table__Plan.Post;
        End;
        Close;
    End Else
    Begin
        Showmessage('无法定位要修改的计划,请再确认!');
        Exit;
    end;

    Form_Data.SQL_Plan.Active := False ;
    Form_Data.SQL_Plan.Active := True ;

    Form_Data.SQL_Plan.Locate('计划单号',sPBName,[]);


end;

end.

⌨️ 快捷键说明

复制代码 Ctrl + C
搜索代码 Ctrl + F
全屏模式 F11
切换主题 Ctrl + Shift + D
显示快捷键 ?
增大字号 Ctrl + =
减小字号 Ctrl + -