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

📄 pur510_02.pas.svn-base

📁 这是一个功能齐全的,代码完整的ERP企业信息管理系统,现在上传和大家分享
💻 SVN-BASE
📖 第 1 页 / 共 5 页
字号:
    TabSheet1: TTabSheet;
    GroupBox1: TGroupBox;
    lblCust1: TLabel;
    lblAddress1: TLabel;
    lblContact1: TLabel;
    sbCust1: TSpeedButton;
    lblDept1: TLabel;
    lblPhone1: TLabel;
    lblFax1: TLabel;
    lblPosit1: TLabel;
    edtCust1: TEdit;
    edtAddress1: TEdit;
    edtContact1: TEdit;
    edtCustName1: TEdit;
    edtDept1: TEdit;
    edtPhone1: TEdit;
    edtFax1: TEdit;
    edtPosit1: TEdit;
    TabSheet2: TTabSheet;
    GroupBox3: TGroupBox;
    lblItem: TLabel;
    sbItem: TSpeedButton;
    lblMacNo: TLabel;
    sbMacNo: TSpeedButton;
    lblItemClass: TLabel;
    lblModel: TLabel;
    lblMaker: TLabel;
    lblMakerName: TLabel;
    edtItemID: TEdit;
    edtItemName: TEdit;
    edtMacNo: TEdit;
    edtItemClass: TEdit;
    edtModel: TEdit;
    edtMaker: TEdit;
    edtMakerName: TEdit;
    qryOrd153O153_004: TWideStringField;
    Label1: TLabel;
    edtControllerNo: TEdit;
    adsPur510BFInvoice: TFloatField;
    adsPur510BFDiscount: TFloatField;
    adsPur510BFTotalAmt: TFloatField;
    adsPur510BFInAmount: TFloatField;
    adsPur510FInvoice: TFloatField;
    adsPur510FDiscount: TFloatField;
    adsPur510FTotalAmt: TFloatField;
    adsPur510FInAmount: TFloatField;
    procedure FormCreate(Sender: TObject);
    procedure FormClose(Sender: TObject; var Action: TCloseAction);
    procedure ADOQuery1P510A_004GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ADOQuery1P510A_006GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure ADOQuery1P510A_019GetText(Sender: TField; var Text: String;
      DisplayText: Boolean);
    procedure sbPersonClick(Sender: TObject);
    procedure edtPersonExit(Sender: TObject);
    procedure wwDBGrid1Enter(Sender: TObject);
    procedure wwDBGrid1Exit(Sender: TObject);
    procedure sbCustClick(Sender: TObject);
    procedure edtCustExit(Sender: TObject);
    procedure sbPlaceClick(Sender: TObject);
    procedure edtPlaceExit(Sender: TObject);
    procedure memTermDblClick(Sender: TObject);
    procedure wwDBGrid1UpdateFooter(Sender: TObject);
    procedure wwDBGrid2ColExit(Sender: TObject);
    procedure wwDBGrid2UpdateFooter(Sender: TObject);
    procedure adsPur510BBeforePost(DataSet: TDataSet);
    procedure adsPur510BNewRecord(DataSet: TDataSet);
    procedure adsPur510BeforePost(DataSet: TDataSet);
    procedure adsPur510NewRecord(DataSet: TDataSet);
    procedure edtItemCustomDlg(Sender: TObject);
    procedure edtChargeCustomDlg(Sender: TObject);
    procedure mmiAddClick(Sender: TObject);
    procedure mmiEditClick(Sender: TObject);
    procedure mmiDelClick(Sender: TObject);
    procedure pmPur510BPopup(Sender: TObject);
    procedure edtUnitCustomDlg(Sender: TObject);
    procedure cbCurrChange(Sender: TObject);
    procedure adsPur510BAfterScroll(DataSet: TDataSet);
    procedure adsPur510AfterScroll(DataSet: TDataSet);
    procedure ActPrintExecute(Sender: TObject);
    procedure edtItemEnter(Sender: TObject);
    procedure wwDBGrid1ColExit(Sender: TObject);
    procedure Action1Execute(Sender: TObject);
    procedure Action2Execute(Sender: TObject);
    procedure Action3Execute(Sender: TObject);
    procedure sbPlaceContactClick(Sender: TObject);
    procedure edtPlaceContactExit(Sender: TObject);
    procedure sbItemClick(Sender: TObject);
    procedure sbMacNoClick(Sender: TObject);
    procedure sbCust1Click(Sender: TObject);
  private
    ALastNo:Integer;
    AOldCustNo:Integer;
    AOldItem,AOldCharge,AOldUnit:String;
    AOldQty:Double;
    AKeyEvent:TKeyEvent;
    ASumAmount:Double;
    ABusy:Boolean;
    AStatus:array[0..5] of string;
    APick:array[0..4] of string;
    AFrom:array[0..3] of string;
    procedure GetDetailData;
    procedure GetCustPlaceInfo;
    procedure GetCustPlaceInfo1;
    procedure ChangePrice;
    procedure CheckItem;
    procedure CheckUnit;
    procedure CheckQty;
    procedure CheckCharge;
    procedure CheckAmount;
    procedure CalcNetAmount;
    procedure SetDBGrid;
    procedure SetAmount;
    procedure SetPrice;
    procedure SetDisAmt;
    procedure SetDisRate;
    function GetTotalAmt(Amount:Double):Double;
    { Private declarations }
  public
    procedure OpenData(ACode:String);
    procedure SetInterface; override;
    procedure GetDataInfo; override;
    procedure InsertEvent; override;
    procedure UpdateEvent; override;
    procedure DeleteEvent; override;
    procedure SetEmptyInit; override;
    procedure TableBeforePost; override;
    procedure TableAfterPost; override;
    procedure ReportGetValue(const ParName: String; var ParValue: Variant); override;
    { Public declarations }
  end;

var
  Pur510_02Form: TPur510_02Form;

implementation

uses SYSDATA, CommFun, HwSelData, PurComm, HwSelDataA, InvComm;

{$R *.dfm}

//计算应开发票金额
//每行记录应开发票金额=(定单折扣额/定单行应收额总计)*每行记录的应收帐款额
function TPur510_02Form.GetTotalAmt(Amount:Double):Double;
var
  ARate:Double;
begin
  Result:=Amount;
  if StrToFloatA(edtAmount.Text)=0 then Exit;
  ARate:=StrToFloatA(edtDiscount.Text)/StrToFloatA(edtAmount.Text);
  Result:=Amount-Amount*ARate;
end;

procedure TPur510_02Form.OpenData(ACode:String);
begin
  if ACode='' then AMode:='ADD' else AMode:='UPD';
  ADOQuery1.DisableControls;
  ADOQuery1.Close;
  ADOQuery1.SQL.Clear;
  ADOQuery1.SQL.Add('select A.*,');
  ADOQuery1.SQL.Add('    B.P100_002,');
  ADOQuery1.SQL.Add('    C.O150_002,C.O150_003,C.O150_005,C.O150_006,C.O150_012,');
  ADOQuery1.SQL.Add('    D.G100_002,D.G100_003,');
  ADOQuery1.SQL.Add('    E.G110_002');
  ADOQuery1.SQL.Add('from PUR510A A,PUR100 B,ORD150 C,GLD100 D,GLD110 E');
  ADOQuery1.SQL.Add('where A.P510A_002=B.P100_001 and A.P510A_017=C.O150_001 and A.P510A_007=D.G100_001 and A.P510A_009=E.G110_001');
  ADOQuery1.SQL.Add('order by A.P510A_022 asc');
  ADOQuery1.Open;
  ADOQuery1.Locate('P510A_001',ACode,[]);
  ADOQuery1.EnableControls;
  ADOQuery1AfterScroll(ADOQuery1);
end;

procedure TPur510_02Form.SetDBGrid;
var
  I:Integer;
begin
  for I:=0 to wwDBGrid1.Selected.Count-1 do wwDBGrid1.Columns[I].ReadOnly:=True;

  wwDBGrid1.ColumnByName('FItemID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FUnitID').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FQty').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FTax').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FTaxAmt').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FDate').ReadOnly:=False;
  wwDBGrid1.ColumnByName('FRemark').ReadOnly:=False;

  //允许手工修改采购定单中的产品的价格
  wwDBGrid1.ColumnByName('FPrice').ReadOnly:=GetSysParams('PUR0001')<>'Y';
  wwDBGrid1.ColumnByName('FAmount').ReadOnly:=GetSysParams('PUR0001')<>'Y';
  //允许手工修改采购定单中的产品折扣金额
  wwDBGrid1.ColumnByName('FDisRate').ReadOnly:=GetSysParams('PUR0002')<>'Y';
  wwDBGrid1.ColumnByName('FDisAmt').ReadOnly:=GetSysParams('PUR0002')<>'Y';
  //允许同一张采购定单中选择多个交货地址
  tsPlace.TabVisible:=GetSysParams('PUR0003')='N';
  adsPur510BFPlace.Visible:=not tsPlace.TabVisible;
  wwDBGrid1.Refresh;
end;

procedure TPur510_02Form.SetInterface;
begin
  inherited;
  Caption:=GetDBString('PUR51002001');  //采购定单维护
  gbInfo.Caption:=GetDBString('PUR51002002');  //基本信息
  tsCust.Caption:=GetDBString('PUR51002003');  //厂商信息
  tsPlace.Caption:=GetDBString('PUR51002004');  //交货地址
  tsTerm.Caption:=GetDBString('PUR51002005');  //条款信息
  tsRemark.Caption:=GetDBString('PUR51002006');  //备注信息
  tsItem.Caption:=GetDBString('PUR51002007');  //产品信息
  tsCharge.Caption:=GetDBString('PUR51002008');  //特殊费用

  lblCode.Caption:=GetDBString('PUR51002009');  //采购单号
  lblType.Caption:=GetDBString('PUR51002010');  //采购类型
  lblDate.Caption:=GetDBString('PUR51002011');  //采购日期
  lblStatues.Caption:=GetDBString('PUR51002012');  //定单状态
  lblPerson.Caption:=GetDBString('PUR51002013');  //采购人员
  lblPick.Caption:=GetDBString('PUR51002014');  //提货方式
  lblCurr.Caption:=GetDBString('PUR51002015');  //币别名称
  lblRate.Caption:=GetDBString('PUR51002016');  //币别汇率
  lblPayment.Caption:=GetDBString('PUR51002017');  //付款方式
  lblFrom.Caption:=GetDBString('PUR51002018');  //来源类型
  lblAmount.Caption:=GetDBString('PUR51002020');  //金额总计
  lblDisRate.Caption:=GetDBString('PUR51002021');  //折扣比率
  lblDiscount.Caption:=GetDBString('PUR51002022');  //折扣金额
  lblCharge.Caption:=GetDBString('PUR51002023');  //特殊费用
  lblNetAmt.Caption:=GetDBString('PUR51002024');  //应付金额

  lblCust.Caption:=GetDBString('PUR51002025');  //厂商编号
  lblPhone.Caption:=GetDBString('PUR51002026');  //电话号码
  lblAddress.Caption:=GetDBString('PUR51002027');  //客户地址
  lblFax.Caption:=GetDBString('PUR51002028');  //传真号码
  lblContact.Caption:=GetDBString('PUR51002029');  //联系人员
  lblDept.Caption:=GetDBString('PUR51002030');  //部门名称
  lblPosit.Caption:=GetDBString('PUR51002031');  //职务名称

  lblPlace.Caption:=GetDBString('PUR51002032');  //交货地点
  lblRegion.Caption:=GetDBString('PUR51002033');  //所属地区
  lblPlacePhone.Caption:=GetDBString('PUR51002034');  //电话号码
  lblPlaceAddress.Caption:=GetDBString('PUR51002035');  //交货地址
  lblPlaceFax.Caption:=GetDBString('PUR51002036');  //传真号码
  lblPlaceContact.Caption:=GetDBString('PUR51002037');  //联系人员
  lblPlaceDept.Caption:=GetDBString('PUR51002038');  //部门名称
  lblPlacePosit.Caption:=GetDBString('PUR51002039');  //职务名称

  ADOQuery1P510A_001.DisplayLabel:=GetDBString('PUR51002040');  //采购单号
  ADOQuery1P100_002.DisplayLabel:=GetDBString('PUR51002041');  //采购类型
  ADOQuery1P510A_003.DisplayLabel:=GetDBString('PUR51002042');  //采购日期
  ADOQuery1P510A_004.DisplayLabel:=GetDBString('PUR51002043');  //定单状态
  ADOQuery1H150_002.DisplayLabel:=GetDBString('PUR51002044');  //采购员号
  ADOQuery1H150_003.DisplayLabel:=GetDBString('PUR51002045');  //采购员名
  ADOQuery1P510A_006.DisplayLabel:=GetDBString('PUR51002046');  //来源类型
  ADOQuery1G100_002.DisplayLabel:=GetDBString('PUR51002047');  //币别编号
  ADOQuery1G100_003.DisplayLabel:=GetDBString('PUR51002048');  //币别名称
  ADOQuery1P510A_008.DisplayLabel:=GetDBString('PUR51002049');  //币别汇率
  ADOQuery1G110_002.DisplayLabel:=GetDBString('PUR51002050');  //付款方式
  ADOQuery1P510A_010.DisplayLabel:=GetDBString('PUR51002051');  //审核日期
  ADOQuery1P510A_011.DisplayLabel:=GetDBString('PUR51002052');  //审核人员
  ADOQuery1P510A_012.DisplayLabel:=GetDBString('PUR51002053');  //金额总计
  ADOQuery1P510A_013.DisplayLabel:=GetDBString('PUR51002054');  //折扣比率
  ADOQuery1P510A_014.DisplayLabel:=GetDBString('PUR51002055');  //折扣金额
  ADOQuery1P510A_015.DisplayLabel:=GetDBString('PUR51002056');  //特殊费用
  ADOQuery1P510A_016.DisplayLabel:=GetDBString('PUR51002057');  //应付金额
  ADOQuery1O150_002.DisplayLabel:=GetDBString('PUR51002058');  //厂商编号
  ADOQuery1O150_003.DisplayLabel:=GetDBString('PUR51002059');  //厂商名称
  ADOQuery1O150_005.DisplayLabel:=GetDBString('PUR51002060');  //电话号码
  ADOQuery1O150_006.DisplayLabel:=GetDBString('PUR51002061');  //传真号码
  ADOQuery1O150_012.DisplayLabel:=GetDBString('PUR51002062');  //厂商址址
  ADOQuery1P510A_018.DisplayLabel:=GetDBString('PUR51002063');  //交货地址
  ADOQuery1P510A_019.DisplayLabel:=GetDBString('PUR51002064');  //提货方式
  ADOQuery1P510A_020.DisplayLabel:=GetDBString('PUR51002065');  //采购条款
  ADOQuery1P510A_021.DisplayLabel:=GetDBString('PUR51002066');  //备注说明
  ADOQuery1P510A_022.DisplayLabel:=GetDBString('PUR51002067');  //制单日期
  ADOQuery1P510A_023.DisplayLabel:=GetDBString('PUR51002068');  //制单人员
  ADOQuery1P510A_024.DisplayLabel:=GetDBString('PUR51002069');  //修改日期
  ADOQuery1P510A_025.DisplayLabel:=GetDBString('PUR51002070');  //修改人员

  adsPur510B.Close;
  adsPur510B.CreateDataSet;
  adsPur510.Close;
  adsPur510.CreateDataSet;
  SetDBGrid;

  wwDBGrid1.ColumnByName('FItemID').DisplayLabel:=GetDBString('PUR51002071');  //产品编号
  wwDBGrid1.ColumnByName('FItemName').DisplayLabel:=GetDBString('PUR51002072');  //产品名称
  wwDBGrid1.ColumnByName('FEngItemName').DisplayLabel:=GetDBString('PUR51002140');  //英文名称
  wwDBGrid1.ColumnByName('FItemSpec').DisplayLabel:=GetDBString('PUR51002073');  //规格型号
  wwDBGrid1.ColumnByName('FUnitID').DisplayLabel:=GetDBString('PUR51002074');  //单位编号
  wwDBGrid1.ColumnByName('FUnitName').DisplayLabel:=GetDBString('PUR51002075');  //单位名称
  wwDBGrid1.ColumnByName('FQty').DisplayLabel:=GetDBString('PUR51002076');  //采购数量
  wwDBGrid1.ColumnByName('FPrice').DisplayLabel:=GetDBString('PUR51002077');  //采购单价
  wwDBGrid1.ColumnByName('FAmount').DisplayLabel:=GetDBString('PUR51002078');  //采购金额
  wwDBGrid1.ColumnByName('FDisRate').DisplayLabel:=GetDBString('PUR51002079');  //折扣比率
  wwDBGrid1.ColumnByName('FDisAmt').DisplayLabel:=GetDBString('PUR51002080');  //折扣金额
  wwDBGrid1.ColumnByName('FNetAmt').DisplayLabel:=GetDBString('PUR51002081');  //折后总额
  wwDBGrid1.ColumnByName('FTax').DisplayLabel:=GetDBString('PUR51002082');  //采购税率
  wwDBGrid1.ColumnByName('FTaxAmt').DisplayLabel:=GetDBString('PUR51002083');  //采购税额
  wwDBGrid1.ColumnByName('FAcrAmt').DisplayLabel:=GetDBString('PUR51002084');  //应付金额
  wwDBGrid1.ColumnByName('FDate').DisplayLabel:=GetDBString('PUR51002085');  //需求日期
  wwDBGrid1.ColumnByName('FFactDate').DisplayLabel:=GetDBString('PUR51002086');  //实际日期
  wwDBGrid1.ColumnByName('FReceQty').DisplayLabel:=GetDBString('PUR51002087');  //收货数量
  wwDBGrid1.ColumnByName('FPlace').DisplayLabel:=GetDBString('PUR51002088');  //交货地址

⌨️ 快捷键说明

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